Как работают узкие места в нейронных сетях?

21

Мы определяем архитектуру узких мест как тип, найденный в статье ResNet, где [два конвексных слоя 3x3] заменяются на [один конв 1x1, один конв 3x3 и еще один слой конвекс 1x1].введите описание изображения здесь

Я понимаю, что конвексные слои 1x1 используются как форма уменьшения размеров (и восстановления), что объясняется в другом посте . Однако мне неясно, почему эта структура столь же эффективна, как и оригинальная компоновка.

Вот несколько хороших объяснений: какая длина шага используется и на каких слоях? Каковы примерные входные и выходные размеры каждого модуля? Как карты характеристик 56x56 представлены на диаграмме выше? Относится ли 64-й к количеству фильтров, почему это отличается от 256-дневных фильтров? Сколько весов или флопов используются на каждом слое?

Любая дискуссия с благодарностью!

derekchen14
источник
Я думаю, что это может помочь с обобщением и предотвращением перенастройки. Но это только смутное воспоминание.
Крис

Ответы:

5

Архитектура узкого места используется в очень глубоких сетях из-за вычислительных соображений.

Чтобы ответить на ваши вопросы:

  1. Карты характеристик 56x56 не представлены на изображении выше. Этот блок взят из ResNet с размером входа 224x224. 56x56 - уменьшенная дискретизация версии ввода на некотором промежуточном уровне.

  2. 64-й относится к числу карт характеристик (фильтров). Архитектура узкого места имеет 256-d, просто потому, что она предназначена для гораздо более глубокой сети, которая, возможно, принимает изображение с более высоким разрешением в качестве входных данных и, следовательно, требует большего количества карт характеристик.

  3. На этом рисунке приведены параметры каждого слоя узкого места в ResNet 50.

Newstein
источник
1
Для будущих читателей я должен отметить, что я думаю, что у конв 1x1 есть шаг = 1 и pad = 0, чтобы сохранить (WxH) 56x56. Точно так же конвы 3х3 имеют шаг = 1 и площадку = 1, чтобы сохранить размер.
derekchen14
Я все еще не понимаю. Кажется, что у них обоих одинаковое количество параметров, в этом случае я до сих пор не понимаю назначение уровня загрузки.
user570593
-1

Я действительно думаю, что второй пункт в ответе Ньюстейна вводит в заблуждение.

64-dИли 256-dследует обратиться к числу каналов в входном признаке карты - не количество ввода функции карты.

В качестве примера рассмотрим блок «узкое место» (справа от рисунка) в вопросе ОП:

  • 256-dозначает, что у нас есть одна входная карта объектов с измерением n x n x 256. На 1x1, 64рисунке обозначены 64 фильтры , каждый из которых имеет 1x1и имеет 256каналы ( 1x1x256).
  • Итак, здесь мы можем видеть, что свертка одиночного фильтра ( 1x1x256) с входной картой объектов ( n x n x 256) дает нам n x nвывод.
  • Теперь у нас есть 64фильтры, поэтому, составляя выходы, размер выходной карты объектов равен n x n x 64.

Отредактировано:

  • @ Михаил Черник: Хорошо, тогда это будет частичный ответ, так как я пытался исправить принятый ответ. Можете ли вы найти время, чтобы посмотреть на мой частичный ответ и сообщить, правильно ли я понимаю?
воспламеняться
источник
Независимо от репутации, вы не должны использовать ответы для комментариев.
Майкл Р. Черник