Изменения

Перейти к: навигация, поиск

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

1043 байта добавлено, 13:06, 14 апреля 2020
Нет описания правки
== Принцип работы ==
[[Файл:NAS 1.PNG|900px|thumb|center|Рисунок 1 - Абстрактная иллюстрация методов NAS. Стратегия поиска
выбирает архитектуру A из предопределенного пространства поиска A. Архитектура
передается в стратегию оценки производительности, которая возвращает оценку эффективности A в стратегию поиска. ([https://arxiv.org/pdf/1808.05377.pdf Источник])]]
=== Пространство поиска (Search Space) ===
[[Файл:Chain-like-NAS.png|thumb|right|A chain-like and multi-branch network; каждый узел соответствует уровню в нейронной сети. Различные типы слоев визуализируются разными цветами. Ребро от слоя Li до слоя Lj обозначает, что Lj получает выходные данные Li в качестве входных данных.]]Пространство поиска определяет, какую нейронную архитектуру в принципе может обнаружить подход NAS. Это может быть цепочечная архитектура, в которой выход уровня (n-1) подается как вход уровня (n). [[Файл:Cell-like-NAS.png|left|thumb|слева: сell architecture, две разные ячейки, например normal cell (вверху) и reduction cell (внизу); справа: ячейки помещены во внешнюю структуру ручной работы]] Или это может быть современная сложная архитектура с пропущенным соединением (multi-branch network). Предварительные знания о типичных свойствах архитектур способны уменьшить размер пространства поиска и упростить поиск. Тем не менее, они также могут помешать человеку найти новые архитектурные строительные блоки, которые выходят за рамки современных человеческих знаний.
Наиболее часто используемые типы архитектур для NAS - это entire structures, cell-based structures,
progressive structures and morphism-based structures.
[[Файл: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 (внизу); справа: ячейки помещены во внешнюю структуру ручной работы]]
Для изучения пространства нейронных архитектур можно использовать множество различных стратегий поиска, включая '''случайный поиск''', '''байесовскую оптимизацию''', '''эволюционные методы''', '''[[обучение с подкреплением]] (reinforcement learning)''' и '''методы на основе градиента'''.
==== Сравнение методов стратегий поиска ====[[Файл:NAS-method-comparison.PNG|800px|thumb|center|слева: результат экспериментов, минимизирующих функцию потерь и количества параметров модели; справа: сравнение основных используемых в NAS алгоритмов]]Лучшие результаты на сегодняшний день показывает NAS с использованием стратегии байесовской оптимизации (согласно исследованию [https://arxiv.org/pdf/1910.11858.pdf Bayesian Optimization with Neural Architectures for Neural Architecture Search, Colin White, Willie Neiswanger, Yash Savani]). Байесовская оптимизация (Bayes Optimization, BO) использует алгоритм для построения вероятностной модели целевой функции, а затем использует эту модель, чтобы выбрать наиболее перспективные гиперпараметры и оценивает выбранные гиперпараметры на истинной целевой функции. Следовательно, BO может итеративно обновлять вероятностную модель, ведя учет оценок прошлых результатов. ==== BANANAS (Bayesian optimization with neural architectures for NAS) ====
[[Файл:BANANAS alg.PNG|400px|thumb|right|Иллюстрация мета-нейронной сети в алгоритме BANANAS]]
Сложностью применения байесовской оптимизации в NAS является обязательное наличии функции расстояния между слоями нейросети. Чтобы обойти этот момент, был разработан алгоритм [https://github.com/naszilla/bananas BANANAS (Bayesian optimization with neural architectures for NAS)] - алгоритм, использующий специальную кодировку path encoding для кодирования входных архитектур и получающий на выходе вероятностные распределения (см. рисунок).
Алгоритм BANANAS:
1. Выбираются t0 случайных алгоритмов из пространства поиска (Search Space)
2. Итерационно проводится обучение ансамбля мета-нейронный сетей на выбранных архитектурах. Каждая сеть ансамбля является сетью прямой связи с полностью связанными слоями, каждому слою дается случайная инициализация весов и случайный порядок обучающего набора.
3.
==== Сравнение методов стратегий Алгоритм BANANAS:#Выбираются t0 случайных архитектур из пространства поиска ====(Search Space)[[Файл:NAS-method#Итерационно проводится обучение ансамбля мета-comparisonнейронный сетей на выбранных архитектурах.PNG|800px|thumb|center|слева: результат экспериментовКаждая сеть ансамбля является сетью прямой связи с полностью связанными слоями, минимизирующих функцию потерь каждому слою дается случайная инициализация весов и количества параметров модели; справаслучайный порядок обучающего набора. Используемая функция ошибки - вариация MAPE (mean absolute percentage error).##Далее формируется набор архитектур-"кандидатов" посредством случайных изменений лучших архитектур после обучения##Для каждой архитектуры-кандидата определяется значение переданной на вход ITS acquisition function (''[[https: сравнение основных используемых в NAS алгоритмов//en.wikipedia.org/wiki/Thompson_sampling independent Thompson sampling]]'')##Для архитектуры-кандидата с минимальным значением acquisition function определяется значение целевой вероятностной функции  
===Стратегия оценки эффективности (Performance Estimation Strategy)===
Целью NAS обычно является поиск
способных снизить стоимость этих оценок производительности.
== Решения NAS ==
=== Метод .. ===
=== Метод Neural Bayes Optimization ===
Байесовская оптимизация (Bayes Optimization, BO) использует алгоритм для построения вероятностной модели целевой функции, а затем использует эту модель, чтобы выбрать наиболее перспективные гиперпараметры и оценивает выбранные гиперпараметры на истинной целевой функции. Следовательно, BO может итеративно обновлять вероятностную модель, ведя учет оценок прошлых результатов.
== Источники информации ==
30
правок

Навигация