Поиск архитектуры нейронной сети — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Методы NAS)
Строка 7: Строка 7:
 
передается в стратегию оценки производительности, которая возвращает оценку эффективности A в стратегию поиска. ([https://arxiv.org/pdf/1808.05377.pdf Источник])]]
 
передается в стратегию оценки производительности, которая возвращает оценку эффективности A в стратегию поиска. ([https://arxiv.org/pdf/1808.05377.pdf Источник])]]
  
 +
=== Пространство поиска (Search Space) ===
 +
Пространство поиска определяет, какую нейронную архитектуру в принципе может обнаружить подход NAS. Это может быть цепочечная архитектура, в которой выход уровня (n-1) подается как вход уровня (n). Или это может быть современная сложная архитектура с пропущенным соединением (multi-branch network). Предварительные знания о типичных свойствах архитектур способны уменьшить размер пространства поиска и упростить поиск. Тем не менее, они также могут помешать человеку найти новые архитектурные строительные блоки, которые выходят за рамки современных человеческих знаний.
 +
[[Файл:Chain-like-NAS.png|thumb|center|Рисунок 2 - A chain-like and multi-branch network; каждый узел соответствует уровню в нейронной сети. Различные типы слоев визуализируются разными цветами. Ребро от слоя Li до слоя Lj обозначает, что Lj получает выходные данные Li в качестве входных данных.]]
 +
Иногда используют внешнюю архитектуру ручной работы (макроархитектуру) с повторяющимися мотивами или ячейками. В таких случаях внешняя структура является фиксированной, NAS ищет только cell-архитектуры. Этот тип поиска известен как микро-поиск или cell search.
 +
[[Файл:Cell-like-NAS.png|thumb|center|Рисунок 3 - слева: сell architecture, две разные ячейки, например normal cell
 +
(вверху) и reduction cell (внизу); справа: ячейки помещены во внешнюю структуру ручной работы]]
  
*'''Пространство поиска (Search Space)'''
+
 
Пространство поиска определяет, какую нейронную архитектуру в принципе может обнаружить подход NAS. Это может быть цепочечная архитектура, в которой выход уровня (n-1) подается как вход уровня (n). Или это может быть современная сложная архитектура с пропущенным соединением (многоотраслевая сеть). Предварительные знания о типичных свойствах архитектур способны уменьшить размер пространства поиска и упростить поиск. Тем не менее, они также могут помешать человеку найти новые архитектурные строительные блоки, которые выходят за рамки современных человеческих знаний.
+
=== Стратегия поиска (Search Strategy)===
Примеры
 
*'''Стратегия поиска (Search Strategy)'''
 
 
Стратегия поиска подробно описывает, как исследовать пространство поиска, которое часто экспоненциально велико или даже неограниченно. Она включает в себя классический компромисс между разведкой и эксплуатацией, поскольку, с одной стороны, желательно найти
 
Стратегия поиска подробно описывает, как исследовать пространство поиска, которое часто экспоненциально велико или даже неограниченно. Она включает в себя классический компромисс между разведкой и эксплуатацией, поскольку, с одной стороны, желательно найти
 
быстро работающие архитектуры, с другой стороны, следует избегать преждевременного схождения.
 
быстро работающие архитектуры, с другой стороны, следует избегать преждевременного схождения.
*'''Стратегия оценки эффективности (Performance Estimation Strategy)'''
+
Для изучения пространства нейронных архитектур можно использовать множество различных стратегий поиска, включая '''случайный поиск''', '''байесовскую оптимизацию''', '''эволюционные методы''', '''обучение с подкреплением (reinforcement learning)''' и '''методы на основе градиента'''.
 +
===Стратегия оценки эффективности (Performance Estimation Strategy)===
 
Целью NAS обычно является поиск
 
Целью NAS обычно является поиск
 
архитектуры, обеспечивающей высокую точность прогнозов по невидимым данным. Performance Estimation относится к процессу оценки этой производительности. Самый простой вариант - выполнить стандартное обучение и проверку архитектуры данных, но это, к сожалению, вычислительно дорого и ограничивает количество архитектур, которые можно изучить. Поэтому многие недавние исследования направлены на разработку методов,
 
архитектуры, обеспечивающей высокую точность прогнозов по невидимым данным. Performance Estimation относится к процессу оценки этой производительности. Самый простой вариант - выполнить стандартное обучение и проверку архитектуры данных, но это, к сожалению, вычислительно дорого и ограничивает количество архитектур, которые можно изучить. Поэтому многие недавние исследования направлены на разработку методов,

Версия 13:24, 13 апреля 2020

Neaural Architecture Search (NAS, Поиск архитектуры нейронной сети) - процесс автоматизации проектирования архитектуры, то есть нахождение нашей модели машинного обучения. Системе NAS предоставляется набор данных, тип задачи (классификация, регрессия и т.д.), на основании которого система определяет архитектуру нейронной сети. Эта архитектура будет работать лучше всех других архитектур для данной задачи при обучении предоставленным набором данных. NAS можно рассматривать как часть AutoML (Автоматическое машинное обучение), он имеет значительное совпадение с оптимизацией гиперпараметров (Настройка гиперпараметров). NAS находит архитектуру из всех возможных архитектур, следуя стратегии поиска, которая максимизирует производительность. На следующем рисунке представлен алгоритм NAS.

Принцип работы

Рисунок 1 - Абстрактная иллюстрация методов NAS. Стратегия поиска выбирает архитектуру A из предопределенного пространства поиска A. Архитектура передается в стратегию оценки производительности, которая возвращает оценку эффективности A в стратегию поиска. (Источник)

Пространство поиска (Search Space)

Пространство поиска определяет, какую нейронную архитектуру в принципе может обнаружить подход NAS. Это может быть цепочечная архитектура, в которой выход уровня (n-1) подается как вход уровня (n). Или это может быть современная сложная архитектура с пропущенным соединением (multi-branch network). Предварительные знания о типичных свойствах архитектур способны уменьшить размер пространства поиска и упростить поиск. Тем не менее, они также могут помешать человеку найти новые архитектурные строительные блоки, которые выходят за рамки современных человеческих знаний.

Рисунок 2 - A chain-like and multi-branch network; каждый узел соответствует уровню в нейронной сети. Различные типы слоев визуализируются разными цветами. Ребро от слоя Li до слоя Lj обозначает, что Lj получает выходные данные Li в качестве входных данных.

Иногда используют внешнюю архитектуру ручной работы (макроархитектуру) с повторяющимися мотивами или ячейками. В таких случаях внешняя структура является фиксированной, NAS ищет только cell-архитектуры. Этот тип поиска известен как микро-поиск или cell search.

Рисунок 3 - слева: сell architecture, две разные ячейки, например normal cell (вверху) и reduction cell (внизу); справа: ячейки помещены во внешнюю структуру ручной работы


Стратегия поиска (Search Strategy)

Стратегия поиска подробно описывает, как исследовать пространство поиска, которое часто экспоненциально велико или даже неограниченно. Она включает в себя классический компромисс между разведкой и эксплуатацией, поскольку, с одной стороны, желательно найти быстро работающие архитектуры, с другой стороны, следует избегать преждевременного схождения. Для изучения пространства нейронных архитектур можно использовать множество различных стратегий поиска, включая случайный поиск, байесовскую оптимизацию, эволюционные методы, обучение с подкреплением (reinforcement learning) и методы на основе градиента.

Стратегия оценки эффективности (Performance Estimation Strategy)

Целью NAS обычно является поиск архитектуры, обеспечивающей высокую точность прогнозов по невидимым данным. Performance Estimation относится к процессу оценки этой производительности. Самый простой вариант - выполнить стандартное обучение и проверку архитектуры данных, но это, к сожалению, вычислительно дорого и ограничивает количество архитектур, которые можно изучить. Поэтому многие недавние исследования направлены на разработку методов, способных снизить стоимость этих оценок производительности.

Решения NAS

Метод ..

Метод Neural Bayes Optimization

Байесовская оптимизация (Bayes Optimization, BO) использует алгоритм для построения вероятностной модели целевой функции, а затем использует эту модель, чтобы выбрать наиболее перспективные гиперпараметры и оценивает выбранные гиперпараметры на истинной целевой функции. Следовательно, BO может итеративно обновлять вероятностную модель, ведя учет оценок прошлых результатов.

Источники информации