Автор: Хамди М Абед

Искусственный интеллект, создающий искусственный интеллект, - именно так первые люди описали автоматизированное машинное обучение (AutoML). Но так ли это на самом деле? AutoML привлек заметное внимание с 2016 года, когда Google brain представил свою первую публикацию по поиску нейронной архитектуры (NAS) Квака Ле и Баррета Зофа, которая использовалась в нескольких приложениях. Идея состоит в том, чтобы сгенерировать несколько дочерних сетей-кандидатов, обучить их, оптимизировать точность до тех пор, пока не будет успешно выбрана лучшая архитектура для некоторой конкретной задачи. В этой статье мы обсудим NAS на основе обучения с подкреплением.

Вступление

В течение последних 7 лет машинное обучение было очень популярным, особенно подходы к нейронным сетям. Он широко используется в компьютерном зрении, обработке текста и речи, а в последнее время - в решении игр с использованием обучения с подкреплением. Однако выбор архитектуры нейронной сети вручную - это сложный процесс, поэтому эксперты начали копаться в поисках новых методов, с помощью которых ваша сеть автоматически оптимизирует свою архитектуру для повышения точности и производительности вашей модели.

Были предложены различные методы оптимизации, начиная с подходов RL (Здесь и Здесь), последовательной оптимизации на основе моделей (Здесь), эволюционного метода (Здесь), подхода байесовской оптимизации (Здесь) и градиентного -базовые модели (Здесь). Мы сосредоточимся на двух подходах RL.

1. Ванильный NAS

В этой статье авторы построили повторяющуюся сеть для управления процессом поиска. Чтобы понять процесс, мы сузим поиск, чтобы выполнить задачу классификации изображений с использованием сверточной сети на наборе данных CIFAR10. Контроллер RNN выбирает архитектуру дочерней сети как описание сети, строит ее, обучает и вычисляет ее точность в качестве сигнала обратной связи. затем точность передается контроллеру в качестве вознаграждения за оптимизацию с помощью метода RL. весь процесс можно резюмировать следующим образом:

Создание дочернего описания CNN с помощью контроллера RNN

На этом этапе RNN выбирает гиперпараметры описания дочерней CNN в виде списка токенов, более конкретно, RNN предсказывает количество фильтров, высоту и ширину своего фильтра, высоту шага и ширину шага. на слой. как только это описание выполняется классификатором softmax, дочерняя сеть строится и обучается. затем точность theta передается контроллеру.

Этот метод был применен к задаче классификации изображений в CIFAR-10 и языковому моделированию с помощью банка Penn Tree, но в этой статье мы покажем только результаты классификации изображений.

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

Чтобы получить представление о RL, ознакомьтесь с этой статьей (Здесь).

В нашем случае список токенов передается контроллеру как действия (a1: t), каждое действие затем обучается и рассчитывается его вознаграждение R. Поскольку R недифференцируем, мы используем метод итеративного градиента политики для оптимизации и обновления теты. Каждое действие в пространстве действий имеет начальную вероятность (1 / t), которая будет выбрана на следующей итерации, однако в градиенте политики вероятность выбора действия (архитектуры) с более высоким вознаграждением в следующий раз увеличивается, в то время как вероятность выбора действий с меньшим вознаграждением снижается, поэтому контроллер RNN со временем создает лучшие архитектуры. Примечательно, что в нашем случае сам контроллер является сетью политик, контроллер обновляет тета по следующему уравнению:

В то время как «тета» - это точность одной дочерней модели, «a» - это действие, «R» - это ожидаемое вознаграждение, а «b» - это систематическая ошибка, позволяющая избежать большой дисперсии.

вы можете спросить себя, но что такое m?, поскольку выполнение такого процесса заняло бы огромное количество часов для обучения сетей, m - это количество графических процессоров, которые используются для распараллеливания выполнения, поэтому процесс будет намного более эффективным . Обработка поиска распределяется по количеству S серверов, каждый сервер имеет k реплик контроллера, таким же образом каждая k реплика обучает m детей, эти реплики передают тэту точности каждого обученного потомка соответствующему серверу, и в итоге действие с наибольшей наградой считается лучшим кандидатом.

В этом подходе сложность архитектуры увеличивается за счет добавления пропускаемых соединений в качестве узлов привязки, эти узлы привязки выбираются с помощью механизма внимания выбора набора. В точке уровня N, которая имеет сигмоиды на основе содержимого N-1, чтобы указать предыдущие уровни, которые необходимо соединить. эти связи задаются распределением вероятностей

Эксперимент и результаты

Пространство поиска состоит из сверточной архитектуры с ReLU, пакетной нормализации и пропуска соединений между слоями. для каждого сверточного слоя контроллер должен определить высоту фильтра в [1, 3, 5, 6], ширину фильтра в [1, 3, 5, 7] и количество фильтров в [24, 36, 48 , 64]. Для шагов было выполнено два набора тренировок, один с фиксированным шагом в 1 шаг, а другой, где контроллеру было разрешено выбирать из [1, 2, 3] шагов.

Поиск проводился на S = 20 серверах с K = 100 контроллерами и m = 8 репликами (всего было использовано 800 графических процессоров), со скоростью обучения 0,0006, веса были инициализированы между -0,08 и 0,08, и он смог обучить 800 архитектуры одновременно. После того, как контроллер опробует архитектуру, дочерняя сеть строится и обучается в течение 50 эпох. Наградой, которая используется для обновления контроллера, является максимальная точность проверки после последних 5 эпох. набор для проверки составлял 5000 экземпляров, а остальные 45000 использовались для обучения модели.

В общей сложности 12800 дочерних моделей были обучены за 21–28 дней использования графического процессора [источник], лучшими архитектурами, обнаруженными этим контроллером, были DenseNet-BC (L = 100, K = 40) с глубиной 190 слоев и 25,6. M обучаемых параметров, эта модель достигла процента ошибок 3,46%, что было современной моделью на CIFAR-10. Другая модель будет рассмотрена в отношении ее меньшей глубины - это максимальный пул NAS v3 и большее количество фильтров с глубиной 39 слоев, 37,4 млн обучаемых параметров и 3,65% процента ошибок.

2. Эффективный поиск нейронной архитектуры с помощью совместного использования параметров (ENAS)

Как упоминалось в обычном NAS, для ускорения процесса поиска одновременно использовались 800 графических процессоров, однако это огромная вычислительная сложность, если вы подумаете о реализации этого алгоритма самостоятельно. Поэтому исследователи начали исследовать новые и менее дорогие реализации.

В этой статье главное улучшение заключалось в том, чтобы заставить все архитектуры использовать одинаковые веса и отказаться от обучения каждой дочерней модели с нуля до конвергенции. Поскольку использование весов по-разному на каждом этапе обучения новой модели является исчерпывающим процессом, переносимое обучение может решить эту проблему. Таким же образом мы обсудим, как разработать CNN для задачи классификации изображений с помощью ENAS и как подать заявку на оптимизацию.

В ENAS основная идея состоит в том, что все архитектуры, которые NAS в конечном итоге итерируют, можно рассматривать как подграфы более крупного графа. более конкретно, мы можем представить пространство поиска NAS с помощью единого ориентированного ациклического графа (DAG). На рис.6 этот DAG представляет собой все пространство поиска, однако цветные узлы - единственные, которые были подключены.

По сути, для ускорения процесса поиска контроллер выбирает несколько подсетей (решений) и обучает их на меньших минипакетах набора данных. Учитывается подсеть с более высоким вознаграждением, это означает, что мы сужаем пространство поиска, следовательно, избегаем обучения дочерних сетей, которые могут не улучшиться позже. Контроллер следует авторегрессивному алгоритму при выборке решений, что означает, что решение, которое мы выбрали на предыдущем шаге, является входными данными для следующего шага.

Два параметра должны были быть обучены в ENAS, первый - это общие параметры w, а второй - параметр контроллера theta для RL, обучение проводилось на основе суперпозиции. Обновление общих параметров было выполнено после прохождения всех обучающих данных, однако параметр политики обновляется после каждого шага контроллера. другими словами, после выборки каждой архитектуры. Градиент вычисляется с использованием метода REINFORCE с базовой линией скользящего среднего для уменьшения дисперсии. и тета была вычислена на проверочном наборе, чтобы избежать переобучения.

Пространство поиска для ячейки CNN может быть выполнено с помощью одной из двух стратегий:

  • Микропоиск
  • Макро поиск

По (Здесь):

Макропоиск - это подход, при котором контроллер проектирует всю сеть. Примеры публикаций, которые используют это, включают NAS от Zoph and Le, FractalNet и SMASH. С другой стороны, микропоиск - это подход, при котором контроллер разрабатывает модули или строительные блоки, которые объединяются для построения окончательной сети. Некоторые документы, реализующие этот подход, - это Hierarchical NAS, Progressive NAS и NASNet.

В Макропоиске контроллер должен принимать 2 решения на каждом шаге (на каждом уровне):

  1. Какую операцию выбрать.
  2. Какой предыдущий слой соединять.

С другой стороны, в Микропоиске контроллер строит B блоков, каждый блок состоит из N ячеек CNN. затем соедините его с другими ячейками, образуя окончательную сеть, с возможностью переноса обучения. На каждом этапе контроллер должен решить, какой уровень подключить и какую операцию выбрать.

Эксперименты и результаты ENAS

В ENAS CIFAR-10 также использовался для выполнения задачи классификации изображений с 50000 экземплярами для обучения и 10000 тестовыми примерами. Применялись макро- и микро-поиск. скорость обучения варьировалась от L = 0,001 до L = 0,05, каждая архитектура была обучена в течение 310 эпох со спадом веса, равным 10 ^ -4. Оптимизатор Adam используется для оптимизации политики. В ENAS использовался только один графический процессор NVidia GTX 1080, что впечатляет.

При обучении до 0,32 дня на графическом процессоре в макро-поиске и 0,45 дня для метода микропоиска, лучший кандидат в макропоиске достиг ошибки 3,87% при 38,0 обучаемых параметрах, в то время как лучшая архитектура микропоиска столкнулась с частотой ошибок 2,89% с 4.6 обучаемых параметров. результаты были самыми современными по сравнению с другими методами. На рисунках 9 и 10 показана лучшая архитектура классификации изображений, которую ENAS обнаружил с помощью макро- и микропоиска соответственно.