Dropout
Dropout
Dropout(ドロップアウト)とは
ひとことで
学習のたびにニューラルネットワークの一部のニューロンをランダムに無効化しながら学習する手法。特定のニューロンへの依存を防ぎ、過学習を抑える効果がある。
たとえると
毎回くじ引きで何人かのメンバーを休ませながら練習するチームのようなものです。特定のエースに頼れないので、全員がどの役割でもこなせるようになり、本番に強いチームになります。
現場ではこう使う
不良品検知モデルを作ったチームは、学習データでは高精度なのに、新しい製造ラインのデータでは精度が大きく落ちることに気づきました。全結合層にドロップアウトを入れて学習し直したところ、学習データでの精度はわずかに下がったものの、新しいデータでの精度は改善しました。
試験のポイント
EXAM POINT「学習時にランダムにニューロンを無効化」「過学習の抑制」と出てきたらドロップアウトです。無効化するのは学習時だけで、推論時はすべてのニューロンを使う点が問われます。毎回異なる構造のネットワークを学習させることになるため、複数のモデルを組み合わせるアンサンブル学習に近い効果があると説明されます。
混同しやすい用語との違い
- Regularization損失関数に重みの大きさのペナルティを加えて過学習を抑える。ドロップアウトはネットワークの構造側で対処する
- Batch Normalization各層への入力を正規化して学習を安定させる。ニューロンを無効化はしない
- Data Augmentation学習データを加工してバリエーションを増やす。ドロップアウトはモデル側の工夫