ドロップアウト(Dropout)
解説:AIへの「スパルタ特訓」
ドロップアウト(Dropout)は、2014年にジェフリー・ヒントン氏らによって提案された、ニューラルネットワークの「過学習」を防ぐためのテクニックです。
その仕組みは非常にユニークで、学習中に「中間層のニューロンを、ランダムに確率(例えば50%)で『無効化(サボらせる)』」というものです。毎回違うメンバーを強制的に休ませながら学習させることで、特定のニューロンへの依存を防ぎます。

スポーツチームで例えると?
あるサッカーチームに「絶対的エース」が一人いるとします。
あるサッカーチームに「絶対的エース」が一人いるとします。
- ドロップアウトなし:全員がエースにパスを集めるようになり、エースが怪我をしたり封じられたりすると、チームは全滅します(=過学習)。
- ドロップアウトあり:練習のたびにランダムに選手(エース含む)が欠席させられます。残ったメンバーは「誰がいなくても勝てるように」連携を工夫して強くなります。
これにより、チーム全体(ネットワーク全体)が頑健(ロバスト)になり、結果として「アンサンブル学習(複数のモデルを組み合わせる手法)」と同じような効果が得られます。
最重要:学習時とテスト時の違い
ドロップアウトで最も間違えやすいのが、本番(推論・テスト)での扱いです。
| フェーズ | ニューロンの状態 | 目的 |
|---|---|---|
| 学習時 (Training) |
ランダムに消す (例:毎回50%が無効になる) |
あえて過酷な環境を作り、特定のノードへの依存(共適応)を防ぐため。 |
| テスト時 (Test / Inference) |
全員参加(すべて使う) ただし、出力値の調整を行う。 |
学習した成果をフルパワーで発揮するため。 ※学習時は人数が減っていた分、テスト時は出力が大きくなりすぎるので、値を割り引く(スケーリング)計算をします。 |
G検定対策
出題ポイント
- 目的:「過学習の抑制(正則化)」および「アンサンブル学習と同等の効果」を得ること。
- 場所:主に「中間層(隠れ層)」のユニットに対して適用される。
- 提唱者:ジェフリー・ヒントン(Hinton)氏らが提唱。
ひっかけ対策
- × 推論時(テスト時)もランダムに消す
(解説)誤りです。推論時はすべてのニューロンを使います。フル稼働です。 - × 重みを完全に削除する
(解説)誤りです。あくまで「その回の計算で使わない(マスクする)」だけであり、重みデータそのものを消去するわけではありません。 - × 入力層のデータを消す
(解説)誤りです。「Denoising Autoencoder」などの特殊な例を除き、基本的には中間層のノードを間引く手法です。
