Поиск нейронной архитектуры
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''GPT-5.6 Terra High''' и проверена участником ~~~~. Промпт приводится по...) |
|||
| Строка 1: | Строка 1: | ||
{{well|Статья написана с использованием LLM '''GPT-5.6 Terra High''' и проверена участником [[Участник:Oleg Batsiev|Oleg Batsiev]] 18:12, 11 июля 2026 (MSD). | {{well|Статья написана с использованием LLM '''GPT-5.6 Terra High''' и проверена участником [[Участник:Oleg Batsiev|Oleg Batsiev]] 18:12, 11 июля 2026 (MSD). | ||
| - | + | Промпты и описание редакторской проверки приведены в [[Обсуждение:Поиск нейронной архитектуры]]. | |
}} | }} | ||
{{TOCright}} | {{TOCright}} | ||
| - | '''Поиск нейронной архитектуры''' (англ. ''neural architecture search'', NAS) — | + | '''Поиск нейронной архитектуры''' (англ. ''neural architecture search'', NAS; также ''нейроархитектурный поиск'') — направление [[автоматическое машинное обучение|автоматического машинного обучения]], в котором структуру [[нейронная сеть|нейронной сети]] выбирают с помощью алгоритма оптимизации. Предметом поиска могут быть операции, связи между ними, число и ширина блоков, способы объединения признаков и другие элементы архитектуры. В аппаратно-ориентированном NAS дополнительно учитывают задержку, потребление памяти, энергии или иные свойства модели на целевом устройстве. |
| - | + | NAS не является способом автоматически получить «лучшую возможную сеть». Результат определяется пространством допустимых архитектур, способом поиска, методом приближённой оценки кандидатов, вычислительным бюджетом и протоколом окончательного сравнения.<ref name="survey">{{статья |автор=Elsken T., Metzen J. H., Hutter F. |заглавие=Neural Architecture Search: A Survey |издание=Journal of Machine Learning Research |год=2019 |том=20 |номер=55 |страницы=1–21 |ссылка=https://jmlr.org/papers/v20/18-598.html}}</ref> | |
== Мотивация == | == Мотивация == | ||
| - | Архитектура | + | Архитектура сети влияет на точность, скорость обучения и вывода, объём памяти и пригодность модели для конкретного оборудования. При ручном проектировании разработчик выбирает глубину сети, виды операций, ширину слоёв и схему связей, после чего многократно обучает и сравнивает варианты. NAS переносит часть этого перебора в формальную процедуру оптимизации. |
| - | + | Автоматизация не устраняет работу человека. До начала поиска необходимо определить данные, метрику, допустимые операции, ограничения и бюджет. Поэтому NAS автоматизирует выбор внутри заданного пространства, но не постановку всей инженерной задачи. | |
| - | == | + | == Основные составляющие == |
| - | Обычно NAS | + | Обычно систему NAS описывают тремя взаимосвязанными составляющими:<ref name="survey" /> |
| - | * '''пространство поиска''' (search space) | + | * '''пространство поиска''' (''search space'') задаёт множество допустимых архитектур; |
| - | * '''стратегия поиска''' (search strategy) | + | * '''стратегия поиска''' (''search strategy'') определяет, как выбирать очередных кандидатов; |
| - | * ''' | + | * '''стратегия оценки качества''' (''performance estimation strategy'') позволяет сравнивать кандидатов, не обязательно полностью обучая каждый из них. |
| + | |||
| + | Увеличение пространства поиска даёт больше свободы, но затрудняет оптимизацию. Ускоренная оценка позволяет проверить больше кандидатов, однако может исказить их ранжирование. Поэтому эти три части нельзя корректно сравнивать по отдельности. | ||
| + | |||
| + | == Формальная постановка == | ||
| - | Пусть <tex>a\in\mathcal{A}</tex> — архитектура из пространства | + | Пусть <tex>a\in\mathcal{A}</tex> — архитектура из пространства <tex>\mathcal{A}</tex>, <tex>w</tex> — её обучаемые веса, а <tex>\mathcal{L}_{\mathrm{train}}</tex> и <tex>\mathcal{L}_{\mathrm{val}}</tex> — функции потерь на обучающей и валидационной выборках. Общую постановку можно записать как двухуровневую оптимизацию: |
::<tex>a^*=\arg\min_{a\in\mathcal{A}}\mathcal{L}_{\mathrm{val}}(w_a^*,a),</tex> | ::<tex>a^*=\arg\min_{a\in\mathcal{A}}\mathcal{L}_{\mathrm{val}}(w_a^*,a),</tex> | ||
| Строка 30: | Строка 34: | ||
::<tex>w_a^*=\arg\min_w\mathcal{L}_{\mathrm{train}}(w,a).</tex> | ::<tex>w_a^*=\arg\min_w\mathcal{L}_{\mathrm{train}}(w,a).</tex> | ||
| - | + | На внутреннем уровне для данной архитектуры обучаются веса, а на внешнем архитектура выбирается по валидационному качеству. Эта запись является общей моделью задачи, а не буквальным описанием каждого алгоритма NAS. Например, обучение с подкреплением и эволюционный поиск решают внешнюю задачу дискретными методами, а DARTS заменяет дискретный выбор непрерывной релаксацией. | |
| - | + | Тестовая выборка не должна участвовать ни в обучении весов, ни в выборе архитектуры. Иначе оценка найденной модели оказывается оптимистически смещённой. | |
| - | + | == Пространства поиска == | |
| - | === | + | === Макроархитектурный поиск === |
| - | При поиске макроархитектуры | + | При поиске макроархитектуры алгоритм может изменять всю структуру сети: число и типы слоёв, ширину блоков, места уменьшения разрешения, пропускные соединения и взаимное расположение операций. Такой поиск гибок, но пространство быстро становится комбинаторным, а кандидаты могут существенно различаться по стоимости обучения. |
| - | + | === Поиск повторяемых ячеек === | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Во многих работах ищется не вся сеть, а небольшая ячейка (''cell'') — ориентированный ациклический граф операций над промежуточными тензорами. Итоговая модель строится повторением найденной ячейки по заранее заданной макросхеме. | |
| - | + | Поиск ячеек уменьшает число вариантов и позволяет переносить найденный блок в более крупную сеть. Одновременно он сужает задачу: число повторений, правила изменения разрешения и общая схема сети задаются человеком. Поэтому результат такого NAS нельзя интерпретировать как полностью автоматическое проектирование модели. | |
| - | + | === Аппаратно-ориентированный поиск === | |
| - | + | Для мобильных устройств, микроконтроллеров и систем реального времени одной точности недостаточно. Ограничения можно задать явно, например: | |
| - | + | ::<tex>\min_{a\in\mathcal{A}}\mathcal{L}_{\mathrm{val}}(w_a^*,a)</tex> | |
| + | |||
| + | при условиях | ||
| - | + | ::<tex>\operatorname{Latency}(a;h)\leq B_L,\qquad \operatorname{Memory}(a;h)\leq B_M,</tex> | |
| - | + | где <tex>h</tex> — целевая аппаратная платформа, а <tex>B_L</tex> и <tex>B_M</tex> — допустимые задержка и память. Другой вариант — многокритериальная оптимизация или свёртка нескольких нормированных показателей в одну функцию. Непосредственно складывать точность, миллисекунды и байты без нормировки и интерпретации коэффициентов некорректно. | |
| - | + | Задержку желательно измерять на целевом оборудовании: число операций и реальное время выполнения могут ранжировать архитектуры по-разному из-за особенностей компилятора, памяти и параллелизма. | |
== Стратегии поиска == | == Стратегии поиска == | ||
| - | === | + | === Случайный поиск и модели качества === |
| - | + | Случайный поиск служит важной базовой линией: он равномерно или по заданному распределению выбирает архитектуры и оставляет лучшие по результатам оценки. Более сложные методы могут обучать модель качества (''performance predictor'', ''surrogate model''), которая по описанию уже проверенных архитектур предсказывает перспективность новых кандидатов. К этой группе близки методы байесовской оптимизации. | |
| - | + | Сложный алгоритм поиска имеет смысл только тогда, когда он при одинаковом пространстве и бюджете устойчиво превосходит простую базовую линию. | |
| - | + | === Поиск с подкреплением === | |
| - | === | + | В одном из ранних подходов контроллер, например рекуррентная сеть, последовательно генерирует описание архитектуры. Валидационное качество обученной дочерней модели используется как награда, а параметры контроллера обновляются так, чтобы повышать вероятность удачных решений.<ref name="zoph">{{статья |автор=Zoph B., Le Q. V. |заглавие=Neural Architecture Search with Reinforcement Learning |издание=International Conference on Learning Representations |год=2017 |ссылка=https://research.google/pubs/neural-architecture-search-with-reinforcement-learning/}}</ref> |
| - | + | Если каждую дочернюю модель обучать отдельно, метод требует значительных вычислений. Кроме того, награда шумна, поскольку зависит не только от архитектуры, но и от инициализации, порядка объектов и процедуры обучения. | |
| - | + | === Эволюционный поиск === | |
| - | + | Эволюционные методы поддерживают популяцию архитектур. Родитель может выбираться турниром, а потомок создаётся мутацией: заменой операции, добавлением или удалением связи, изменением ширины либо глубины. | |
| - | === | + | В ''aging evolution'', или регуляризованной эволюции, из случайной выборки популяции выбирают лучшего родителя, но после добавления потомка удаляют самый старый элемент всей популяции независимо от его качества.<ref name="real">{{статья |автор=Real E., Aggarwal A., Huang Y., Le Q. V. |заглавие=Regularized Evolution for Image Classifier Architecture Search |издание=Proceedings of the AAAI Conference on Artificial Intelligence |год=2019 |том=33 |номер=1 |страницы=4780–4789 |doi=10.1609/aaai.v33i01.33014780 |ссылка=https://ojs.aaai.org/index.php/AAAI/article/view/4405}}</ref> Такое правило заставляет архитектуры подтверждать качество через потомков и не позволяет одному удачно обученному кандидату оставаться в популяции неограниченно долго. |
| - | + | === Разделение весов === | |
| - | В ENAS контроллер выбирает | + | Вместо независимого обучения каждой архитектуры можно построить суперсеть (''supernet''), содержащую множество допустимых операций и связей. Кандидат представляется её подграфом и наследует соответствующие веса. В ENAS контроллер выбирает подграфы, а их параметры разделяются между разными дочерними моделями.<ref name="enas">{{статья |автор=Pham H., Guan M. Y., Zoph B., Le Q. V., Dean J. |заглавие=Efficient Neural Architecture Search via Parameter Sharing |издание=Proceedings of the 35th International Conference on Machine Learning |год=2018 |том=80 |страницы=4092–4101 |ссылка=https://proceedings.mlr.press/v80/pham18a.html}}</ref> |
| + | |||
| + | Разделение весов резко уменьшает стоимость поиска, но оценка подграфа становится зависимой от того, как часто и вместе с какими конкурентами обучались его операции. Ранжирование с общими весами может не совпасть с ранжированием тех же архитектур после независимого обучения с нуля. | ||
=== Дифференцируемый поиск === | === Дифференцируемый поиск === | ||
| - | В DARTS (Differentiable Architecture Search) дискретный выбор операции заменяется непрерывной | + | В DARTS (''Differentiable Architecture Search'') дискретный выбор операции временно заменяется непрерывной смесью. Для ребра <tex>(i,j)</tex> вычислительного графа она имеет вид |
| + | |||
| + | ::<tex>\bar{o}^{(i,j)}(x)=\sum_{o\in\mathcal{O}}\frac{\exp(\alpha_o^{(i,j)})}{\sum_{o'\in\mathcal{O}}\exp(\alpha_{o'}^{(i,j)})}o(x),</tex> | ||
| + | |||
| + | где <tex>\mathcal{O}</tex> — набор операций, а <tex>\alpha</tex> — параметры архитектуры. Обычные веса суперсети обновляют по обучающим данным, а параметры <tex>\alpha</tex> — по валидационным; на практике эти шаги чередуют, используя приближение двухуровневой задачи.<ref name="darts">{{статья |автор=Liu H., Simonyan K., Yang Y. |заглавие=DARTS: Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2019 |ссылка=https://openreview.net/forum?id=S1eYHoC5FX}}</ref> | ||
| + | |||
| + | После поиска непрерывную суперсеть дискретизируют. В исходном варианте для свёрточной ячейки на каждом промежуточном узле оставляют заданное число наиболее сильных входящих рёбер и по одной операции с наибольшим архитектурным весом на каждом оставленном ребре; операция без связи при выборе не учитывается. Поэтому описание «взять максимум на каждом ребре» недостаточно точно. | ||
| + | |||
| + | DARTS ускоряет поиск, но непрерывная задача не полностью эквивалентна исходной дискретной. Результат зависит от динамики оптимизации и момента остановки; в некоторых пространствах метод склонен выбирать вырожденные структуры, например с чрезмерным числом пропускных связей.<ref name="zela">{{статья |автор=Zela A., Elsken T., Saikia T., Marrakchi Y., Brox T., Hutter F. |заглавие=Understanding and Robustifying Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2020 |ссылка=https://openreview.net/forum?id=H1gDNyrKDS}}</ref> | ||
| + | |||
| + | == Оценка кандидатов == | ||
| + | |||
| + | === Полное обучение === | ||
| + | |||
| + | Наиболее прямой способ — независимо обучить каждый кандидат до сходимости с тем же режимом, который предполагается использовать для итоговой модели. Такая оценка дорога, поэтому доступна лишь для небольшого числа архитектур. | ||
| + | |||
| + | === Приближённые оценки === | ||
| - | : | + | Для сокращения стоимости применяют: |
| - | + | * меньшее число эпох или раннюю остановку; | |
| + | * уменьшенные данные, входное разрешение или ширину сети; | ||
| + | * разделение весов в суперсети; | ||
| + | * модель, предсказывающую итоговое качество; | ||
| + | * низкозатратные показатели, вычисляемые до полноценного обучения (''zero-cost proxies''). | ||
| - | + | Любая прокси-оценка полезна лишь настолько, насколько она сохраняет ранжирование на целевой задаче. Архитектура, быстро обучающаяся на уменьшенной задаче, не обязательно окажется лучшей после полного обучения. | |
| - | == | + | === Окончательная проверка === |
| - | + | После завершения поиска выбранную дискретную архитектуру следует обучить с нуля, желательно несколько раз с разными случайными инициализациями. В отчёте необходимо отделять стоимость самого поиска от стоимости окончательного обучения. Для справедливого сравнения фиксируют пространство архитектур, бюджет, данные, режим обучения, число запусков и аппаратную среду; итоговое качество измеряют на тестовой выборке, не участвовавшей в поиске. | |
| - | + | == Табличные тестовые среды и воспроизводимость == | |
| - | + | Табличные тестовые среды NAS заранее содержат результаты обучения большого числа архитектур. Алгоритм обращается к таблице вместо повторного дорогостоящего обучения, что позволяет воспроизводимо сравнивать стратегии поиска при одинаковом пространстве и бюджете. Например, NAS-Bench-101 содержит результаты для фиксированного пространства свёрточных ячеек на CIFAR-10.<ref name="nasbench101">{{статья |автор=Ying C., Klein A., Christiansen E., Real E., Murphy K., Hutter F. |заглавие=NAS-Bench-101: Towards Reproducible Neural Architecture Search |издание=Proceedings of the 36th International Conference on Machine Learning |год=2019 |том=97 |страницы=7105–7114 |ссылка=https://proceedings.mlr.press/v97/ying19a.html}}</ref> | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Такие среды не заменяют эксперименты на реальной задаче: вывод справедлив только для зафиксированных операций, данных и процедуры обучения. Их основное назначение — контролируемое сравнение алгоритмов и исследование вариативности результатов. | |
| - | == Связь с AutoML и | + | == Связь с AutoML и подбором гиперпараметров == |
| - | [[Автоматическое машинное обучение]] | + | [[Автоматическое машинное обучение]] охватывает выбор признаков, предварительную обработку, алгоритмы, гиперпараметры и целые вычислительные конвейеры. NAS сосредоточен на структуре нейронной сети и является одной из задач AutoML. |
| - | Граница между архитектурой и гиперпараметрами | + | Граница между архитектурой и гиперпараметрами условна. Число каналов, коэффициент расширения блока или тип нормализации можно считать как элементами архитектуры, так и гиперпараметрами. В практических системах структурные и обучающие параметры нередко оптимизируют совместно, но это увеличивает пространство поиска и усложняет честное распределение бюджета. |
== Ограничения и типичные ошибки == | == Ограничения и типичные ошибки == | ||
| - | + | К основным ограничениям NAS относятся: | |
| - | * | + | * '''зависимость от пространства поиска''': алгоритм не может выбрать операцию или структуру, которая заранее не была разрешена; |
| - | * | + | * '''высокая вычислительная и энергетическая стоимость''', особенно при независимом обучении множества кандидатов; |
| - | * | + | * '''смещение прокси-оценки''': качество при ранней остановке или с общими весами может плохо предсказывать окончательный результат; |
| - | * | + | * '''переобучение на валидационной выборке''', которая многократно используется стратегией поиска; |
| - | * | + | * '''нестабильность''': результат зависит от инициализации, выборок, гиперпараметров поиска и реализации; |
| - | * | + | * '''неравное сравнение''': преимущество может объясняться большим бюджетом, иным режимом обучения или дополнительными данными, а не самой найденной архитектурой; |
| - | * перенос | + | * '''ограниченный перенос''': архитектура, найденная на одном наборе данных или устройстве, не обязана сохранять преимущество на другом. |
| - | + | Сообщать только точность итоговой сети недостаточно. Нужны бюджет поиска, число оценённых кандидатов, время и оборудование, стоимость окончательного обучения, разброс по независимым запускам и результаты сильных ручных и случайных базовых линий. | |
== Связь с философией искусственного интеллекта == | == Связь с философией искусственного интеллекта == | ||
| - | + | NAS переносит часть проектирования интеллектуальной системы от инженера к алгоритму, но не устраняет человеческий выбор. Разработчик задаёт язык, на котором могут быть описаны архитектуры, определяет цель и решает, какие затраты считать допустимыми. В этом смысле найденная сеть отражает не только свойства данных, но и предпосылки, встроенные в пространство и критерий поиска. | |
| - | + | Поэтому вопрос об «автоматическом изобретении» архитектуры зависит от уровня описания. Алгоритм может обнаружить нетривиальную комбинацию разрешённых операций, однако сами операции, ограничения и способ оценки остаются результатом предварительного проектирования. | |
== См. также == | == См. также == | ||
| Строка 143: | Строка 161: | ||
* [[Глубокое обучение]] | * [[Глубокое обучение]] | ||
* [[Автоматическое машинное обучение]] | * [[Автоматическое машинное обучение]] | ||
| - | |||
* [[Обучение с подкреплением]] | * [[Обучение с подкреплением]] | ||
| - | |||
* [[Градиентный спуск]] | * [[Градиентный спуск]] | ||
* [[Квантование нейронных сетей]] | * [[Квантование нейронных сетей]] | ||
| Строка 151: | Строка 167: | ||
== Примечания == | == Примечания == | ||
| - | + | <references /> | |
== Литература == | == Литература == | ||
| + | * {{статья |автор=Elsken T., Metzen J. H., Hutter F. |заглавие=Neural Architecture Search: A Survey |издание=Journal of Machine Learning Research |год=2019 |том=20 |номер=55 |страницы=1–21 |ссылка=https://jmlr.org/papers/v20/18-598.html}} | ||
* {{статья |автор=Zoph B., Le Q. V. |заглавие=Neural Architecture Search with Reinforcement Learning |издание=International Conference on Learning Representations |год=2017 |ссылка=https://research.google/pubs/neural-architecture-search-with-reinforcement-learning/}} | * {{статья |автор=Zoph B., Le Q. V. |заглавие=Neural Architecture Search with Reinforcement Learning |издание=International Conference on Learning Representations |год=2017 |ссылка=https://research.google/pubs/neural-architecture-search-with-reinforcement-learning/}} | ||
| - | * {{статья |автор=Pham H., Guan M. Y., Zoph B., Le Q. V., Dean J. |заглавие=Efficient Neural Architecture Search via Parameter Sharing |издание=Proceedings of the 35th International Conference on Machine Learning |год=2018 |страницы=4092–4101 |ссылка=https://proceedings.mlr.press/v80/pham18a.html}} | + | * {{статья |автор=Pham H., Guan M. Y., Zoph B., Le Q. V., Dean J. |заглавие=Efficient Neural Architecture Search via Parameter Sharing |издание=Proceedings of the 35th International Conference on Machine Learning |год=2018 |том=80 |страницы=4092–4101 |ссылка=https://proceedings.mlr.press/v80/pham18a.html}} |
| - | * {{статья |автор=Real E., Aggarwal A., Huang Y., Le Q. V. |заглавие=Regularized Evolution for Image Classifier Architecture Search |издание=Proceedings of the AAAI Conference on Artificial Intelligence |год=2019 |том=33 |номер=1 |страницы=4780–4789 |doi=10.1609/aaai.v33i01.33014780}} | + | * {{статья |автор=Real E., Aggarwal A., Huang Y., Le Q. V. |заглавие=Regularized Evolution for Image Classifier Architecture Search |издание=Proceedings of the AAAI Conference on Artificial Intelligence |год=2019 |том=33 |номер=1 |страницы=4780–4789 |doi=10.1609/aaai.v33i01.33014780 |ссылка=https://ojs.aaai.org/index.php/AAAI/article/view/4405}} |
| - | * {{статья |автор=Liu H., Simonyan K., Yang Y. |заглавие=DARTS: Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2019 |ссылка=https:// | + | * {{статья |автор=Liu H., Simonyan K., Yang Y. |заглавие=DARTS: Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2019 |ссылка=https://openreview.net/forum?id=S1eYHoC5FX}} |
| - | * {{статья |автор=Zela A., Elsken T., Saikia T., Marrakchi Y., Brox T., Hutter F. |заглавие=Understanding and Robustifying Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2020 |ссылка=https:// | + | * {{статья |автор=Zela A., Elsken T., Saikia T., Marrakchi Y., Brox T., Hutter F. |заглавие=Understanding and Robustifying Differentiable Architecture Search |издание=International Conference on Learning Representations |год=2020 |ссылка=https://openreview.net/forum?id=H1gDNyrKDS}} |
| + | * {{статья |автор=Ying C., Klein A., Christiansen E., Real E., Murphy K., Hutter F. |заглавие=NAS-Bench-101: Towards Reproducible Neural Architecture Search |издание=Proceedings of the 36th International Conference on Machine Learning |год=2019 |том=97 |страницы=7105–7114 |ссылка=https://proceedings.mlr.press/v97/ying19a.html}} | ||
| - | [[Категория: | + | [[Категория:Машинное обучение]] |
| + | [[Категория:Нейронные сети]] | ||
Текущая версия
| | Статья написана с использованием LLM GPT-5.6 Terra High и проверена участником Oleg Batsiev 18:12, 11 июля 2026 (MSD).
Промпты и описание редакторской проверки приведены в Обсуждение:Поиск нейронной архитектуры. |
Поиск нейронной архитектуры (англ. neural architecture search, NAS; также нейроархитектурный поиск) — направление автоматического машинного обучения, в котором структуру нейронной сети выбирают с помощью алгоритма оптимизации. Предметом поиска могут быть операции, связи между ними, число и ширина блоков, способы объединения признаков и другие элементы архитектуры. В аппаратно-ориентированном NAS дополнительно учитывают задержку, потребление памяти, энергии или иные свойства модели на целевом устройстве.
NAS не является способом автоматически получить «лучшую возможную сеть». Результат определяется пространством допустимых архитектур, способом поиска, методом приближённой оценки кандидатов, вычислительным бюджетом и протоколом окончательного сравнения.[1]
Мотивация
Архитектура сети влияет на точность, скорость обучения и вывода, объём памяти и пригодность модели для конкретного оборудования. При ручном проектировании разработчик выбирает глубину сети, виды операций, ширину слоёв и схему связей, после чего многократно обучает и сравнивает варианты. NAS переносит часть этого перебора в формальную процедуру оптимизации.
Автоматизация не устраняет работу человека. До начала поиска необходимо определить данные, метрику, допустимые операции, ограничения и бюджет. Поэтому NAS автоматизирует выбор внутри заданного пространства, но не постановку всей инженерной задачи.
Основные составляющие
Обычно систему NAS описывают тремя взаимосвязанными составляющими:[1]
- пространство поиска (search space) задаёт множество допустимых архитектур;
- стратегия поиска (search strategy) определяет, как выбирать очередных кандидатов;
- стратегия оценки качества (performance estimation strategy) позволяет сравнивать кандидатов, не обязательно полностью обучая каждый из них.
Увеличение пространства поиска даёт больше свободы, но затрудняет оптимизацию. Ускоренная оценка позволяет проверить больше кандидатов, однако может исказить их ранжирование. Поэтому эти три части нельзя корректно сравнивать по отдельности.
Формальная постановка
Пусть — архитектура из пространства
,
— её обучаемые веса, а
и
— функции потерь на обучающей и валидационной выборках. Общую постановку можно записать как двухуровневую оптимизацию:
где
На внутреннем уровне для данной архитектуры обучаются веса, а на внешнем архитектура выбирается по валидационному качеству. Эта запись является общей моделью задачи, а не буквальным описанием каждого алгоритма NAS. Например, обучение с подкреплением и эволюционный поиск решают внешнюю задачу дискретными методами, а DARTS заменяет дискретный выбор непрерывной релаксацией.
Тестовая выборка не должна участвовать ни в обучении весов, ни в выборе архитектуры. Иначе оценка найденной модели оказывается оптимистически смещённой.
Пространства поиска
Макроархитектурный поиск
При поиске макроархитектуры алгоритм может изменять всю структуру сети: число и типы слоёв, ширину блоков, места уменьшения разрешения, пропускные соединения и взаимное расположение операций. Такой поиск гибок, но пространство быстро становится комбинаторным, а кандидаты могут существенно различаться по стоимости обучения.
Поиск повторяемых ячеек
Во многих работах ищется не вся сеть, а небольшая ячейка (cell) — ориентированный ациклический граф операций над промежуточными тензорами. Итоговая модель строится повторением найденной ячейки по заранее заданной макросхеме.
Поиск ячеек уменьшает число вариантов и позволяет переносить найденный блок в более крупную сеть. Одновременно он сужает задачу: число повторений, правила изменения разрешения и общая схема сети задаются человеком. Поэтому результат такого NAS нельзя интерпретировать как полностью автоматическое проектирование модели.
Аппаратно-ориентированный поиск
Для мобильных устройств, микроконтроллеров и систем реального времени одной точности недостаточно. Ограничения можно задать явно, например:
при условиях
где — целевая аппаратная платформа, а
и
— допустимые задержка и память. Другой вариант — многокритериальная оптимизация или свёртка нескольких нормированных показателей в одну функцию. Непосредственно складывать точность, миллисекунды и байты без нормировки и интерпретации коэффициентов некорректно.
Задержку желательно измерять на целевом оборудовании: число операций и реальное время выполнения могут ранжировать архитектуры по-разному из-за особенностей компилятора, памяти и параллелизма.
Стратегии поиска
Случайный поиск и модели качества
Случайный поиск служит важной базовой линией: он равномерно или по заданному распределению выбирает архитектуры и оставляет лучшие по результатам оценки. Более сложные методы могут обучать модель качества (performance predictor, surrogate model), которая по описанию уже проверенных архитектур предсказывает перспективность новых кандидатов. К этой группе близки методы байесовской оптимизации.
Сложный алгоритм поиска имеет смысл только тогда, когда он при одинаковом пространстве и бюджете устойчиво превосходит простую базовую линию.
Поиск с подкреплением
В одном из ранних подходов контроллер, например рекуррентная сеть, последовательно генерирует описание архитектуры. Валидационное качество обученной дочерней модели используется как награда, а параметры контроллера обновляются так, чтобы повышать вероятность удачных решений.[1]
Если каждую дочернюю модель обучать отдельно, метод требует значительных вычислений. Кроме того, награда шумна, поскольку зависит не только от архитектуры, но и от инициализации, порядка объектов и процедуры обучения.
Эволюционный поиск
Эволюционные методы поддерживают популяцию архитектур. Родитель может выбираться турниром, а потомок создаётся мутацией: заменой операции, добавлением или удалением связи, изменением ширины либо глубины.
В aging evolution, или регуляризованной эволюции, из случайной выборки популяции выбирают лучшего родителя, но после добавления потомка удаляют самый старый элемент всей популяции независимо от его качества.[1] Такое правило заставляет архитектуры подтверждать качество через потомков и не позволяет одному удачно обученному кандидату оставаться в популяции неограниченно долго.
Разделение весов
Вместо независимого обучения каждой архитектуры можно построить суперсеть (supernet), содержащую множество допустимых операций и связей. Кандидат представляется её подграфом и наследует соответствующие веса. В ENAS контроллер выбирает подграфы, а их параметры разделяются между разными дочерними моделями.[1]
Разделение весов резко уменьшает стоимость поиска, но оценка подграфа становится зависимой от того, как часто и вместе с какими конкурентами обучались его операции. Ранжирование с общими весами может не совпасть с ранжированием тех же архитектур после независимого обучения с нуля.
Дифференцируемый поиск
В DARTS (Differentiable Architecture Search) дискретный выбор операции временно заменяется непрерывной смесью. Для ребра вычислительного графа она имеет вид
где — набор операций, а
— параметры архитектуры. Обычные веса суперсети обновляют по обучающим данным, а параметры
— по валидационным; на практике эти шаги чередуют, используя приближение двухуровневой задачи.[1]
После поиска непрерывную суперсеть дискретизируют. В исходном варианте для свёрточной ячейки на каждом промежуточном узле оставляют заданное число наиболее сильных входящих рёбер и по одной операции с наибольшим архитектурным весом на каждом оставленном ребре; операция без связи при выборе не учитывается. Поэтому описание «взять максимум на каждом ребре» недостаточно точно.
DARTS ускоряет поиск, но непрерывная задача не полностью эквивалентна исходной дискретной. Результат зависит от динамики оптимизации и момента остановки; в некоторых пространствах метод склонен выбирать вырожденные структуры, например с чрезмерным числом пропускных связей.[1]
Оценка кандидатов
Полное обучение
Наиболее прямой способ — независимо обучить каждый кандидат до сходимости с тем же режимом, который предполагается использовать для итоговой модели. Такая оценка дорога, поэтому доступна лишь для небольшого числа архитектур.
Приближённые оценки
Для сокращения стоимости применяют:
- меньшее число эпох или раннюю остановку;
- уменьшенные данные, входное разрешение или ширину сети;
- разделение весов в суперсети;
- модель, предсказывающую итоговое качество;
- низкозатратные показатели, вычисляемые до полноценного обучения (zero-cost proxies).
Любая прокси-оценка полезна лишь настолько, насколько она сохраняет ранжирование на целевой задаче. Архитектура, быстро обучающаяся на уменьшенной задаче, не обязательно окажется лучшей после полного обучения.
Окончательная проверка
После завершения поиска выбранную дискретную архитектуру следует обучить с нуля, желательно несколько раз с разными случайными инициализациями. В отчёте необходимо отделять стоимость самого поиска от стоимости окончательного обучения. Для справедливого сравнения фиксируют пространство архитектур, бюджет, данные, режим обучения, число запусков и аппаратную среду; итоговое качество измеряют на тестовой выборке, не участвовавшей в поиске.
Табличные тестовые среды и воспроизводимость
Табличные тестовые среды NAS заранее содержат результаты обучения большого числа архитектур. Алгоритм обращается к таблице вместо повторного дорогостоящего обучения, что позволяет воспроизводимо сравнивать стратегии поиска при одинаковом пространстве и бюджете. Например, NAS-Bench-101 содержит результаты для фиксированного пространства свёрточных ячеек на CIFAR-10.[1]
Такие среды не заменяют эксперименты на реальной задаче: вывод справедлив только для зафиксированных операций, данных и процедуры обучения. Их основное назначение — контролируемое сравнение алгоритмов и исследование вариативности результатов.
Связь с AutoML и подбором гиперпараметров
Автоматическое машинное обучение охватывает выбор признаков, предварительную обработку, алгоритмы, гиперпараметры и целые вычислительные конвейеры. NAS сосредоточен на структуре нейронной сети и является одной из задач AutoML.
Граница между архитектурой и гиперпараметрами условна. Число каналов, коэффициент расширения блока или тип нормализации можно считать как элементами архитектуры, так и гиперпараметрами. В практических системах структурные и обучающие параметры нередко оптимизируют совместно, но это увеличивает пространство поиска и усложняет честное распределение бюджета.
Ограничения и типичные ошибки
К основным ограничениям NAS относятся:
- зависимость от пространства поиска: алгоритм не может выбрать операцию или структуру, которая заранее не была разрешена;
- высокая вычислительная и энергетическая стоимость, особенно при независимом обучении множества кандидатов;
- смещение прокси-оценки: качество при ранней остановке или с общими весами может плохо предсказывать окончательный результат;
- переобучение на валидационной выборке, которая многократно используется стратегией поиска;
- нестабильность: результат зависит от инициализации, выборок, гиперпараметров поиска и реализации;
- неравное сравнение: преимущество может объясняться большим бюджетом, иным режимом обучения или дополнительными данными, а не самой найденной архитектурой;
- ограниченный перенос: архитектура, найденная на одном наборе данных или устройстве, не обязана сохранять преимущество на другом.
Сообщать только точность итоговой сети недостаточно. Нужны бюджет поиска, число оценённых кандидатов, время и оборудование, стоимость окончательного обучения, разброс по независимым запускам и результаты сильных ручных и случайных базовых линий.
Связь с философией искусственного интеллекта
NAS переносит часть проектирования интеллектуальной системы от инженера к алгоритму, но не устраняет человеческий выбор. Разработчик задаёт язык, на котором могут быть описаны архитектуры, определяет цель и решает, какие затраты считать допустимыми. В этом смысле найденная сеть отражает не только свойства данных, но и предпосылки, встроенные в пространство и критерий поиска.
Поэтому вопрос об «автоматическом изобретении» архитектуры зависит от уровня описания. Алгоритм может обнаружить нетривиальную комбинацию разрешённых операций, однако сами операции, ограничения и способ оценки остаются результатом предварительного проектирования.
См. также
- Нейронная сеть
- Глубокое обучение
- Автоматическое машинное обучение
- Обучение с подкреплением
- Градиентный спуск
- Квантование нейронных сетей
Примечания
Литература
- Elsken T., Metzen J. H., Hutter F. Neural Architecture Search: A Survey // Journal of Machine Learning Research. — 2019. — Т. 20. — № 55. — С. 1–21.
- Zoph B., Le Q. V. Neural Architecture Search with Reinforcement Learning // International Conference on Learning Representations. — 2017.
- Pham H., Guan M. Y., Zoph B., Le Q. V., Dean J. Efficient Neural Architecture Search via Parameter Sharing // Proceedings of the 35th International Conference on Machine Learning. — 2018. — Т. 80. — С. 4092–4101.
- Real E., Aggarwal A., Huang Y., Le Q. V. Regularized Evolution for Image Classifier Architecture Search // Proceedings of the AAAI Conference on Artificial Intelligence. — 2019. — Т. 33. — № 1. — С. 4780–4789.
- Liu H., Simonyan K., Yang Y. DARTS: Differentiable Architecture Search // International Conference on Learning Representations. — 2019.
- Zela A., Elsken T., Saikia T., Marrakchi Y., Brox T., Hutter F. Understanding and Robustifying Differentiable Architecture Search // International Conference on Learning Representations. — 2020.
- Ying C., Klein A., Christiansen E., Real E., Murphy K., Hutter F. NAS-Bench-101: Towards Reproducible Neural Architecture Search // Proceedings of the 36th International Conference on Machine Learning. — 2019. — Т. 97. — С. 7105–7114.

