ドロップアウトとは

どろっぷあうとdropout

1行定義

ドロップアウトとは、ニューラルネットワークの学習中に一部のユニットをランダムに無効にして、過学習を抑える正則化の手法のことです。

くわしく

ドロップアウトは、ニューラルネットワークが学習データに合わせすぎる過学習を防ぐための手法です。ヒントンらの研究グループが2012年に提案し、2014年の論文で詳しく報告しました。

しくみ

学習中は、データを入力するたびに、各層のユニットを一定の確率でランダムに選び、その出力を0にします。選ばれたユニットは、その回だけネットワークから取り除かれたのと同じ状態になります。元の論文では、隠れ層のユニットを50%、入力層のユニットを80%の確率で残す設定がよく使われました。

推論(予測)のときは、すべてのユニットを使います。ただし、学習時より働くユニットが多いので、そのままでは出力が大きくなりすぎます。元の方式では、ユニットを残した確率を重みに掛けて、出力の大きさをそろえます。現在の多くの実装では、学習中に残ったユニットの出力を割り増ししておき、推論時には何もしない方式をとります。

なぜ効くのか

ユニットがいつ消えるかわからないので、特定のユニットの組み合わせに頼った学習ができません。各ユニットは、他のユニットがいなくても役に立つ特徴を学ぶようになります。

また、毎回異なる「間引かれたネットワーク」を学習していると見なせます。推論時に全ユニットを使うことは、これら多数のネットワークの予測をおおよそ平均することにあたります。このため、アンサンブル学習に似た効果があると説明されます。

注意点

更新にばらつきが加わるため、学習に時間がかかります。元の論文では、同じ構造のネットワークより2〜3倍かかるのが一般的だと報告されています。無効にする割合は、検証用データの成績を見て決めるハイパーパラメータです。

覚え方

「練習では毎回だれかを休ませ、試合には全員で出る」と覚えます。

G検定での出題

学習時だけユニットをランダムに無効にし、推論時は全ユニットを使う点、多数のネットワークを平均するアンサンブル学習に近い効果、L2正則化など他の正則化手法との違いが問われます。

混同しやすい用語

用語意味
L2正則化誤差関数に重みの二乗和を罰則として加え、重みの値が大きくなりすぎないようにする正則化の手法

◯×チェック

  1. ドロップアウトで無効にするユニットの割合は、誤差逆伝播法によって重みと一緒に更新されるパラメータである。

    答えを見る

    答え × 誤り

    割合は学習を始める前に人が決めるハイパーパラメータです。検証用データの成績を見ながら選びます。

  2. ドロップアウトは、不要なユニットを取り除いてモデルを小さくし、推論を速くするための手法である。

    答えを見る

    答え × 誤り

    ユニットを外すのは学習中だけの一時的な操作です。モデルを小さくする手法には、枝刈り(プルーニング)などがあります。

  3. ドロップアウトを使うと、使わない場合よりも学習に時間がかかる傾向がある。

    答えを見る

    答え ◯ 正しい

    毎回異なるネットワークを学習するため、更新のばらつきが大きくなります。元の論文では2〜3倍かかるのが一般的だと報告されています。

練習問題

ドロップアウトの問題(7問)
  1. ドロップアウトの仕組み
  2. 正則化と正規化の区別
  3. バッチ正規化の推論時の統計量
  4. バッチ正規化の効果
  5. 深層化による訓練誤差の悪化
  6. データ拡張の目的と限界
  7. AlexNetの学習の工夫

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術14

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習