stringtranslate.com

Поиск нейронной архитектуры

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

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

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

Обучение с подкреплением (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] [8] решила эту проблему, перенеся строительный блок, разработанный для небольшого набора данных, в более крупный набор данных. Проект был ограничен использованием двух типов сверточных ячеек для возврата карт признаков, которые выполняют две основные функции при свертке входной карты признаков: обычные ячейки , которые возвращают карты одинаковой протяженности (высоты и ширины), и ячейки сокращения , в которых возвращаемая высота и ширина карты признаков уменьшаются в два раза. Для ячейки сокращения начальная операция, применяемая к входам ячейки, использует шаг два (для уменьшения высоты и ширины). [4] Изученный аспект проекта включал такие элементы, как какой(ие) нижний(ие) слой(и) каждый верхний слой принимал в качестве входных данных, преобразования, применяемые на этом слое, и объединение нескольких выходов на каждом слое. В изученном примере лучший сверточный слой (или «ячейка») был разработан для набора данных CIFAR-10, а затем применен к набору данных ImageNet путем укладки копий этой ячейки, каждая со своими собственными параметрами. Подход дал точность 82,7% топ-1 и 96,2% топ-5. Это превзошло лучшие архитектуры, изобретенные человеком, при стоимости на 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. [9]

Эволюция

Альтернативный подход к NAS основан на эволюционных алгоритмах , которые использовались несколькими группами. [10] [11] [12] [13] [14] [15] [16] Эволюционный алгоритм для поиска нейронной архитектуры обычно выполняет следующую процедуру. [17] Сначала инициализируется пул, состоящий из различных архитектур-кандидатов вместе с их оценками валидации (приспособленностью). На каждом этапе архитектуры в пуле кандидатов мутируют (например, свертка 3x3 вместо свертки 5x5). Затем новые архитектуры обучаются с нуля в течение нескольких эпох и получаются их оценки валидации. Затем следует замена архитектур с самыми низкими оценками в пуле кандидатов на лучшие, более новые архитектуры. Эта процедура повторяется несколько раз, и, таким образом, пул кандидатов со временем совершенствуется. Мутации в контексте развивающихся ИНС — это такие операции, как добавление или удаление слоя, которые включают изменение типа слоя (например, от свертки к объединению), изменение гиперпараметров слоя или изменение гиперпараметров обучения. На CIFAR-10 и ImageNet эволюция и RL показали сопоставимые результаты, в то время как оба немного превзошли случайный поиск . [13] [12]

Байесовская оптимизация

Байесовская оптимизация (BO), которая доказала свою эффективность в качестве метода оптимизации гиперпараметров, также может применяться к NAS. В этом контексте целевая функция сопоставляет архитектуру с ее ошибкой проверки после обучения в течение ряда эпох. На каждой итерации BO использует суррогат для моделирования этой целевой функции на основе ранее полученных архитектур и их ошибок проверки. Затем выбирается следующая архитектура для оценки путем максимизации функции приобретения, такой как ожидаемое улучшение, что обеспечивает баланс между исследованием и эксплуатацией. Максимизация функции приобретения и оценка целевой функции часто являются вычислительно затратными для NAS и делают применение BO сложным в этом контексте. Недавно BANANAS [18] достиг многообещающих результатов в этом направлении, представив высокопроизводительную реализацию BO, связанную с нейронным предиктором.

Подъем на холм

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

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

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

LEMONADE [16] — это эволюционный алгоритм, который принял ламаркизм для эффективной оптимизации нескольких целей. В каждом поколении создаются дочерние сети для улучшения границы Парето относительно текущей популяции ИНС.

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

Одноразовые модели

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

Для снижения вычислительных затрат многие недавние методы NAS полагаются на идею распределения веса. [23] [24] В этом подходе определяется одна сверхпараметризованная суперсеть (также известная как модель одноразового использования). Суперсеть — это очень большой направленный ациклический граф (DAG), подграфы которого являются различными кандидатами нейронных сетей. Таким образом, в суперсети веса распределяются между большим количеством различных подархитектур, имеющих общие ребра, каждое из которых рассматривается как путь внутри суперсети. Основная идея заключается в обучении одной суперсети, которая охватывает множество вариантов для окончательного дизайна, а не в генерации и обучении тысяч сетей независимо. В дополнение к изученным параметрам изучается набор параметров архитектуры, чтобы отобразить предпочтение одного модуля над другим. Такие методы сокращают требуемые вычислительные ресурсы до всего лишь нескольких дней GPU.

Более поздние работы дополнительно объединяют эту парадигму распределения веса с непрерывным расслаблением пространства поиска, [25] [26] [27] [28], что позволяет использовать методы оптимизации на основе градиента. Эти подходы обычно называют дифференцируемыми NAS, и они оказались очень эффективными при исследовании пространства поиска нейронных архитектур. Одним из самых популярных алгоритмов среди градиентных методов для NAS является DARTS. [27] Однако DARTS сталкивается с такими проблемами, как падение производительности из-за неизбежной агрегации пропусков соединений и плохого обобщения, которые были решены многими будущими алгоритмами. [29] [30] [31] [32] Такие методы, как [30] [31], направлены на укрепление DARTS и сглаживание ландшафта точности проверки путем введения регуляризации на основе нормы Гессе и случайного сглаживания/состязательной атаки соответственно. Причина ухудшения производительности позже анализируется с точки зрения выбора архитектуры. [33]

Дифференцируемый NAS показал, что дает конкурентоспособные результаты, используя лишь часть времени поиска, требуемого методами поиска на основе RL. Например, FBNet (сокращение от Facebook Berkeley Network) продемонстрировал, что поиск на основе суперсети создает сети, которые превосходят кривую компромисса скорости и точности mNASNet и MobileNetV2 на наборе данных классификации изображений ImageNet. FBNet достигает этого, используя в 400 раз меньше времени поиска, чем было использовано для mNASNet. [34] [35] [36] Кроме того, SqueezeNAS продемонстрировал, что NAS на основе суперсети создает нейронные сети, которые превосходят кривую компромисса скорости и точности MobileNetV3 на наборе данных семантической сегментации Cityscapes, а SqueezeNAS использует в 100 раз меньше времени поиска, чем было использовано в поиске на основе RL авторов MobileNetV3. [37] [38]

Тесты поиска нейронной архитектуры

Поиск нейронной архитектуры часто требует больших вычислительных ресурсов из-за его дорогостоящих фаз обучения и оценки. Это дополнительно приводит к большому углеродному следу, необходимому для оценки этих методов. Чтобы преодолеть это ограничение, были введены бенчмарки NAS [39] [40] [41] [42] , с помощью которых можно либо запросить, либо предсказать окончательную производительность нейронных архитектур за считанные секунды. Бенчмарк NAS определяется как набор данных с фиксированным разделением обучения и тестирования, пространством поиска и фиксированным конвейером обучения (гиперпараметрами). Существует в основном два типа бенчмарков NAS: суррогатный бенчмарк NAS и табличный бенчмарк NAS. Суррогатный бенчмарк использует суррогатную модель (например, нейронную сеть) для прогнозирования производительности архитектуры из пространства поиска. С другой стороны, табличный бенчмарк запрашивает фактическую производительность архитектуры, обученной до конвергенции. Оба эти бенчмарка поддерживают запросы и могут использоваться для эффективного моделирования многих алгоритмов NAS, используя только ЦП для запроса бенчмарка вместо обучения архитектуры с нуля.

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

Дальнейшее чтение

Обзорные статьи.

Ссылки

  1. ^ ab Elsken, Thomas; Metzen, Jan Hendrik; Hutter, Frank (8 августа 2019 г.). «Neural Architecture Search: A Survey». Journal of Machine Learning Research . 20 (55): 1–21. arXiv : 1808.05377 .
  2. ^ Вистуба, Мартин; Рават, Амбриш; Педапати, Теджасвини (04 мая 2019 г.). «Опрос по поиску нейронной архитектуры». arXiv : 1905.01392 [cs.LG].
  3. ^ abc Zoph, Barret; Le, Quoc V. (2016-11-04). «Поиск нейронной архитектуры с подкреплением». arXiv : 1611.01578 [cs.LG].
  4. ^ abcde Zoph, Barret; Vasudevan, Vijay; Shlens, Jonathon; Le, Quoc V. (2017-07-21). «Изучение переносимых архитектур для масштабируемого распознавания изображений». arXiv : 1707.07012 [cs.CV].
  5. ^ Маттиас Фойрер и Фрэнк Хуттер. Оптимизация гиперпараметров. В: AutoML: методы, системы, проблемы , страницы 3–38.
  6. ^ Ваншорен, Хоакин (2019). «Мета-обучение». Автоматизированное машинное обучение . Серия Springer о проблемах машинного обучения. стр. 35–61. doi :10.1007/978-3-030-05318-5_2. ISBN 978-3-030-05317-8. S2CID  239362577.
  7. ^ Салехин, Имрус; Ислам, Мэриленд Шамиул; Саха, Притом; Номан, SM; Туни, Азра; Хасан, Мэриленд Мехеди; Батен, Мэриленд Абу (2024-01-01). «AutoML: систематический обзор автоматизированного машинного обучения с поиском нейронной архитектуры». Журнал информации и разведки . 2 (1): 52–81. doi : 10.1016/j.jiixd.2023.10.002 . ISSN  2949-7159.
  8. ^ Zoph, Barret; Vasudevan, Vijay; Shlens, Jonathon; Le, Quoc V. (2 ноября 2017 г.). "AutoML для классификации изображений большого масштаба и обнаружения объектов". Исследовательский блог . Получено 20 февраля 2018 г.
  9. ^ Фам, Хьеу; Гуан, Мелоди Й.; Зоф, Баррет; Ле, Куок В.; Дин, Джефф (2018-02-09). «Эффективный поиск нейронной архитектуры с помощью совместного использования параметров». arXiv : 1802.03268 [cs.LG].
  10. ^ Реал, Эстебан; Мур, Шерри; Селле, Эндрю; Саксена, Саураб; Суэмацу, Ютака Леон; Тан, Цзе; Ле, Куок; Куракин, Алекс (03.03.2017). «Крупномасштабная эволюция классификаторов изображений». arXiv : 1703.01041 [cs.NE].
  11. ^ Суганума, Масанори; Сиракава, Шиничи; Нагао, Томохару (2017-04-03). «Генетический программный подход к проектированию архитектур сверточных нейронных сетей». arXiv : 1704.00764v2 [cs.NE].
  12. ^ ab Liu, Hanxiao; Simonyan, Karen; Vinyals, Oriol; Fernando, Chrisantha; Kavukcuoglu, Koray (2017-11-01). "Иерархические представления для эффективного поиска архитектуры". arXiv : 1711.00436v2 [cs.LG].
  13. ^ ab Real, Esteban; Aggarwal, Alok; Huang, Yanping; Le, Quoc V. (2018-02-05). «Регуляризованная эволюция для поиска архитектуры классификатора изображений». arXiv : 1802.01548 [cs.NE].
  14. ^ Мииккулайнен, Ристо; Лян, Джейсон; Мейерсон, Эллиот; Равал, Адитья; Финк, Дэн; Франкон, Оливье; Раджу, Бала; Шахрзад, Хормоз; Наврузян, Аршак; Даффи, Найджел; Ходжат, Бабак (04 марта 2017 г.). «Развитие глубоких нейронных сетей». arXiv : 1703.00548 [cs.NE].
  15. ^ Xie, Lingxi; Yuille, Alan (2017). «Genetic CNN». Международная конференция IEEE по компьютерному зрению (ICCV) 2017 г. стр. 1388–1397. arXiv : 1703.01513 . doi :10.1109/ICCV.2017.154. ISBN 978-1-5386-1032-9. S2CID  206770867.
  16. ^ abc Элскен, Томас; Метцен, Ян Хендрик; Хуттер, Франк (2018-04-24). «Эффективный многоцелевой поиск нейронной архитектуры с помощью ламарковской эволюции». arXiv : 1804.09081 [stat.ML].
  17. ^ Лю, Юйцяо; Сан, Яньань; Сюэ, Бин; Чжан, Мэнцзе; Йен, Гэри Г.; Тан, Кей Чен (2021). «Обзор поиска эволюционной нейронной архитектуры». Труды IEEE по нейронным сетям и системам обучения . 34 (2): 1–21. arXiv : 2008.10937 . doi : 10.1109/TNNLS.2021.3100554. PMID  34357870. S2CID  221293236.
  18. ^ Уайт, Колин; Нейсвангер, Вилли; Савани, Яш (2020-11-02). «BANANAS: байесовская оптимизация с нейронными архитектурами для поиска нейронной архитектуры». arXiv : 1910.11858 [cs.LG].
  19. ^ Томас, Элскен; Ян Хендрик, Метцен; Франк, Хуттер (2017-11-13). «Простой и эффективный поиск архитектуры для сверточных нейронных сетей». arXiv : 1711.04528 [stat.ML].
  20. ^ ab Zhou, Yanqi; Diamos, Gregory. "Neural Architect: многоцелевой поиск нейронной архитектуры с прогнозированием производительности" (PDF) . Baidu. Архивировано из оригинала (PDF) 2019-09-27 . Получено 2019-09-27 .
  21. ^ Тан, Минсин; Чэнь, Бо; Пан, Руомин; Васудеван, Виджай; Сандлер, Марк; Ховард, Эндрю; Ле, Куок В. (2018). «MnasNet: Платформенно-ориентированная нейронная архитектура поиска для мобильных устройств». arXiv : 1807.11626 [cs.CV].
  22. ^ Ховард, Эндрю; Сэндлер, Марк; Чу, Грейс; Чен, Лян-Че; Чен, Бо; Тан, Минсин; Ван, Вэйцзюнь; Чжу, Юкунь; Панг, Руомин; Васудеван, Виджай; Ле, Куок В.; Адам, Хартвиг ​​(06 мая 2019 г.). «Поиск MobileNetV3». arXiv : 1905.02244 [cs.CV].
  23. ^ Фам, Хьеу; Гуан, Мелоди Й.; Зоф, Баррет; Ле, Куок В.; Дин, Джефф (2018). «Эффективный поиск нейронной архитектуры с помощью совместного использования параметров». arXiv : 1802.03268 [cs.LG].
  24. ^ Ли, Лиам; Талвалкар, Амит (2019). «Случайный поиск и воспроизводимость для поиска нейронной архитектуры». arXiv : 1902.07638 [cs.LG].
  25. ^ Цай, Хань; Чжу, Лигенг; Хань, Сун (2018). «ProxylessNAS: прямой поиск нейронной архитектуры по целевой задаче и оборудованию». arXiv : 1812.00332 [cs.LG].
  26. ^ Дун, Сюаньи; Ян, И (2019). «Поиск надежной нейронной архитектуры за четыре часа работы GPU». arXiv : 1910.04465 [cs.CV].
  27. ^ ab Лю, Ханьсяо; Симонян, Карен; Ян, Имин (2018). «DARTS: поиск дифференцируемой архитектуры». arXiv : 1806.09055 [cs.LG].
  28. ^ Се, Сируи; Чжэн, Хэхуэй; Лю, Чуньсяо; Линь, Лян (2018). «SNAS: поиск стохастической нейронной архитектуры». arXiv : 1812.09926 [cs.LG].
  29. ^ Чу, Сянсян; Чжоу, Тяньбао; Чжан, Бо; Ли, Цзисян (2019). «Честный дартс: устранение несправедливых преимуществ при поиске дифференцируемой архитектуры». arXiv : 1911.12126 [cs.LG].
  30. ^ ab Zela, Arber; Elsken, Thomas; Saikia, Tonmoy; Marrakchi, Yassine; Brox, Thomas; Hutter, Frank (2019). «Понимание и укрепление поиска дифференцируемой архитектуры». arXiv : 1909.09656 [cs.LG].
  31. ^ ab Chen, Xiangning; Hsieh, Cho-Jui (2020). «Стабилизация поиска дифференцируемой архитектуры с помощью регуляризации на основе возмущений». arXiv : 2002.05283 [cs.LG].
  32. ^ Сюй, Юхуэй; Се, Линси; Чжан, Сяопэн; Чен, Синь; Ци, Го-Цзюнь; Тянь, Ци; Сюн, Хункай (2019). «PC-DARTS: частичные соединения каналов для поиска архитектуры с эффективным использованием памяти». arXiv : 1907.05737 [cs.CV].
  33. ^ Ван, Руочен; Ченг, Минхао; Чен, Сяннин; Тан, Сяочэн; Се, Чо-Джуй (2021). «Переосмысление выбора архитектуры в дифференцируемом NAS». arXiv : 2108.04392 [cs.LG].
  34. ^ Ву, Бичен; Дай, Сяолян; Чжан, Пэйчжао; Ван, Янхань; Сунь, Фэй; Ву, Имин; Тянь, Юаньдун; Вайда, Питер; Цзя, Янцин; Кейцер, Курт (24 мая 2019 г.). «FBNet: эффективное проектирование ConvNet с учетом аппаратного обеспечения с помощью поиска дифференцируемой нейронной архитектуры». arXiv : 1812.03443 [cs.CV].
  35. ^ Сандлер, Марк; Ховард, Эндрю; Чжу, Менглонг; Жмогинов, Андрей; Чэнь, Лян-Чи (2018). «MobileNetV2: инвертированные остатки и линейные узкие места». arXiv : 1801.04381 ​​[cs.CV].
  36. ^ Койцер, Курт (2019-05-22). "Совместное проектирование DNN и ускорителей NN" (PDF) . IEEE . Получено 2019-09-26 .
  37. ^ Шоу, Альберт; Хантер, Дэниел; Иандола, Форрест; Сидху, Сэмми (2019). «SqueezeNAS: Быстрый поиск нейронной архитектуры для более быстрой семантической сегментации». arXiv : 1908.01748 [cs.CV].
  38. ^ Ёсида, Дзюнко (2019-08-25). «Имеет ли ваш чип ИИ собственную DNN?». EE Times . Получено 2019-09-26 .
  39. ^ Ин, Крис; Кляйн, Аарон; Реал, Эстебан; Кристиансен, Эрик; Мерфи, Кевин; Хаттер, Фрэнк (2019). «NAS-Bench-101: На пути к воспроизводимому поиску нейронной архитектуры». arXiv : 1902.09635 [cs.LG].
  40. ^ Зела, Арбер; Сиемс, Жюльен; Хаттер, Франк (2020). «NAS-Bench-1Shot1: Сравнительный анализ и анализ одноразового поиска нейронной архитектуры». arXiv : 2001.10422 [cs.LG].
  41. ^ Дун, Сюаньи; Ян, И (2020). «NAS-Bench-201: Расширение области поиска воспроизводимой нейронной архитектуры». arXiv : 2001.00326 [cs.CV].
  42. ^ Зела, Арбер; Сиемс, Жюльен; Циммер, Лукас; Лукасик, Йовита; Кейпер, Маргрет; Хаттер, Франк (2020). «Суррогатные тесты NAS: выход за рамки ограниченных поисковых пространств табличных тестов NAS». arXiv : 2008.09777 [cs.LG].