MobileNetV3 с PyTorch — теперь с блоками SE и функциями жесткой активации
Делиться

Введение
Добро пожаловать в серию статей «Tiny Giant» — серию, в которой я делюсь своими знаниями об архитектурах MobileNet. В двух предыдущих статьях я рассказывал о MobileNetV1 и MobileNetV2. Если вам интересно, ознакомьтесь с материалами [1] и [2]. В сегодняшней статье я хотел бы продолжить рассмотрение следующей версии модели: MobileNetV3.
MobileNetV3 был впервые предложен в статье под названием «Searching for MobileNetV3», написанной Говардом и соавторами в 2019 году [3]. Просто краткий обзор: основная идея первой версии MobileNet заключалась в замене полных сверток на глубинно-разделимые свертки, что сократило количество параметров почти на 90% по сравнению со стандартным аналогом CNN. Во второй версии MobileNet авторы ввели так называемые механизмы инвертированного остатка и линейного бутылочного горлышка, которые они интегрировали в исходные строительные блоки MobileNetV1. Теперь, в третьей версии MobileNet, авторы попытались еще больше повысить производительность сети, включив в строительные блоки модули сжатия и возбуждения (SE) и функции жесткой активации. Кроме того, общая структура самой MobileNetV3 частично спроектирована с использованием NAS (Neural Architecture Search), в которой она по сути работает как настройка параметров, которая действует на архитектурном уровне, максимизируя точность при минимизации задержки. Однако учтите, что в этой статье я не буду подробно описывать работу NAS. Вместо этого я сосредоточусь на окончательной версии MobileNetV3, предложенной в статье.
Источник: towardsdatascience.com



























