В мае 2017 года исследователи из Google Brain представили проект AutoML, который автоматизирует проектирование моделей машинного обучения. Эксперименты с AutoML показали, что эта система может генерировать маленькие нейросети с очень хорошими показателями — вполне сравнимые с нейросетями, которые спроектированы и обучены экспертами-людьми. Однако поначалу возможности AutoML были ограничены маленькими научными наборами данных вроде CIFAR-10 и Penn Treebank.
Инженеры Google задумались — а что если поставить перед генератором ИИ более серьёзные задачи? Способна ли эта система ИИ сгенерировать другую ИИ, которая будет лучше созданного человеком ИИ в какой-нибудь важной задаче вроде классификации объектов из базы ImageNet — самого известного из крупномасштабных наборов данных в машинном зрении. Так появилась нейросеть NASNet, созданная практически без участия человека.
Как выяснилось, ИИ справляется с проектированием и обучением нейросетей не хуже человека. Задача классификации объектов из набора данных ImageNet и определения объектов из набора данных COCO осуществлялась в раках проекта Learning Transferable Architectures for Scalable Image Recognition.
Разработчики проекта AutoML говорят, что задача оказалась нетривиальной, потому что новые наборы данных на несколько порядков больше, чем прежние, с которыми привыкла работать система. Пришлось изменить некоторые алгоритмы работы AutoML, в том числе перепроектировать пространство поиска, чтобы AutoML мог найти наилучший слой и многократно продублировать его перед созданием окончательного варианта нейросети. Кроме того, разработчики исследовали варианты архитектуры нейросетей для CIFAR-10 — и вручную перенесли самую успешную архитектуру на задачи ImageNet и COCO.
Благодаря этим манипуляциям система AutoML сумела обнаружить самые эффективные слои нейросети, которые хорошо работали для CIFAR-10 и в то же время хорошо проявили себя в задачах ImageNet и COCO. Эти два обнаруженных слоя были объединены для формирования инновационной архитектуры, которую назвали NASNet.
Архитектура NASNet состоит из слоёв двух типов: нормальный слой (слева) и слой сокращения (справа). Эти два слоя спроектированы генератором AutoML
Бенчмарки показали, что автоматически сгенерированный ИИ превосходит по результатам классификации и определения объектов все остальные системы машинного зрения, созданные и обученные экспертами-людьми.
Так, в задаче классификации на базе ImageNet нейросеть NASNet продемонстрировала точность предсказания 82,7% на проверочном наборе. Этот результат выше, чем все ранее спроектированные модели машинного зрения семейства Inception. Система NASNet показала результат как минимум на 1,2 процентных пункта выше, чем все известные нейросети машинного зрения, включая самые последние результаты из работ, ещё не опубликованных в научной прессе, но уже выложенных на сайте препринтов arXiv.org.
Исследователи подчёркивают, что NASNet можно масштабировать и, следовательно, приспособить для работы на системах со слабыми вычислительными ресурсами без особой потери точности. Нейросеть способна работать даже на мобильном телефоне со слабым CPU с ограниченным ресурсом памяти. Авторы говорят, что миниатюрная версия NASNet демонстрирует точность 74%, что на 3,1 процентных пункта лучше, чем самые качественные известные нейросети для мобильных платформ.
Когда усвоенные признаки из классификатора ImageNet перенесли на распознавание объектов и совместили с фреймворком Faster-RCNN, то в задаче распознавания объектов COCO система показала наилучшие результаты как в полной версии, так и в уменьшенном варианте для мобильных платформ. Большая модель показала результат 43,1% mAP, что на 4 процентных пункта лучше, чем у ближайшего конкурента.
Авторы открыли исходный код NASNet в репозиториях Slim и Object Detection для TensorFlow, так что каждый может сам испытать новую нейросеть в работе.
Научная статья опубликована 1 декабря 2018 года на сайте препринтов arXiv.org (arXiv:1707.07012v3).
Автор: Анатолий Ализар