fbpx

EfficientNet: как масштабировать нейросеть с использованием AutoML

В рамках ICML 2019 была опубликована работа, в которой исследователи предлагают метод для оптимизации сверточных нейросетей. Предыдущие методы произвольно масштабировали размерность нейросети (например, количество слоев и параметров). Предложенный метод равномерно масштабирует части нейросети с фиксированными коэффициентами масштабирования. Оптимизированные сети (EfficientNets) обходят state-of-the-art подходы по точности при увеличении эффективности в 10 раз (меньше и быстрее).

Оптимизации сверточных сетей

Чтобы понять, как влияет на точность и скорость модели масштабирование отдельных частей, исследователи с помощью grid search меняли параметры начальной сети с фиксированным ограничением по количеству операций с плавающей запятой в секунду. Эти ограничения определяли коэффициенты масштабирования для оптимизации размера нейросети до определенного размера.

Сравнение методов масштабирования (b-d, где d — предложенный метод), a — начальная архитектура

Предложенный метод (compound scaling) улучшал точность модели и ее эффективность на +1.4% для MobileNet на датасете ImageNet и на +0.7% для ResNet  в сравнении с другими методами масштабирования.

Архитектура EfficientNet

Эффективность масштабирования нейросети зависит от ее начальной архитектуры. Чтобы улучшить работу нейросети, исследователи выбирали начальную архитектуру автоматически с помощью AutoML фреймворка — MNAS. MNAS при выборе устройства нейросети оптимизирует и точность модели, и ее размер одновременно (FLOPS). В итоге начальная модель использовала архитектуру MBConv, схожую с MobileNetV2 и MnasNet. Начальная модель затем масштабировалась и породила класс EfficientNets моделей.

Архитектура начальной модели EfficientNet-B0

Сравнительные эксперименты

Исследователи сравнили работу существующих сверточных архитектур на ImageNet. EfficientNet модели значительно превосходят конкурирующие архитектуры. EfficientNet-B7 обогнала рассмотренные сверточные архитектуры и стала топ-1 по точности для задачи. EfficientNet-B1 в 7.6x меньше и в 5.7x быстрее ResNet-152.

Сравнение точности и размера сверточных архитектур и EfficientNets