ドロップアウト

学習中は毎ステップ違うニューロンをランダムに「落として」生き残った経路だけで計算し、推論時は全員を使ってスケール補正する ŷ_test = (1−p)·全結合

0.50
1.0×
隠れ層の生存ユニット
この経路の信号到達率
スケール係数
状態
出力の期待スケール(補正のしくみ)
学習時:1ステップの出力 推論時:補正後
ネットワーク図:グレーのユニットは今ドロップ中(生きた経路だけ順伝播)
生きているユニット ドロップ中 入力/出力(落とさない)
ドロップアウトは過学習を防ぐ手法のひとつですが、正則化のような損失へのペナルティ項ではなく、順伝播そのものを毎回ランダムに間引くのが特徴です。
学習の各ステップで、隠れ層の各ニューロンを確率 p で一時的に 0 にします(マスク)。毎回ちがう小さなネットワークが学習されるので、特定のニューロンに頼り切る「共適応」が起きにくく、汎化しやすくなります。
ただし落とすと出力の合計が平均で (1−p) 倍に縮むため、推論時はすべてのニューロンを使いつつ重みを (1−p) 倍してスケールを合わせます(または学習時に 1/(1−p) 倍する「逆ドロップアウト」)。p を上げ過ぎると生き残る経路が足りず、学習が壊れます。

いま何が起きている?

ここがポイント