ドロップアウト(Dropout)
ドロップアウト(Dropout)とは、ニューラルネットワークの学習時にランダムに一部のノード(ニューロン)を無効化する手法です。
2014年に Geoffrey Hinton らによって提案され、過学習(Overfitting)防止に非常に効果的な正則化(Regularization)の一種として広く使われています。
学習中にランダムでノードを「無効化」するとモデルは特定のノードやパラメータに依存しすぎないようになります。
結果として、ネットワークは冗長性を持った表現を学び、未知のデータに対しても汎化性能(Generalization)が向上します。
ドロップアウトの典型的なパラメータは「ドロップ率(Dropout Rate)」で、例えば0.5 に設定すると学習時に各層のノードが 50% の確率で無効化されます。
推論(テスト)時にはドロップアウトは使わず、全てのノードを利用しますが学習時に減らした分を補正するために出力をスケーリングします。
代表的な利用例は、全結合層(Fully Connected Layer)や畳み込み層(Convolutional Layer)後に挿入する形で、画像認識・自然言語処理など多くのモデルで標準的に採用されています。
ドロップアウト(Dropout)関連用語
ドロップアウト(Dropout)に関連する単語は以下の通りです。
- 過学習(Overfitting)
- 正則化(Regularization)
ドロップアウト(Dropout)やさしい解説
ドロップアウト(Dropout)は「練習中にチームの一部メンバーをわざと休ませる」作戦です。
サッカーで毎回同じ人だけがボールを扱っていたら、その人がいない試合では弱くなってしまいますよね。
そこで、練習中にランダムで何人かを外して試合をするとみんながボールを扱えるようになってチーム全体が強くなります。
AIでも同じで、一部のノードを使えなくして学習させると偏らずに強いモデルになります。
AI関連の用語集【まとめ】
AI関連の用語集が気になる方のために、用語集一覧を作成しました。AIに関する学びを深めたいとお考えの方はぜひご覧ください。
\AIの導入・開発・相談なら【クラベルAI】に相談しよう!/