CNNのフィルターの重みの更新


12

私は現在、CNNのアーキテクチャーを理解しようとしています。畳み込み、ReLUレイヤー、プーリングレイヤー、完全接続レイヤーについて理解しています。しかし、私はまだ重みについて混乱しています。

通常のニューラルネットワークでは、各ニューロンに独自の重みがあります。完全に接続された層では、各ニューロンにも独自の重みがあります。しかし、私が知らないのは、各フィルターに独自の重みがあるかどうかです。逆伝播中に、完全に接続されたレイヤーの重みを更新する必要があるだけですか?または、すべてのフィルターに個別の重みを付けて更新する必要がありますか?

回答:


12

通常のニューラルネットワークでは、各ニューロンに独自の重みがあります。

これは正しくありません。ニューロン間のすべての接続には独自の重みがあります。完全に接続されたネットワークでは、各ニューロンは多くの異なる重みに関連付けられます。存在する場合n0(即ち、入力n0を有する層の前の層のニューロン)n1完全接続ネットワーク内のニューロンを、その層を有するであろうn0*n1任意のバイアス項を数えず、重みを。

CS231nからの完全に接続されたネットワークのこの図で、これをはっきりと見ることができるはずです。表示されるすべてのエッジは、トレーニング可能な異なる重みを表しています。

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

たたみ込み層は、フィルターサイズの選択とフィルター数によって決まる重みの数が固定されているという点で異なりますが、入力サイズには依存しません。

各フィルターには、その形状の各位置に個別の重みがあります。したがって、2つの3x3x3フィルターを使用する場合、54の重みがあり、バイアスは考慮されません。これは、CS231nの 2番目の図に示されています

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

フィルターの重みは絶対に逆伝播で更新する必要があります。これは、入力の特徴を認識する方法を学習するためです。ここで「ニューラルネットワークの視覚化」というタイトルのセクションを読むと、CNNのレイヤーがネットワークに深く入り込むにつれて、入力画像のより複雑な機能をどのように学習するかがわかります。これらはすべて、逆伝播によってフィルターの重みを調整することによって学習されます。


mmm各レイヤーの重みの数は、フィルターが取るストライドの数にも依存します...そうですか?
Arnav Das

2

バックプロパゲーション中に、密層と畳み込み層の両方が更新されますが、最大プーリング層には更新する重みがありません。密集層が更新され、ネットの分類に役立ちます。畳み込み層が更新され、ネットワーク自体が機能を学習できるようになります。質問に回答していないため、詳細を知りたい場合は、リンクを追加します。バックプロパゲーションのための非常に良い説明があり、ここであなたのために役立つことがあります。

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