LeNetのニューロンの受容野


9

CNNの受容野をよりよく理解しようとしています。そのために、LeNetの各ニューロンの受容野を計算したいと思います。通常のMLPの場合はかなり簡単ですが(http://deeplearning.net/tutorial/lenet.html#sparse-connectivityを参照)、1つまたは複数の畳み込み層に続く層のニューロンの受容野を計算することは困難です。プーリング層。

2.畳み込み層のニューロンの受容野とは何ですか?次のサブサンプリング/プーリングレイヤーではどれくらい大きいですか?そして、これらを計算するための式は何ですか?


1
関連するサイドバーがこの質問を提案しました。これは、あなたが考えていて興味深いものに関連しています。
Dougal

回答:


2

畳み込みネットを標準のMLPのインスタンスと考える場合、リンクした例とまったく同じ方法で受容野を理解できます。

この画像のように、畳み込み層は基本的に多くの繰り返しパターンを持つ層の省略形であることを思い出してください(この回答から、もともとここから):

畳み込みの視覚的な例

その画像の「宛先ピクセル」のそれぞれは、入力がソース画像の青い正方形であるニューロンに対応します。ネットワークアーキテクチャによっては、畳み込みはそのようなピクセルに正確に対応しない場合がありますが、同じ考え方です。これらのすべての畳み込みニューロンの入力として使用される重みは関連付けられていますが、これは、ここで考えていることとは無関係です。

プーリングニューロンは、それぞれの入力の受容野を組み合わせて、同じように考えることができます。


素敵な視覚化!あなたの例は完全に理にかなっています。畳み込み層の後に2x2プール層を追加した場合、畳み込み層のニューロンが重複するため、4つの3x3フィールドが混在しているにも関わらず、プール層の各ニューロンには4x4の受容野しかありません。私は簡単にこれを理解し、プーリングサイズなどに基づいて受容野のいくつかの単純な式を作成できます。ただし、受容野はポーリングレイヤーのストライドなどにも依存するため、次の畳み込み層ではさらに複雑になります。これを考慮したRFの式は何ですか?
ピル

それで、ソースピクセルの青い正方形は受容野のサイズですか?
チャーリーパーカー

私は同じ質問があります。「Faster R-CNN:To Real-Time Object Detection with Region Proposal Networks」のセクション3.1で、ZFとVGG16の受容フィールドは171と228ですが、追加されませんネットワーク構成からアップ。誰かが私のためにこれを片付けてくれることを願っています。
Chan Kim

0

Faster-rcnnでは、有効受容野は次のように計算できます(VGG16)。

Img->
Conv1(3)-> Conv1(3)-> Pool1(2)==>
Conv2(3)-> Conv2(3)->
Pool2(2)==> Conv3(3)-> Conv3(3 )-> Conv3(3)-> Pool3(2)==>
Conv4(3)-> Conv4(3)-> Conv4(3)-> Pool4(2)==>
Conv5(3)-> Conv5(3 )-> Conv5(3)====>
機能マップの3 * 3ウィンドウ。
簡単にするために、1つの次元を取り上げましょう。サイズ3から派生した場合、元の受容野:
1)。Conv5の最初:3 + 2 + 2 + 2 = 9
2)。Conv4の最初:9 * 2 + 2 + 2 + 2 = 24
3)。Conv3の最初:24 * 2 + 2 + 2 + 2 = 54
4)。Conv2の最初:54 * 2 + 2 + 2 = 112
5)。Conv1の最初(元の入力):112 * 2 + 2 + 2 = 228

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