Web教科書

ドロップアウト

ドロップアウト(Dropout)

解説:AIへの「スパルタ特訓」

ドロップアウト(Dropout)は、2014年にジェフリー・ヒントン氏らによって提案された、ニューラルネットワークの過学習を防ぐためのテクニックです。

その仕組みは非常にユニークで、学習中に「中間層のニューロンを、ランダムに確率(例えば50%)で『無効化(サボらせる)』」というものです。毎回違うメンバーを強制的に休ませながら学習させることで、特定のニューロンへの依存を防ぎます。

スポーツチームで例えると?
あるサッカーチームに「絶対的エース」が一人いるとします。

  • ドロップアウトなし:全員がエースにパスを集めるようになり、エースが怪我をしたり封じられたりすると、チームは全滅します(=過学習)。
  • ドロップアウトあり:練習のたびにランダムに選手(エース含む)が欠席させられます。残ったメンバーは「誰がいなくても勝てるように」連携を工夫して強くなります。

これにより、チーム全体(ネットワーク全体)が頑健(ロバスト)になり、結果としてアンサンブル学習(複数のモデルを組み合わせる手法)」と同じような効果が得られます。

最重要:学習時とテスト時の違い

ドロップアウトで最も間違えやすいのが、本番(推論・テスト)での扱いです。

フェーズ ニューロンの状態 目的
学習時
(Training)
ランダムに消す
(例:毎回50%が無効になる)
あえて過酷な環境を作り、特定のノードへの依存(共適応)を防ぐため。
テスト時
(Test / Inference)
全員参加(すべて使う)
ただし、出力値の調整を行う。
学習した成果をフルパワーで発揮するため。
※学習時は人数が減っていた分、テスト時は出力が大きくなりすぎるので、値を割り引く(スケーリング)計算をします。

G検定対策

出題ポイント

  • 目的:「過学習の抑制(正則化)」および「アンサンブル学習と同等の効果」を得ること。
  • 場所:主に「中間層(隠れ層)」のユニットに対して適用される。
  • 提唱者:ジェフリー・ヒントン(Hinton)氏らが提唱。

ひっかけ対策

  • × 推論時(テスト時)もランダムに消す
    (解説)誤りです。推論時はすべてのニューロンを使います。フル稼働です。
  • × 重みを完全に削除する
    (解説)誤りです。あくまで「その回の計算で使わない(マスクする)」だけであり、重みデータそのものを消去するわけではありません。
  • × 入力層のデータを消す
    (解説)誤りです。「Denoising Autoencoder」などの特殊な例を除き、基本的には中間層のノードを間引く手法です。
タイトルとURLをコピーしました