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