1行定義
ドロップアウトとは、ニューラルネットワークの学習中に一部のユニットをランダムに無効にして、過学習を抑える正則化の手法のことです。
くわしく
ドロップアウトは、ニューラルネットワークが学習データに合わせすぎる過学習を防ぐための手法です。ヒントンらの研究グループが2012年に提案し、2014年の論文で詳しく報告しました。
しくみ
学習中は、データを入力するたびに、各層のユニットを一定の確率でランダムに選び、その出力を0にします。選ばれたユニットは、その回だけネットワークから取り除かれたのと同じ状態になります。元の論文では、隠れ層のユニットを50%、入力層のユニットを80%の確率で残す設定がよく使われました。
推論(予測)のときは、すべてのユニットを使います。ただし、学習時より働くユニットが多いので、そのままでは出力が大きくなりすぎます。元の方式では、ユニットを残した確率を重みに掛けて、出力の大きさをそろえます。現在の多くの実装では、学習中に残ったユニットの出力を割り増ししておき、推論時には何もしない方式をとります。
なぜ効くのか
ユニットがいつ消えるかわからないので、特定のユニットの組み合わせに頼った学習ができません。各ユニットは、他のユニットがいなくても役に立つ特徴を学ぶようになります。
また、毎回異なる「間引かれたネットワーク」を学習していると見なせます。推論時に全ユニットを使うことは、これら多数のネットワークの予測をおおよそ平均することにあたります。このため、アンサンブル学習に似た効果があると説明されます。
注意点
更新にばらつきが加わるため、学習に時間がかかります。元の論文では、同じ構造のネットワークより2〜3倍かかるのが一般的だと報告されています。無効にする割合は、検証用データの成績を見て決めるハイパーパラメータです。
覚え方
「練習では毎回だれかを休ませ、試合には全員で出る」と覚えます。
G検定での出題
出題のされ方
学習時だけユニットをランダムに無効にし、推論時は全ユニットを使う点、多数のネットワークを平均するアンサンブル学習に近い効果、L2正則化など他の正則化手法との違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| ドロップアウトこのページの用語 | ニューラルネットワークの学習中に一部のユニットをランダムに無効にして、過学習を抑える正則化の手法 |
| L2正則化 | 誤差関数に重みの二乗和を罰則として加え、重みの値が大きくなりすぎないようにする正則化の手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ドロップアウトで無効にするユニットの割合は、誤差逆伝播法によって重みと一緒に更新されるパラメータである。
答えを見る
答え × 誤り
割合は学習を始める前に人が決めるハイパーパラメータです。検証用データの成績を見ながら選びます。
-
ドロップアウトは、不要なユニットを取り除いてモデルを小さくし、推論を速くするための手法である。
答えを見る
答え × 誤り
ユニットを外すのは学習中だけの一時的な操作です。モデルを小さくする手法には、枝刈り(プルーニング)などがあります。
-
ドロップアウトを使うと、使わない場合よりも学習に時間がかかる傾向がある。
答えを見る
答え ◯ 正しい
毎回異なるネットワークを学習するため、更新のばらつきが大きくなります。元の論文では2〜3倍かかるのが一般的だと報告されています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目14 正則化)
- Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov, Dropout: A Simple Way to Prevent Neural Networks from Overfitting, JMLR 15, 1929–1958 (2014)
- Geoffrey E. Hinton et al., Improving neural networks by preventing co-adaptation of feature detectors (2012)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (7.12 Dropout)