Перейти к основному содержимому

Мобильные архитектуры

Мы рассмотрели различные идеи повышения точности классификации изображений свёрточными сетями. Отметим, что высокая точность обеспечивалась нейросетями с большим числом слоёв, что требовало для их применения высокопроизводительной видеокарты с большим объёмом памяти.

Однако на практике часто главным преимуществом модели является не её точность, а производительность и экономичность. Например, когда мы хотим внедрить разработанное решение в телефоне или в фотоаппарате, чьи процессоры весьма скромны по своим возможностям. Поэтому актуальна разработка так называемых мобильных архитектур (mobile architectures), нетребовательных к вычислительным ресурсам.

Рассмотрим идеи повышения вычислительной эффективности на примерах популярных мобильных свёрточных архитектур.

В сети MobileNet [1] для снижения размерности вместо максимизирующего пулинга использовались свёртки с шагом (stride) 2. Вместо стандартных свёрток использовались поканальные сепарабельные (depthwise separable convolutions). Впоследствии появлялись новые версии этой модели, в которых были добавлены тождественные связи (как в ResNet).

В сети SqueezeNet [2] вообще не использовались полносвязные слои. Рейтингами классов служили выходы глобального пулинга, применённого к последнему (свёрточному) слою сети. Свёртки 3x3 заменялись композицией свёрток 3x1 и 1x3.

В сети SqueezeNext [3] вначале изображение сильно сжималось свёрткой 7x7, а вся последующая обработка велась уже в сильно пониженном разрешении.

В модели ShuffleNet [4] многократно использовались групповые свёртки (grouped convolutions). Чтобы свёрточные фильтры не замыкались в своих группах, каналы периодически перемешивались.

Таким образом, мобильные архитектуры активно использовали облегчённые версии свёрток, изученные ранее. Число слоёв и число каналов в каждом слое также было существенно меньше. Использовались и другие инженерные улучшения, описанные в приведённых статьях.

Литература

  1. Howard A. G. Mobilenets: Efficient convolutional neural networks for mobile vision applications //arXiv preprint arXiv:1704.04861. – 2017.

  2. Iandola F. N. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size //arXiv preprint arXiv:1602.07360. – 2016.

  3. Gholami A. et al. Squeezenext: Hardware-aware neural network design //Proceedings of the IEEE conference on computer vision and pattern recognition workshops. – 2018. – С. 1638-1647.

  4. Zhang X. et al. Shufflenet: An extremely efficient convolutional neural network for mobile devices //Proceedings of the IEEE conference on computer vision and pattern recognition. – 2018. – С. 6848-6856.