回答:
ドロップアウトとは、すべての個別のデータポイントがニューロンのランダムなサブセットに適合するためにのみ使用されることを意味します。これは、ニューラルネットワークをアンサンブルモデルのようにするために行われます。
つまり、ランダムフォレストが多くの個別の決定木の結果を平均化するのと同じように、ドロップアウトを使用してトレーニングされたニューラルネットワークが、多くの個別のニューラルネットワークの結果を平均化するのを見ることができます(「結果」はすべてのレイヤーでのアクティブ化を意味すると理解されています) 、出力層だけではありません)。
ニューラルネットワークのドロップアウトを提案した最初の論文1のタイトルは、「ドロップアウト:ニューラルネットワークが過剰適合しないようにする簡単な方法」です。そのタイトルはDropoutが何をするかを一文でかなり説明しています。ドロップアウトは、トレーニングフェーズ中にニューラルネットワーク内のニューロンをランダムに選択して削除することで機能します。テスト中にドロップアウトは適用されず、結果のネットワークは予測の一部としてドロップアウトしないことに注意してください。
ニューロンのこのランダムな除去/ドロップアウトは、ニューロンの過度の相互適応を防ぎ、そうすることで、ネットワークの過剰適合の可能性を減らします。
トレーニング中にニューロンがランダムに削除されるということは、いつでも、元のネットワークの一部のみがトレーニングされることを意味します。これにより、たとえば次のように、複数のサブネットワークを一種のトレーニングにしてしまうという効果があります。
これは、ニューラルネットワークのドロップアウトが一種のアンサンブル技法であるという概念がネットワーク全体とは対照的に行われるのとは対照的に、このサブネットワークの繰り返しトレーニングからです。つまり、サブネットワークのトレーニングは、多数の比較的弱いアルゴリズムのトレーニングに似ています/モデルを組み合わせて、個々のパーツよりも強力な1つのアルゴリズムを形成します。
参照:
1:Srivastava、Nitishなど。「ドロップアウト:ニューラルネットワークが過剰適合しないようにする簡単な方法。」Journal of Machine Learning Research 15.1(2014):1929-1958。
ドロップアウトペーパーと彼のコースラクラスでのジェフリーヒントンのアイデアを使用して、あなたの質問に答えようと思います。
「ドロップアウト」メソッドの目的は何ですか?
多数のパラメーターを持つディープニューラルネットは、非常に強力な機械学習システムです。しかし、そのようなネットワークでは過剰適合が深刻な問題です。大規模なネットワークは使用にも時間がかかるため、テスト時に多くの異なる大規模ニューラルネットの予測を組み合わせてオーバーフィッティングに対処することが困難になります。ドロップアウトは、この問題に対処するための手法です。
したがって、これは、過剰適合(高分散)の問題に対処する正則化手法です。
全体的なパフォーマンスをどのように改善しますか?
より良い一般化により、過剰適合の罠に陥らないようにします。
ここにいくつかの素晴らしい答えがあります。ドロップアウトについて私が与えることができる最も簡単な説明は、ニューロンが過度に「共同適応」するのを防ぐために、トレーニング中に一部のニューロンとそれらの接続をランダムにネットワークから除外することです。これは、各ニューロンをより一般的に適用する効果があり、大規模なニューラルネットワークの過剰適合を停止するのに優れています。