Как MobileNet V3 быстрее, чем V2? - PullRequest
0 голосов
/ 09 июля 2019

Вот ссылка на статью о MobileNet V3.

MobileNet V3

Согласно документу, в MobileNet V3 реализованы модули h-swish и Squeeze-and-excitation, но они направлены на повышение точности и не помогают повысить скорость.

h-swish быстрее swish и помогает повысить точность, но намного медленнее, чем ReLU, если я не ошибаюсь.

SE также помогает повысить точность, но увеличивает количество параметров сети.

Я что-то упустил? Я до сих пор не представляю, как MobileNet V3 может быть быстрее, чем V2 с тем, что сказано выше, реализованным в V3.

Я не упомянул тот факт, что они также модифицируют последнюю часть своей сети, поскольку я планирую использовать MobileNet V3 в качестве магистральной сети и объединить ее с уровнями SSD для целей обнаружения, поэтому последняя часть сети выиграла не будет использоваться.

Следующая таблица, которую можно найти в упомянутой выше статье, показывает, что V3 все еще быстрее, чем V2.

Результаты обнаружения объектов для сравнения

1 Ответ

0 голосов
/ 10 июля 2019

MobileNetV3 быстрее и точнее, чем MobileNetV2, для задачи классификации, но это не обязательно верно для другой задачи, такой как обнаружение объекта. Как вы сами упомянули, оптимизации, которые они провели на самом глубоком конце сети, в основном относятся к варианту классификации, и, как видно из таблицы, на которую вы ссылаетесь, mAP не лучше.

Несколько вещей, чтобы рассмотреть, хотя:

  • Это правда, SE и h-swish немного замедляют работу сети. SE добавляет некоторые FLOP и параметры, а h-swish добавляет сложности, и оба вызывает некоторую задержку. Тем не менее, оба добавляются так, что компромисс между точностью и задержкой лучше, что означает либо задержку дополнение стоит увеличения точности, или вы можете поддерживать то же самое точность, уменьшая при этом другие вещи, тем самым уменьшая общую задержку Что касается h-swish, обратите внимание, что они в основном используют его в более глубокие слои, где тензоры меньше. Они толще, но из-за квадратичного падения разрешения (высота х ширина), они в целом меньше, следовательно, h-swish вызывает меньшую задержку.
  • Поиск самой архитектуры (без h-swish и даже без учета SE). Это означает, что он лучше подходит для этой задачи, чем «ванильный» MobileNetV2, поскольку архитектура «менее ручная» и фактически оптимизирована для этой задачи. Например, вы можете видеть, что, как и в MNASNet, некоторые ядра выросли до 5x5 (а не 3x3), не все скорости расширения x6 и т. Д.
  • Одно изменение, которое они сделали для самого глубокого конца сети, также относится к обнаружению объектов. Как ни странно, при использовании SSDLite-MobileNetV2 авторы оригинала решили сохранить последнюю свертку 1x1, которая расширяется с глубины от 320 до 1280. Хотя это количество функций имеет смысл для классификации 1000 классов, для обнаружения 80 классов это, вероятно, избыточно, поскольку авторы MNv3 говорят сами по себе в середине страницы 7 (нижняя часть первого столбца - верхняя часть второго).
...