ドロップアウト

Dropout

ドロップアウト(Dropout)とは、ニューラルネットワークの学習時に、各層のニューロンをランダムに一定割合で無効化する正則化手法です。2012年にGeoffrey Hintonらによって提案され、深層学習における過学習対策として広く使われています。

ドロップアウトの仕組み

訓練時、各ニューロンは設定された確率(ドロップアウト率、通常0.2〜0.5)でランダムに「ドロップ」されます。ドロップされたニューロンは出力がゼロとなり、順伝播にも逆伝播にも参加しません。推論時(予測時)にはすべてのニューロンが使用されますが、出力にドロップアウト率を掛けてスケーリングします。

なぜ効果があるのか

ドロップアウトにより、ネットワークは特定のニューロンに依存しない冗長な表現を学習するようになります。これはアンサンブル学習の近似とも解釈でき、毎回異なるサブネットワークを学習することで、多数のモデルの平均的な予測を得る効果があります。

適用のポイント

ドロップアウト率はハイパーパラメータとして調整が必要です。一般的に全結合層では0.5、畳み込み層では0.2〜0.3程度が使われます。最近ではバッチ正規化の普及により使用頻度が減っていますが、Transformerなどでは依然として重要な正則化手法です。