Google Brain разработали MLP-Mixer, архитектуру компьютерного зрения на основе многослойных перцептронов

MLP-Mixer — архитектура от Google Brain, которая показала высокие результаты в компьютерном зрении, используя только линейные слои. Является сопоставимой альтернативой свёрточным нейросетям и трансформерам. Код доступен на Github.

Зачем это нужно

Сверточные нейронные сети (CNN), как и модели Vision Transformer (ViT), основанные на внимании, являются передовиками компьютерного зрения. Однако исследователи всё чаще задаются вопросом, в чём причина их эффективности.

Авторы показали, что ни свёртка, ни внимание не является обязательными для достижения высоких показателей в компьютерном зрении. Они разработали MLP-Mixer, архитектуру, основанную исключительно на многослойных перцептронах (multilayer perceptron,  MLP).

Как это работает

В первом приближении, нейронные сети состоят из «слоёв»‎, последовательно обрабатывающих выходные данные. Выход каждого слоя является входом для другого. CNN и ViT включают в себя слои, выполняющие различные операции, но основными для данных архитектур являются операции свёртки и внимания соответственно.

MLP-Mixer принимает на вход последовательность фрагментов изображения в формате «фрагменты × каналы» и поддерживает такую размерность данных в процессе обработки. MLP-Mixer содержит лишь два типа слоев: 

  • MLP, применяемый вдоль признаков изображения  («‎смешивание»‎ признаков);
  • MLP, применяемый вдоль фрагментов изображения («‎смешивание»‎ пространственной информации между фрагментами).

Это, в целом, напоминает архитектуру из уже упомянутого исследования: сеть применяет последовательность линейных слоёв, разделённых операцией транспонирования.

Результаты

В классификации изображений MLP-Mixer показал результаты, сопоставимые с современными архитектурами, при соблюдении двух условий:

  • обучение на большом наборе данных;
  • применение современных схем регуляризации (это ограничение также справедливо для ViT).

Например, по сравнению с архитектурой ViT, MLP-Mixer уступил 0.5% по точности на датасете ImageNet, но показал в 2.5 раза большую производительность. Причина такой высокой скорости довольно проста: использование линейных MLP-слоёв значительно быстрее, чем слоёв внимания.

Подробнее об исследовании можно прочитать в статье на arXiv.

Код с предобученными моделями и блокноты Google Colab также доступны в репозитории Github. Обратите внимание, на момент публикации MLP-Mixer находится в отдельной ветви репозитория «‎Vision Transformer»‎.

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt