ドロップアウトとドロップ接続の違いは何ですか?


24

ドロップアウトとドロップ接続の違いは何ですか?

知る限り、ドロップアウトは、トレーニング中に非表示のノードをランダムにドロップしますが、テスト中はそれらを保持し、ドロップ接続は接続をドロップします。

しかし、接続をドロップすることは、非表示のノードをドロップすることと同等ではありませんか?ノード(または接続)は単なる重みのセットではありませんか?

回答:


24

DropOutとDropConnectは、どちらもニューラルネットワーク内のユニットの「協調適応」を防ぐための方法です。言い換えれば、ユニットは、他のニューロンに依存する代わりに、入力から特徴を独立して抽出する必要があります。

このような多層フィードフォワードネットワークがあると仮定します(トポロジは重要ではありません)。中間層の黄色の隠されたユニットが共適応するのが心配です。

サンプル5-4-3ネットワーク

脱落

DropOutを適用するには、ユニットのサブセットをランダムに選択し、入力に関係なく出力をゼロに固定します。これにより、これらのユニットがモデルから効果的に削除されます。トレーニングの例を提示するたびに、ユニットの異なるサブセットがランダムに選択されます。

以下に2つの可能なネットワーク構成を示します。最初のプレゼンテーション(左)では、1番目と3番目のユニットは無効になっていますが、2番目と3番目のユニットは後続のプレゼンテーションでランダムに選択されています。テスト時には、完全なネットワークを使用しますが、すべてのノードがアクティブになる可能性があることを補正するために重みを再調整します(たとえば、ノードの半分をドロップすると、重みも半分になります)。

ドロップアウトの例

DropConnect

DropConnectも同様に機能しますが、ノードの代わりに個々の重みを無効にする(つまり、ゼロに設定する)ため、ノードは部分的にアクティブのままになります。概略的には、次のようになります。

DropConnect

比較

これらの方法は両方とも機能するため、複数のモデルを同時に効果的にトレーニングし、テストのためにモデル全体で平均化できるためです。たとえば、黄色のレイヤーには4つのノードがあり、したがって16のDropOut状態(すべて有効、#1無効、#1および#2無効など)があります。

DropConnectはDropOutを一般化したものです。ほとんどの場合、ユニットよりも多くの接続が存在するため、さらに多くのモデルが作成されるためです。ただし、個々の試験で同様の結果を得ることができます。たとえば、右側のDropConnectネットワークは、すべての着信接続が削除されたため、ユニット#2を事実上ドロップしました。

参考文献

元の論文は非常にアクセスしやすく、詳細と経験的な結果が含まれています。


6

はい、ただし、ウェイトのドロップ方法はわずかに異なります。

これらは、DropConnect(左)とドロップアウト(右)の式です。

ここに画像の説明を入力してください ここに画像の説明を入力してください

したがって、ドロップアウトはアクティブ化にマスクを適用し、DropConnectはウェイトにマスクを適用します。

DropConnectペーパーは、それがドロップアウトの一般化であるという意味で

DropConnectはDropoutの一般化であり、Dropoutのような各出力ユニットの代わりに、確率pで各接続をドロップできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.