学習中にネットワークの一部をランダムに無効化することで過剰適合を防ぐ正則化手法を学ぶ項目です。ユニットを削除するドロップアウトと、結合(重み)を削除するドロップコネクトの仕組みと違いを理解します。

📖 概要

深層ニューラルネットワークは表現力が高い反面、特定のユニット同士が互いに依存し合った「共適応」を起こし、訓練データだけに通用する複雑な特徴を学習して過剰適合しやすくなります。確率的削除は、学習の各ステップでネットワークの一部をランダムに取り除くことでこの共適応を防ぐ正則化のアプローチです。

代表手法が ドロップアウト で、学習時にユニット(ニューロン)の出力を確率的にゼロにします。毎ステップ異なる部分ネットワークが学習されるため、膨大な数の部分ネットワークを暗黙的に訓練し、推論時にそれらを平均するアンサンブル学習の近似とみなせます。一方 ドロップコネクト は、ユニットではなく重み(結合)を個別に確率的にゼロにする、ドロップアウトの一般化にあたる手法です。

いずれも「学習時にはランダムに削除し、推論時には削除しない」という学習時と推論時の挙動の違いがあり、そのままでは出力のスケールがずれるため、期待値を合わせる補正(スケーリング)が必要になる点が実装上・試験上の重要ポイントです。

🔍 キーワード解説

ドロップアウト

ドロップアウト (Dropout) は、学習時の各ステップで、各ユニットの出力を確率 p で独立にゼロにする(残す確率を 1 - p とする)手法です。削除されたユニットは順伝播にも逆伝播にも寄与しないため、毎ステップ異なる構造の部分ネットワークが訓練されることになります。

効果は主に2つの観点で説明されます。第一に、特定のユニットの存在に依存できなくなるため、ユニット間の共適応が抑えられ、単独でも意味のある頑健な特徴が学習されやすくなります。第二に、共有された重みを持つ多数の部分ネットワークのアンサンブルを近似的に学習していると解釈でき、モデル平均による汎化性能の向上が期待できます。

推論時は全ユニットを使いますが、そのままでは各ユニットへの入力の期待値が学習時より大きくなってしまいます。そこで、推論時に出力を (1 - p) 倍して期待値を揃えるか、あるいは学習時に残ったユニットの出力をあらかじめ 1 / (1 - p) 倍しておき推論時は何もしない「逆ドロップアウト(inverted dropout)」が用いられます。実装では後者が使われることが多いです。

ドロップコネクト

ドロップコネクト (DropConnect) は、ユニットの出力ではなく、重み行列の各要素(結合)を確率的にゼロにする手法です。ユニット単位で削除するドロップアウトでは、あるユニットが落ちるとそのユニットに接続するすべての結合が一括で無効になりますが、ドロップコネクトでは結合1本1本が独立にマスクされます。

たとえば全結合層 y = f(Wx + b) に対して、ドロップアウトは f の出力ベクトルの成分をマスクするのに対し、ドロップコネクトは W の要素ごとにマスク M をかけた (M ⊙ W) x を計算するイメージです(⊙ は要素ごとの積)。結合単位の削除はユニット単位の削除より細かい粒度のランダム化であり、ドロップアウトを特別な場合として含む一般化と位置づけられます。こちらも学習時のみマスクを適用し、推論時には期待値を合わせる近似計算が必要になります。

📝 試験でのポイント

💡 ポイント
  • 「ドロップアウト = ユニット(出力)を削除/ドロップコネクト = 重み(結合)を削除」という削除対象の違いが最頻出の対比です
  • 推論時のスケーリングは計算問題として出やすいポイントです。「推論時に (1 - p) 倍する」方式と「学習時に 1 / (1 - p) 倍しておく(inverted dropout)」方式の両方を理解し、削除率と保持率のどちらが与えられているか問題文をよく確認しましょう
  • ドロップアウトの効果の説明として「共適応の抑制」「アンサンブル学習(モデル平均)の近似」というキーワードが問われます
  • 学習時と推論時で挙動が異なる層である点は、Batch Normalization と共通する性質としてセットで問われることがあります
  • ドロップアウトは正則化手法なので、適用すると訓練誤差はむしろ下がりにくくなる(その代わり汎化ギャップが縮む)という位置づけも整理しておきましょう

📚 まとめ

確率的削除は、学習中にネットワークの一部をランダムに無効化して共適応を防ぐ正則化です。ドロップアウトはユニット出力を確率 p でゼロにし、多数の部分ネットワークのアンサンブル近似として汎化性能を高めます。ドロップコネクトは重み(結合)単位で削除するドロップアウトの一般化です。推論時には期待値を揃えるスケーリング(または学習時の逆スケーリング)が必要という点まで含めて押さえましょう。