Поиск нейронной архитектуры (NAS) [1] [2] - это метод автоматизации проектирования искусственных нейронных сетей (ANN), широко используемой модели в области машинного обучения . NAS использовался для проектирования сетей, которые соответствуют или превосходят по производительности созданные вручную архитектуры. [3] [4] Методы для NAS можно разделить на категории в соответствии с используемым пространством поиска, стратегией поиска и стратегией оценки производительности: [1]
- Пространство поиска определяет типы ИНС, которые можно спроектировать и оптимизировать.
- Стратегия поиска определяет подход , используемый для изучения пространства поиска.
- Стратегия оценки производительности оценивает эффективность возможного ИНС от его конструкции (без строительства и подготовки его).
NAS тесно связан с оптимизацией гиперпараметров и является подразделом автоматизированного машинного обучения (AutoML). [5]
Обучение с подкреплением
Обучение с подкреплением (RL) может лежать в основе стратегии поиска NAS. Зоф и др. [3] применили NAS с RL для набора данных CIFAR-10 и достигли сетевой архитектуры, которая конкурирует с лучшей архитектурой, разработанной вручную, по точности, с частотой ошибок 3,65, что на 0,09 процента лучше и в 1,05 раза быстрее, чем у соответствующей модели, созданной вручную. . В наборе данных Penn Treebank эта модель состоит из повторяющейся ячейки, которая превосходит LSTM , достигая сложности тестового набора 62,4 или 3,6 лучше, чем предыдущая ведущая система. В задаче моделирования языка символов PTB он достиг 1,214 бит на символ. [3]
Изучение архитектуры модели непосредственно на большом наборе данных может быть длительным процессом. NASNet [4] [6] решил эту проблему, перенеся строительный блок, предназначенный для небольшого набора данных, в более крупный набор данных. Дизайн был ограничен использованием двух типов сверточных ячеек для возврата карт функций, которые выполняют две основные функции при свертывании входной карты функций: нормальные ячейки, которые возвращают карты одного и того же экстента (высоты и ширины), и ячейки сокращения, в которых возвращается карта функций. высота и ширина уменьшаются в два раза. Для ячейки сокращения начальная операция, применяемая к входам ячейки, использует шаг два (для уменьшения высоты и ширины). [4] Изученный аспект дизайна включал такие элементы, как то, какой нижний уровень (-ы) каждый более высокий уровень принимал в качестве входных данных, преобразования, применяемые на этом уровне, и объединение нескольких выходных данных на каждом уровне. В исследуемом примере лучший сверточный слой (или «ячейка») был разработан для набора данных CIFAR-10 и затем применен к набору данных ImageNet путем наложения копий этой ячейки, каждая со своими собственными параметрами. Этот подход дал точность 82,7% для первой пятерки и 96,2% для первой пятерки. Это превосходит лучшие архитектуры, изобретенные человеком, за счет уменьшения на 9 миллиардов FLOPS - сокращение на 28%. Система продолжала превосходить разработанную вручную альтернативу на различных уровнях вычислений. Характеристики изображения, полученные в результате классификации изображений, можно перенести на другие задачи компьютерного зрения. Например, для обнаружения объектов изученные ячейки, интегрированные со структурой Faster-RCNN, улучшили производительность на 4,0% в наборе данных COCO. [4]
В так называемом поиске эффективной нейронной архитектуры (ENAS) контроллер обнаруживает архитектуры, обучаясь поиску оптимального подграфа в большом графе. Контроллер обучается с градиентом политики для выбора подграфа, который максимизирует ожидаемое вознаграждение набора проверки. Модель, соответствующая подграфу, обучается минимизировать каноническую кросс-энтропийную потерю. Несколько дочерних моделей имеют общие параметры, ENAS требует меньше GPU-часов, чем другие подходы, и в 1000 раз меньше, чем "стандартный" NAS. На CIFAR-10 ошибка тестирования ENAS составила 2,89%, что сравнимо с NASNet. На Penn Treebank конструкция ENAS достигла тестовой сложности 55,8. [7]
Эволюция
Несколько групп использовали эволюционные алгоритмы для NAS. [8] [9] [10] Мутации в контексте развития ИНС - это такие операции, как добавление уровня, удаление уровня или изменение типа уровня (например, от свертки к объединению). На CIFAR-10 эволюция и RL работали сравнимо, в то время как оба они превзошли случайный поиск . [9]
Скалолазание
Другая группа использовала процедуру восхождения на холм, которая применяет морфизмы сети с последующими короткими запусками оптимизации косинусного отжига. Такой подход дал конкурентоспособные результаты, требуя ресурсов того же порядка, что и обучение отдельной сети. Например, на CIFAR-10 метод спроектировал и обучил сеть с частотой ошибок менее 5% за 12 часов на одном графическом процессоре. [11]
Многоцелевой поиск
В то время как большинство подходов сосредоточены исключительно на поиске архитектуры с максимальной производительностью прогнозирования, для большинства практических приложений важны другие цели, такие как потребление памяти, размер модели или время вывода (то есть время, необходимое для получения прогноза). Из-за этого исследователи создали многоцелевой поиск. [12] [13]
LEMONADE [12] - это эволюционный алгоритм, принявший ламаркизм для эффективной оптимизации нескольких целей. В каждом поколении дочерние сети создаются для улучшения границы Парето по отношению к текущей популяции ИНС.
Neural Architect [13] заявлен как многоцелевой NAS на основе RL с учетом ресурсов, встраивание сети и прогнозирование производительности. Встраивание сети кодирует существующую сеть в обучаемый вектор встраивания. На основе внедрения сеть контроллеров генерирует преобразования целевой сети. Многоцелевая функция вознаграждения учитывает точность сети, вычислительные ресурсы и время обучения. Награда прогнозируется несколькими сетями моделирования производительности, которые предварительно или совместно обучены с сетью контроллеров. Сеть контроллера обучается с помощью градиента политики. После модификации результирующая сеть-кандидат оценивается как сетью точности, так и сетью времени обучения. Результаты объединяются механизмом вознаграждения, который передает свои выходные данные обратно в сеть контроллера.
Поиск в суперсети
NAS на основе RL требует тысяч дней поиска / обучения на GPU для достижения современных результатов компьютерного зрения, как описано в статьях NASNet, mNASNet и MobileNetV3. [4] [14] [15]
NAS на базе суперсети обеспечивает более эффективное с точки зрения вычислений решение. Основная идея состоит в том, чтобы обучить одну суперсеть, которая охватывает множество вариантов для окончательного проекта, а не создавать и обучать тысячи сетей независимо. В дополнение к изученным параметрам, набор параметров архитектуры учится отдавать предпочтение одному модулю над другим. Эти алгоритмы дифференцируемы, что позволяет использовать градиентный спуск для их оптимизации.
Было показано, что поиск на основе суперсетей дает конкурентоспособные результаты, используя лишь часть времени поиска, необходимого для методов поиска на основе RL. Например, FBNet (сокращенно от Facebook Berkeley Network) продемонстрировал, что поиск на основе суперсетей создает сети, которые превосходят кривую компромисса скорость-точность mNASNet и MobileNetV2 в наборе данных классификации изображений ImageNet. FBNet выполняет это, используя более чем в 400 раз меньше времени поиска, чем было использовано для mNASNet. [16] [17] [18] Кроме того, SqueezeNAS продемонстрировал, что NAS на основе суперсетей создает нейронные сети, которые превосходят кривую компромисса скорость-точность MobileNetV3 на наборе данных семантической сегментации Cityscapes, а SqueezeNAS использует в 100 раз меньше времени поиска, чем использовалось в поиск на основе RL авторов MobileNetV3. [19] [20]
Смотрите также
- Интеллект нейронной сети
Рекомендации
- ^ a b Эльскен, Томас; Метцен, Ян Хендрик; Хаттер, Фрэнк (8 августа 2019 г.). «Поиск нейронной архитектуры: обзор» . Журнал исследований в области машинного обучения . 20 (55): 1–21. arXiv : 1808.05377 . Bibcode : 2018arXiv180805377E - через jmlr.org.
- ^ Вистуба, Мартин; Рават, Амбриш; Педапати, Теджасвини (4 мая 2019 г.). «Обзор поиска нейронной архитектуры». arXiv : 1905.01392 [ cs.LG ].
- ^ а б в Зоф, Баррет; Ле, Куок В. (04.11.2016). «Поиск нейронной архитектуры с обучением с подкреплением». arXiv : 1611.01578 [ cs.LG ].
- ^ а б в г д Зоф, Баррет; Васудеван, Виджай; Шленс, Джонатон; Ле, Куок В. (21.07.2017). «Изучение переносимых архитектур для распознавания масштабируемых изображений». arXiv : 1707.07012 [ cs.CV ].
- ^ Хэ, X., Чжао, К., и Чу, X (2021-01-05). «AutoML: обзор современного состояния» . Системы, основанные на знаниях . 212 : 106622. arXiv : 1908.00709 . DOI : 10.1016 / j.knosys.2020.106622 . ISSN 0950-7051 .CS1 maint: несколько имен: список авторов ( ссылка )
- ^ Зоф, Баррет; Васудеван, Виджай; Шленс, Джонатон; Ле, Куок В. (2 ноября 2017 г.). «AutoML для крупномасштабной классификации изображений и обнаружения объектов» . Блог исследований . Проверено 20 февраля 2018 .
- ^ Хиеу, Фам; Й., Гуань, Мелодия; Баррет, Зоф; В., Ле, Куок; Джефф, Дин (2018-02-09). «Эффективный поиск нейронной архитектуры через разделение параметров». arXiv : 1802.03268 [ cs.LG ].
- ^ Реал, Эстебан; Мур, Шерри; Селле, Эндрю; Саксена, Саураб; Суэмацу, Ютака Леон; Тан, Джи; Ле, Куок; Куракин, Алексей (03.03.2017). «Масштабная эволюция классификаторов изображений». arXiv : 1703.01041 [ cs.NE ].
- ^ а б Реал, Эстебан; Аггарвал, Алок; Хуанг, Яньпин; Ле, Куок В. (05.02.2018). «Регулярная эволюция поиска архитектуры классификатора изображений». arXiv : 1802.01548 [ cs.NE ].
- ^ Стэнли, Кеннет; Мииккулайнен, Ристо, " Развитие нейронных сетей посредством расширения топологий ", в: Evolutionary Computing, 2002 г.
- ^ Томас, Эльскен; Ян Хендрик, Метцен; Фрэнк, Хаттер (13 ноября 2017 г.). «Простой и эффективный поиск архитектуры для сверточных нейронных сетей». arXiv : 1711.04528 [ stat.ML ].
- ^ а б Эльскен, Томас; Метцен, Ян Хендрик; Хаттер, Фрэнк (2018-04-24). «Эффективный многоцелевой поиск нейронной архитектуры с помощью ламарковской эволюции». arXiv : 1804.09081 [ stat.ML ].
- ^ а б Чжоу, Яньци; Диамос, Грегори. «Нейронный архитектор: многоцелевой поиск нейронной архитектуры с прогнозированием производительности» (PDF) . Baidu . Проверено 27 сентября 2019 .
- ^ Тан, Минсин; Чен, Бо; Панг, Руоминг; Васудеван, Виджай; Сэндлер, Марк; Ховард, Эндрю; Ле, Куок В. (2018). «MnasNet: платформенно-зависимый поиск нейронной архитектуры для мобильных устройств». arXiv : 1807.11626 [ cs.CV ].
- ^ Ховард, Эндрю; Сэндлер, Марк; Чу, Грейс; Чен, Лян-Цзе; Чен, Бо; Тан, Минсин; Ван, Вэйцзюнь; Чжу, Юкун; Панг, Руоминг; Васудеван, Виджай; Le, Quoc V .; Адам, Хартвиг (06.05.2019). «В поисках MobileNetV3». arXiv : 1905.02244 [ cs.CV ].
- ^ Ву, Бичен; Дай, Сяолян; Чжан, Пэйчжао; Ван, Янхан; Сунь, Фэй; Ву, Иминь; Тиан, Юаньдун; Вайда, Питер; Цзя, Янцин; Койцер, Курт (24 мая 2019 г.). «FBNet: Аппаратно-эффективный дизайн ConvNet с помощью дифференцируемого поиска нейронной архитектуры». arXiv : 1812.03443 [ cs.CV ].
- ^ Сэндлер, Марк; Ховард, Эндрю; Чжу, Менглонг; Жмогинов Андрей; Чен, Лян-Цзе (2018). «MobileNetV2: инвертированные остатки и линейные узкие места». arXiv : 1801.04381 [ cs.CV ].
- ^ Койцер, Курт (22 мая 2019 г.). «Совместное проектирование DNN и ускорителей NN» (PDF) . IEEE . Проверено 26 сентября 2019 .
- ^ Шоу, Альберт; Хантер, Дэниел; Иандола, Форрест; Сидху, Сэмми (2019). «SqueezeNAS: Быстрый поиск нейронной архитектуры для более быстрой семантической сегментации». arXiv : 1908.01748 [ cs.CV ].
- ^ Ёсида, Дзюнко (2019-08-25). «Есть ли у вашего ИИ-чипа собственный DNN?» . EE Times . Проверено 26 сентября 2019 .