ドロップアウト(Dropout)は、ニューラルネットワークの学習中に一部のニューロン(ユニット)をランダムに無効化し、過学習を抑える正則化手法です。本記事は実装の確率式ではなく、試験で頻出の定義・学習と推論の違い・他手法とのすり替えに焦点を当てます。
試験で問われる見方
○:ドロップアウトは学習時に一部のユニットをランダムに無効化する正則化(G-168、TF-437)。
×:推論時に全ての入力データを削除して予測する(TF-395)。推論時は通常、全ユニットを使用。
パスポートHQ-0133:「モデルが複雑になりすぎないよう制約を加える」だけの説明は、L1/L2正則化のイメージで、ドロップアウトの説明として不適切(HQ-0133)。
ドロップアウトとは
各学習ステップで、隠れ層のユニットを確率的に「落とす」(出力をゼロにする)ことで、特定のニューロンへの共依存を減らす効果があります。毎回異なる部分ネットワークで学習するイメージで、アンサンブルに近い正則化効果が期待されます。
学習時と推論時
| フェーズ | ドロップアウト |
|---|---|
| 学習(訓練) | 有効。ランダムにユニットを無効化 |
| 推論(テスト) | 通常は無効。全ユニットで予測(スケーリングで補正することも) |
「推論時もドロップアウトする」は試験の典型的な×パターンです。
混同しやすい手法
| 手法 | 要点 | ドロップアウトとの違い |
|---|---|---|
| L1/L2正則化 | 重みにペナルティ | ユニット無効化ではない(HQ-0133のすり替え先) |
| 早期終了 | 検証悪化で学習停止 | エポック制御(G-168の(い)) |
| バッチ正規化 | 中間表現の分布を整える | 正則化とは目的が異なる(G-299) |
よくある質問
ドロップアウト率は?
隠れ層で0.2〜0.5程度がよく使われます。高すぎると未学習に近づきます。試験では具体値より定義が重要です。
Transformerでも使う?
AttentionやFFN層にDropoutを入れる実装が一般的です。概念は同じく学習時の正則化です。
データ拡張とどちらが先?
併用可能です。画像ならデータ拡張、NN全般ではドロップアウトがセットで語られることが多いです。