AttoNets — это семейство нейросетевых моделей для обучения на мобильном устройстве. На макроуровне архитектура задается человеком, а на микроуровне модель оптимизирует структуру автоматически. Это позволяет частично автоматизировать разработку архитектуры сети, при этом имея возможность вручную ее подкручивать. По результатам экспериментов, самая небольшая AttoNet предсказывает с точностью на ∼1.8% выше, чем MobileNet-V1. При этом AttoNet требовала в 10 раз меньше параметров.
Качество AttoNets дополнительно проверили на задаче instance сегментации и распознавании объектов. В качестве архитектуры использовалась Mask R-CNN, основанная на AttoNet. Модифицированная Mask R-CNN требовала в 5 раз меньше вычислений и в 2 раза меньше параметров, чем Mask R-CNN, базирующаяся на ResNet-50.
Несмотря на то, что нейросети достигают state-of-the-art результатов на широком спектре задач, все еще открыт вопрос использования SOTA архитектур в реальных продуктах. Размер обученных моделей и количество требуемых ресурсов для вычисления являются основными недостатками современных нейросетевых моделей. Предыдущие подходы по разработке нейросетевых моделей для мобильных устройств либо задействовали исключительно человеческие ресурсы, либо были полностью автоматизированы. AttoNets совмещают в себе гибкость при выборе архитектуры модели вручную и автоматизированный поиск оптимальной структуры.
Архитектура AttoNet
Ниже видно две макроархитектуры AttoNet с модулями, структура которых была автоматически оптимизирована. Значительные различия между Module Type A и AttoNet Module Type B моделями являются:
- Дополнительный сверточный слой 1 x 1 в Module Type B модели;
- Strided свертки в Module Type B модели, в то время как в Module Type A модели свертки non-strided
Для каждого модуля внутри созданной нейросети микроархитектура уникальна. Под микроархитектурой понимаются количество сверточных групп, размер каждой группы, количество фильтров на каждом слое и т.д.