Поиск нейронной архитектуры - Neural architecture search

Поиск нейронной архитектуры (NAS)[1][2] это метод автоматизации проектирования искусственные нейронные сети (ИНС), широко используемая модель в области машинное обучение. NAS использовался для проектирования сетей, которые соответствуют или превосходят по производительности созданные вручную архитектуры.[3][4] Методы для NAS можно разделить на категории в соответствии с используемым пространством поиска, стратегией поиска и стратегией оценки производительности:[1]

  • В пространство поиска определяет тип (ы) ИНС, которые можно спроектировать и оптимизировать.
  • В стратегия поиска определяет подход, используемый для исследования пространства поиска.
  • В стратегия оценки производительности оценивает производительность возможной ИНС на основе ее дизайна (без ее построения и обучения).

NAS тесно связан с оптимизация гиперпараметров и является подполем автоматизированное машинное обучение (AutoML).

Обучение с подкреплением

Обучение с подкреплением (RL) может лежать в основе стратегии поиска NAS. Зоф и др.[3] примененный NAS с RL, нацеленный на СИФАР-10 dataset и достигли сетевой архитектуры, которая конкурирует с лучшей архитектурой, разработанной вручную, по точности с коэффициентом ошибок 3,65, что на 0,09 процента лучше и в 1,05 раза быстрее, чем у соответствующей модели, разработанной вручную. На Penn Treebank набор данных, эта модель состоит из повторяющейся ячейки, которая превосходит LSTM, достигнув тестовой сложности 62,4, что на 3,6 больше, чем у предыдущей ведущей системы. В задаче моделирования языка символов PTB он достиг 1,214 бит на символ.[3]

Изучение архитектуры модели непосредственно на большом наборе данных может быть длительным процессом. NASNet[4][5] Эта проблема решена путем переноса строительного блока, предназначенного для небольшого набора данных, в более крупный набор данных. Конструкция ограничивалась использованием двух типов сверточный ячеек для возврата карт функций, которые выполняют две основные функции при свертывании входной карты функций: нормальные клетки которые возвращают карты одинакового экстента (высоты и ширины) и редукционные ячейки в котором высота и ширина возвращаемой карты функций уменьшены в два раза. Для ячейки сокращения начальная операция, применяемая к входам ячейки, использует шаг два (для уменьшения высоты и ширины).[4] Изученный аспект дизайна включал такие элементы, как то, какой нижний слой (-ы) каждый более высокий уровень принимает в качестве входных данных, преобразования, применяемые на этом уровне, и объединение нескольких выходных данных на каждом уровне. В рассматриваемом примере лучший сверточный слой (или «ячейка») был разработан для набора данных CIFAR-10, а затем применен к ImageNet набор данных, складывая копии этой ячейки, каждая со своими параметрами. Этот подход дал точность 82,7% для первой пятерки и 96,2% для первой пятерки. Это превзошло лучшие архитектуры, изобретенные людьми, и стоило на 9 миллиардов меньше. ФЛОПЫ - сокращение на 28%. Система продолжала превосходить разработанную вручную альтернативу на различных уровнях вычислений. Свойства изображения, полученные в результате классификации изображений, можно перенести на другие задачи компьютерного зрения. Например, для обнаружения объектов изученные ячейки, интегрированные со структурой Faster-RCNN, улучшили производительность на 4,0% в наборе данных COCO.[4]

В так называемом поиске эффективной нейронной архитектуры (ENAS) контроллер обнаруживает архитектуры, обучаясь поиску оптимального подграфа в большом графе. Контроллер обучен с градиент политики для выбора подграфа, который максимизирует ожидаемое вознаграждение набора проверки. Модель, соответствующая подграфу, обучается минимизировать канонический перекрестная энтропия потеря. Несколько дочерних моделей имеют общие параметры, ENAS требует меньше GPU-часов, чем другие подходы, и в 1000 раз меньше, чем "стандартный" NAS. На CIFAR-10 ошибка тестирования ENAS составила 2,89%, что сопоставимо с NASNet. На Penn Treebank конструкция ENAS достигла тестовой сложности 55,8.[6]

Эволюция

Несколько групп работали эволюционные алгоритмы для NAS.[7][8][9] Мутации в контексте развития ИНС - это такие операции, как добавление слоя, удаление слоя или изменение типа слоя (например, от свертки к объединению). На СИФАР-10, Evolution и RL показали сопоставимые результаты, в то время как оба случайный поиск.[8]

Скалолазание

Другая группа использовала скалолазание процедура, которая применяет морфизмы сети, за которой следуют короткие прогоны оптимизации косинусного отжига. Такой подход дал конкурентоспособные результаты, требуя ресурсов того же порядка, что и обучение отдельной сети. Например, на CIFAR-10 метод спроектировал и обучил сеть с частотой ошибок менее 5% за 12 часов на одном графическом процессоре.[10]

Многоцелевой поиск

В то время как большинство подходов сосредоточены исключительно на поиске архитектуры с максимальной производительностью прогнозирования, для большинства практических приложений важны другие цели, такие как потребление памяти, размер модели или время логического вывода (то есть время, необходимое для получения прогноза). Из-за этого исследователи создали многоцелевой поиск.[11][12]

ЛИМОНАД[11] эволюционный алгоритм, который принял Ламаркизм для эффективной оптимизации нескольких целей. В каждом поколении дочерние сети создаются для улучшения Граница Парето по отношению к текущему количеству ИНС.

Нейронный архитектор[12] Утверждается, что это многоцелевой NAS на основе RL с учетом ресурсов, встраивание сети и прогнозирование производительности. Встраивание сети кодирует существующую сеть в обучаемый вектор встраивания. На основе внедрения сеть контроллеров генерирует преобразования целевой сети. Функция вознаграждения с несколькими целями учитывает точность сети, вычислительные ресурсы и время обучения. Вознаграждение предсказывается несколькими сетями моделирования производительности, которые предварительно или совместно обучены с сетью контроллеров. Сеть контроллера обучается с помощью градиента политики. После модификации результирующая сеть-кандидат оценивается как сетью точности, так и сетью времени обучения. Результаты объединяются механизмом вознаграждения, который передает свои выходные данные обратно в сеть контроллера.

Поиск в суперсети

NAS на основе RL требует тысяч графических дней поиска / обучения для достижения современных результатов компьютерного зрения, как описано в статьях NASNet, mNASNet и MobileNetV3.[4][13][14]

СуперсетьNAS на базе NAS обеспечивает более эффективное с точки зрения вычислений решение. Основная идея состоит в том, чтобы обучить одну суперсеть, которая охватывает множество вариантов для окончательного проекта, а не создавать и обучать тысячи сетей независимо. В дополнение к изученным параметрам, набор параметров архитектуры учит предпочтение одного модуля над другим. Эти алгоритмы дифференцируемы, что позволяет использовать градиентный спуск оптимизировать их.

Было показано, что поиск на основе суперсети дает конкурентоспособные результаты, используя лишь часть времени поиска, необходимого для методов поиска на основе RL. Например, FBNet (сокращенно от Facebook Berkeley Network) продемонстрировал, что поиск на основе суперсетей дает сети, которые превосходят кривую компромисса скорость-точность mNASNet и MobileNetV2 в наборе данных классификации изображений ImageNet. FBNet достигает этого, используя более 400x Меньше время поиска, чем было использовано для mNASNet.[15][16][17] Кроме того, SqueezeNAS продемонстрировал, что NAS на основе суперсетей создает нейронные сети, которые превосходят кривую компромисса скорости и точности MobileNetV3 в наборе данных семантической сегментации Cityscapes, а SqueezeNAS использует более чем в 100 раз меньше времени поиска, чем использовалось в поиске авторов MobileNetV3 на основе RL.[18][19]

Смотрите также

использованная литература

  1. ^ а б Эльскен, Томас; Метцен, Ян Хендрик; Хаттер, Фрэнк (8 августа 2019 г.). «Поиск нейронной архитектуры: обзор». Журнал исследований в области машинного обучения. 20 (55): 1–21. arXiv:1808.05377. Bibcode:2018arXiv180805377E - через jmlr.org.
  2. ^ Вистуба, Мартин; Рават, Амбриш; Педапати, Теджасвини (4 мая 2019 г.). «Обзор поиска нейронной архитектуры». arXiv:1905.01392 [cs.LG ].
  3. ^ а б c Зоф, Баррет; Ле, Куок В. (04.11.2016). «Поиск нейронной архитектуры с обучением с подкреплением». arXiv:1611.01578 [cs.LG ].
  4. ^ а б c d е Зоф, Баррет; Васудеван, Виджай; Шленс, Джонатон; Ле, Куок В. (21.07.2017). «Изучение переносимых архитектур для распознавания масштабируемых изображений». arXiv:1707.07012 [cs.CV ].
  5. ^ Зоф, Баррет; Васудеван, Виджай; Шленс, Джонатон; Ле, Куок В. (2 ноября 2017 г.). «AutoML для крупномасштабной классификации изображений и обнаружения объектов». Блог исследований. Получено 2018-02-20.
  6. ^ Хиеу, Фам; Й., Гуань, Мелодия; Баррет, Зоф; В., Ле, Куок; Джефф, Дин (2018-02-09). «Эффективный поиск нейронной архитектуры через разделение параметров». arXiv:1802.03268 [cs.LG ].
  7. ^ Реал, Эстебан; Мур, Шерри; Селле, Эндрю; Саксена, Саураб; Суэмацу, Ютака Леон; Тан, Джи; Ле, Куок; Куракин, Алексей (03.03.2017). «Масштабная эволюция классификаторов изображений». arXiv:1703.01041 [cs.NE ].
  8. ^ а б Реал, Эстебан; Аггарвал, Алок; Хуан, Яньпин; Ле, Куок В. (05.02.2018). «Регулярная эволюция поиска архитектуры классификатора изображений». arXiv:1802.01548 [cs.NE ].
  9. ^ Стэнли, Кеннет; Мииккулайнен, Ристо, "Развитие нейронных сетей за счет расширения топологий ", в: Эволюционные вычисления, 2002 г.
  10. ^ Томас, Эльскен; Ян Хендрик, Метцен; Фрэнк, Хаттер (13.11.2017). «Простой и эффективный поиск архитектуры сверточных нейронных сетей». arXiv:1711.04528 [stat.ML ].
  11. ^ а б Эльскен, Томас; Метцен, Ян Хендрик; Хаттер, Фрэнк (2018-04-24). «Эффективный многоцелевой поиск нейронной архитектуры с помощью ламарковской эволюции». arXiv:1804.09081 [stat.ML ].
  12. ^ а б Чжоу, Яньци; Диамос, Грегори. "Neural Architect: многоцелевой поиск нейронной архитектуры с прогнозированием производительности" (PDF). Baidu. Получено 2019-09-27.
  13. ^ Тан, Минсин; Чен, Бо; Панг, Руоминг; Васудеван, Виджай; Сандлер, Марк; Ховард, Эндрю; Ле, Куок В. (2018). «MnasNet: платформенно-зависимый поиск нейронной архитектуры для мобильных устройств». arXiv:1807.11626 [cs.CV ].
  14. ^ Ховард, Эндрю; Сандлер, Марк; Чу, Грейс; Чен, Лян-Цзе; Чен, Бо; Тан, Минсин; Ван, Вэйцзюнь; Чжу, Юкун; Панг, Руоминг; Васудеван, Виджай; Le, Quoc V .; Адам, Хартвиг ​​(06.05.2019). «В поисках MobileNetV3». arXiv:1905.02244 [cs.CV ].
  15. ^ Ву, Бичен; Дай, Сяолян; Чжан, Пэйчжао; Ван, Янхан; Сунь, Фэй; Ву, Иминь; Тиан, Юаньдун; Вайда, Питер; Цзя, Янцин; Койцер, Курт (24 мая 2019 г.). «FBNet: Аппаратно-эффективный дизайн ConvNet с помощью дифференцируемого поиска нейронной архитектуры». arXiv:1812.03443 [cs.CV ].
  16. ^ Сандлер, Марк; Ховард, Эндрю; Чжу, Менглонг; Жмогинов Андрей; Чен, Лян-Цзе (2018). «MobileNetV2: инвертированные остатки и линейные узкие места». arXiv:1801.04381 [cs.CV ].
  17. ^ Койцер, Курт (22 мая 2019 г.). «Совместное проектирование DNN и ускорителей NN» (PDF). IEEE. Получено 2019-09-26.
  18. ^ Шоу, Альберт; Хантер, Дэниел; Иандола, Форрест; Сидху, Сэмми (2019). «SqueezeNAS: быстрый поиск нейронной архитектуры для более быстрой семантической сегментации». arXiv:1908.01748 [cs.CV ].
  19. ^ Ёсида, Дзюнко (2019-08-25). «Есть ли у вашего ИИ-чипа собственный DNN?». EE Times. Получено 2019-09-26.