Рецептивное поле нейронов в LeNet

9

Я пытаюсь лучше понять рецептивные поля CNN. Для этого я хотел бы рассчитать рецептивное поле каждого нейрона в LeNet. Для обычного MLP это довольно просто (см. Http://deeplearning.net/tutorial/lenet.html#sparse-connectivity ), но сложнее рассчитать рецептивное поле нейрона в слое, следующем за одним или несколькими сверточными слоями, и объединяя слои.

Что такое рецептивное поле нейрона в 2. сверточном слое? Насколько он больше в следующем слое субсэмплинга / пула? И какова формула для их расчета?

PIR
источник
1
На соответствующей боковой панели был предложен этот вопрос , который имеет отношение к тому, о чем вы думаете, и интересен.
Дугал

Ответы:

2

Если вы думаете о сверточной сети как об экземпляре стандартного MLP, вы можете определить рецептивные поля точно так же, как в примере, который вы связали.

Напомним, что сверточный слой по сути является сокращением для слоя со многими повторяющимися узорами, как на этом изображении (из этого ответа , первоначально отсюда ):

наглядный пример свертки

Каждый из «пикселей назначения» этого изображения соответствует нейрону, чьи входные данные - синий квадрат в исходном изображении. В зависимости от архитектуры вашей сети свертки могут не совсем соответствовать таким пикселям, но это та же идея. Веса, используемые в качестве входных данных для всех этих сверточных нейронов, привязаны, но это не имеет отношения к тому, что вы думаете здесь.

Об объединении нейронов можно думать одинаково, комбинируя рецептивные поля каждого из их входов.

Дугал
источник
Хорошая визуализация! Ваш пример имеет смысл. Если я добавлю пул 2x2 после сверточного слоя, то каждый нейрон в пуле будет иметь только восприимчивое поле 4x4, несмотря на смешивание четырех полей 3x3, поскольку нейроны в сверточном слое перекрываются. Я могу легко обдумать это и создать несколько простых формул для рецептивного поля, основанных на размере пула и т. Д. Однако, это становится более сложным для следующего сверточного слоя, поскольку рецептивное поле теперь также зависит от шага для слоя опроса и т. Д. Какая формула для РФ учитывает это?
пир
так синий квадрат в исходном пикселе размер принимающего поля?
Чарли Паркер
У меня тот же вопрос, в статье «Ускоренный R-CNN: на пути к обнаружению объектов в реальном времени с сетями предложений регионов», в разделе 3.1 говорится, что поле восприятия ZF и VGG16 равно 171 и 228, но оно не добавляет от конфигурации сети. Надеюсь, кто-нибудь сможет мне это объяснить.
Чан Ким
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 на карте объектов.
Давайте возьмем одно измерение для простоты. Если мы получим обратно из размера 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

яхт-клуб
источник