Какова цель использования максимального пула слоя с шагом 1 при обнаружении объектов - PullRequest
1 голос
/ 24 июня 2019

Я работаю с Single Shot Detector (SSD) и, более конкретно, эта реализация в кератах.

Когда я изучал SSD300 (это также относится к SSD512, как я заметил), я заметил, что после каждой сверточной группы следует максимальное объединение, которое уменьшает размерность карты объектов. Пока все хорошо, но после 5-й группы конворов (если быть точным после слоя conv5_3) применяемый максимальный пул использует шаг 1. Я не смог проверить это на оригинальной работе SSD, как написано в Кафе и я не знакомы с этим. Это означает, что (с добавленным отступом) размер карты объектов не уменьшается. Кроме того, количество фильтров в слое max pooling такое же, как и раньше, и размер ядра увеличен до (3,3)(2,2).

Насколько я понимаю, это означает, что этот максимальный слой пула не используется ни для удаления размеров, ни для уменьшения (или изменения в любом случае) количества фильтров. Таким образом, он используется только для применения фильтра максимального пула на карте объектов. Кто-нибудь знает, зачем это нужно? Или, чтобы сделать его более правильным, какова цель такого слоя? Я думаю, что это можно было бы удалить полностью, и я не ожидал бы большой разницы в производительности, но я не проверял это, чтобы быть честным.

Есть идеи, чего мне здесь не хватает?

1 Ответ

0 голосов
/ 24 июня 2019

Такой фильтр выделяет самые сильные особенности и отбрасывает слабые, но не уменьшает его размерность.Значимость зависит от того, что происходит в следующих слоях.Теоретически, возникает избыточность ...

В зависимости от размера входного сигнала уменьшение размеров может быть нежелательным, поскольку вы можете потерять любые функции.

...