1 基本原理

1.1 ドロップアウトの概念

ドロップアウト正則化は、深層ニューラルネットワークの学習時に隠れ層の一部のニューロンをランダムに無効化する手法である。これにより、ネットワークが特定の特徴やニューロンに過度に依存することを防ぎ、過学習を抑制する。2012年にジェフリー・ヒントンらによって提案され、その後広く普及した。

1.2 ニューロンの無効化メカニズム

1.2.1 学習時の確率的無効化

学習の各ステップにおいて、各ニューロンはあらかじめ設定された確率p(通常0.2〜0.5)で独立にドロップアウトされる。ドロップアウトされたニューロンの出力は一時的に0に設定され、そのエポックでは重み更新に関与しない。ミニバッチごとに異なるニューロンが無効化されるため、ネットワークは多様な部分構造を学習することになる。

1.2.2 推論時のスケーリング

推論時には全てのニューロンを使用するが、学習時にドロップアウトされた分の出力の期待値を一致させるため、各ニューロンの出力に確率pを乗じる(または学習時に1/(1-p)でスケールする)。これにより、学習時と推論時の出力分布整合性が保たれる。

2 数理的な背景

2.1 モデルアンサンブルとの関係

ドロップアウトは、ニューロンのサブセットからなる無数のサブネットワークを同時に学習し、推論時にそれらを平均するアンサンブル効果と解釈できる。2^n個(nはニューロン数)の異なるネットワークの重み共有による近似アンサンブルとして機能する。

2.2 正則化効果の理論的説明

2.2.1 特徴の共適応の抑制

ドロップアウトにより、特定のニューロン同士が協調して誤差を補い合う「共適応」が抑制される。各ニューロンは他のニューロンの存在を前提とせず、単独でも意味のある特徴を抽出するよう強制される。

2.2.2 データ拡張との類似性

ニューロンのランダムな欠落は、入力データノイズを加えることと等価であり、データ拡張の一種と見なせる。これにより、訓練データの微小な変動に対する頑健性が向上する。

3 実装とバリエーション

3.1 標準的なドロップアウト

学習時に各ニューロンを確率pで0にし、推論時に出力を(1-p)倍する。ただし、この方法では推論時のスケーリングが必要であり、実装がやや複雑である。

3.2 改良手法

3.2.1 逆ドロップアウト(Inverted Dropout

現在最も一般的な実装。学習時にドロップアウトする代わりに、残ったニューロンの出力を1/(1-p)倍にスケールアップする。推論時にはスケーリング不要で、そのまま全てのニューロンを使用する。これにより、学習と推論のコードが簡潔になる。

3.2.2 空間的ドロップアウト(Spatial Dropout)

畳み込みニューラルネットワーク向けの手法。チャネル全体を単位としてドロップアウトを行い、隣接する画素間の相関を保つ。画像の局所的な特徴マップ全体をランダムに無効化するため、より効果的な正則化が可能となる。

3.2.3 モンテカルロドロップアウト(MC Dropout)

推論時にもドロップアウトを有効にしたまま複数回の順伝播を行い、その結果の平均と分散から予測不確実性推定する手法。ベイズ深層学習の近似として利用される。

4 実践的な応用

4.1 画像認識タスクへの適用

画像分類や物体検出において、過学習を防ぎ汎化性能を向上させる。特に大規模な深層ネットワーク(例:VGG、ResNet)で効果が高く、訓練データが少ない場合でも安定した学習を実現する。

4.2 自然言語処理タスクへの適用

リカレントニューラルネットワークやTransformerモデルにおいても広く利用される。特に言語モデルや機械翻訳では、ドロップアウトが系列データの過学習を抑制する。

4.3 モデル訓練のハイパーパラメータ調整

4.3.1 ドロップアウト確率の設定

確率pは通常0.2〜0.5の範囲で設定される。ユニット数が多い層では高めの確率、少ない層では低めの確率が推奨される。入力層に近い層では低い値(0.1〜0.2)が使われることが多い。

4.3.2 ネットワーク構造との相互作用

ドロップアウトはネットワークの容量が大きいほど効果を発揮する。逆に、既にバッチ正規化などの正則化手法を用いている場合、ドロップアウトの確率を低く調整するか、併用を避ける場合もある。

5 限界と代替手法

5.1 ドロップアウトの欠点

学習時間が増加する(収束に必要なエポック数が増える)。また、訓練時のランダム性により再現性が損なわれる場合がある。さらに、ドロップアウト率の選択が性能に敏感であり、チューニングが必要となる。

5.2 他の正則化手法との比較

5.2.1 L1/L2正則化

L1正則化は重みをスパースにし、L2正則化は重みの大きさを抑制する。ドロップアウトとは異なり、ニューロンの挙動を直接変化させるのではなく、損失関数に罰則項を加える。両者は併用可能。

5.2.2 バッチ正規化

バッチ正規化は各層の入力を正規化することで内部共変量シフトを軽減し、正則化効果も持つ。ドロップアウトと比較して学習の高速化が期待できるが、両者を併用すると効果が打ち消される場合がある。近年ではバッチ正規化がドロップアウトの代わりに使われることも多い。