"Машинное обучение"

Понимание сетей генеративного обучения Uber

Uber впервые применил интересную технику, сочетающую генеративные модели и машинное обучение.

Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже более 100 000 подписчиков. TheSequence — это информационный бюллетень, ориентированный на машинное обучение, без BS (то есть без шумихи, без новостей и т. д.), чтение которого занимает 5 минут. Цель состоит в том, чтобы держать вас в курсе проектов машинного обучения, научных работ и концепций. Пожалуйста, попробуйте, подписавшись ниже:



Распространенная аналогия в кругах искусственного интеллекта (ИИ) заключается в том, что обучающие данные — это новое масло для моделей машинного обучения. Как и в случае с драгоценным товаром, данных для обучения мало, и их трудно масштабировать. Модели контролируемого обучения доминируют в современной экосистеме машинного обучения. Хотя эти типы моделей относительно легко создавать по сравнению с другими альтернативами, они сильно зависят от обучающих данных, что в результате запрещено для большинства организаций. Эта проблема усугубляется масштабом моделей машинного обучения. Недавно инженеры Uber опубликовали документ, в котором предлагается новый метод под названием «Генеративные обучающие сети (GTN), который создает алгоритмы обучения, которые автоматически генерируют обучающие данные.

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

Заблуждения об обучающих данных

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

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

Эти две идеи: выбор лучших примеров из обучающего набора и понимание того, как обучается нейронная сеть, были основой творческого метода Uber для обучения моделей машинного обучения.

Войдите в генеративные обучающие сети

Основной принцип GTN Uber основан на простой и в то же время радикальной идее: позволить машинному обучению самостоятельно создавать обучающие данные. GTN используют генеративные модели и модели метаобучения, а также вдохновляются такими методами, как генеративно-состязательные нейронные сети (GAN).

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

Архитектуру GTN можно объяснить за пять простых шагов:

1) Шум подается на входной генератор, который используется для создания новых синтетических данных.

2) Учащийся обучен хорошо работать с сгенерированными данными.

3) Затем обученный учащийся оценивается на реальных обучающих данных во внешнем цикле для вычисления метапотери во внешнем цикле.

4) Градиенты параметров генератора вычисляются до мета-потери для обновления генератора.

5) Как изученный учебный план, так и нормализация веса существенно улучшают показатели GTN.

GTN в действии

Uber оценил GTN в разных архитектурах нейронных сетей. Одним из таких сценариев была модель классификации изображений, обученная с использованием известного набора данных MNIST. После нескольких итераций новые учащиеся, обученные с помощью GTN, смогли учиться быстрее, чем те же модели, использующие реальные данные. В этих конкретных сценариях модели, обученные GTN, достигли замечательной точности 98,9 и сделали это всего за 32 шага SGD (~ 0,5 секунды), просмотрев каждое из 4096 синтетических изображений в учебной программе один раз, что составляет менее 10 процентов изображений. в наборе обучающих данных MNIST.

Одним из удивительных результатов использования GTN для классификации изображений является то, что синтетический набор данных кажется нереалистичным для человеческого глаза (см. изображение ниже). Еще более интересен тот факт, что узнаваемость изображений улучшается к концу учебного плана. Несмотря на свой инопланетный вид, синтетические данные доказали свою эффективность при обучении нейронных сетей. Интуитивно мы могли бы подумать, что если бы архитектура нейронной сети была функционально более похожа на человеческий мозг, синтетические данные GTN могли бы больше походить на реальные данные. Однако альтернативная (спекулятивная) гипотеза состоит в том, что человеческий мозг также может быстро освоить произвольный навык, если ему будут показывать неестественные, неузнаваемые данные.

GTN — это новый подход к обучению моделей машинного обучения с использованием синтетических данных. Теоретически GTN могут иметь приложения, выходящие за рамки традиционного контролируемого обучения, в таких областях, как методы NAS. Конечно, применение GTN в массивной инфраструктуре машинного обучения Uber должно дать удивительные уроки, которые помогут улучшить эту технику.