Обучение с подкреплением от Google: как вспомогательные задачи решают проблему редких наград

Yannic Kilcher 4,5 тыс. 10 мин 6 мин 28.08.2017
Главное

В новом видеоролике исследователь и ИИ-энтузиаст Янник Килхер (Yannic Kilcher) подробно разбирает знаковую научную работу компании Google (DeepMind), посвящённую обучению с подкреплением при помощи дополнительных неконтролируемых задач (Unsupervised Auxiliary Tasks). Автор анализирует, как добавление внутренних стимулов помогает ИИ-агентам эффективно ориентироваться в сложных трёхмерных лабиринтах даже в условиях крайне редкого отклика среды. В центре внимания автора — не только технические нюансы предложенной архитектуры, но и методологические проблемы современных AI-исследований, связанных с гонкой за рекордными показателями.

🧩 Проблема редкого вознаграждения в трёхмерных средах 0:00

В качестве отправной точки исследования рассматривается классическая задача обучения с подкреплением (Reinforcement Learning, RL), в которой ИИ-агент помещается в виртуальное пространство. В описываемом эксперименте среда представляет собой трёхмерный лабиринт. Агент видит окружение исключительно через пиксельный ввод с камеры («вид из глаз») и должен выполнять две основные задачи: собирать яблоки и искать выход. За каждое успешное действие система начисляет ему очки (вознаграждение).

Главная сложность подобных сред заключается в том, что функция вознаграждения является крайне разреженной (sparse reward). Это означает, что агенту необходимо совершить огромное количество хаотичных перемещений и поворотов внутри лабиринта, прежде чем он случайно наткнётся на первое яблоко или цель и получит хотя бы один балл.

По словам Янника Килхера, классические алгоритмы обучения с подкреплением испытывают колоссальные трудности в таких сценариях. Стандартный RL-подход критически зависит от постоянного и плотного потока обратной связи от среды, благодаря которому нейросеть понимает, какие именно действия были полезными, а какие — ошибочными. В условиях «информационного вакуума» агент просто не может эффективно сформировать успешную стратегию поведения.

🛠️ Концепция вспомогательных задач (Auxiliary Tasks) 1:06

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

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

Янник Килхер подчёркивает принципиальное отличие данного метода от подходов, существовавших ранее. В прошлых работах исследователи часто использовали архитектуру автокодировщиков (autoencoders). В таком режиме агент получал кадр, смотрел на него и пытался предсказать, как будет выглядеть следующий кадр. Логика заключалась в том, что если сеть способна точно прогнозировать будущее состояние среды, значит, она смогла уловить полезные скрытые закономерности. Однако в новой работе Google инженеры пошли дальше: они напрямую связали вспомогательные задачи с понятием награды и функцией ценности действий, жестко завязав их на внутреннюю мотивацию агента.

⚙️ Две ключевые вспомогательные задачи: изменения пикселей и активаций 2:40

В своей работе исследователи из Google выделили две основные неконтролируемые вспомогательные задачи управления, которые добавляются в систему:

🔄 Архитектура агента и инженерные трюки обучения 4:47

В качестве базового каркаса для всей системы авторами был выбран стандартный и популярный RL-алгоритм A3C (Asynchronous Advantage Actor-Critic). Эта архитектура состоит из двух ключевых компонентов: сети актора (policy network), определяющей стратегию поведения, и сети критика (value network), оценивающей перспективность текущего состояния среды.

Весь получаемый агентом опыт (траектории движений, кадры и награды) непрерывно записывается в буфер воспроизведения (replay buffer). На основе данных из этого буфера параллельно запускается сразу несколько вычислительных процессов:

  1. Обучение нейросети выполнению описанных выше вспомогательных задач (с использованием общих параметров).
  2. Оптимизация функции ценности критика с использованием внестратегического обучения (off-policy learning). Для этого авторы временно «ставили на паузу» основное обучение агента и дополнительно тренировали сеть критика на старых данных из буфера, что существенно повышало стабильность.
  3. Прогнозирование наград (reward prediction) с использованием специального метода смещённой выборки (skewed sampling).

Янник Килхер детально останавливается на механике смещённой выборки. Поскольку в лабиринте реальные награды (яблоки) встречаются крайне редко, в общем массиве данных буфера преобладают «нулевые» исходы. Если обучать сеть на случайной выборке, она будет постоянно видеть отсутствие наград и ничему не научится. Чтобы исправить это, инженеры заставили алгоритм искусственно извлекать из буфера фрагменты с успешным получением яблок гораздо чаще, чем они происходили в реальности.

Благодаря такому искусственному перекосу данных ИИ мгновенно фокусируется на высокодоходных ситуациях и быстрее понимает: «Если в поле зрения появляется яблоко — к нему нужно бежать». Ведущий отмечает, что данный трюк очевидным образом вносит сильное статистическое смещение (bias) в процесс обучения. Тем не менее экспериментальные результаты доказывают, что на практике такой инженерный компромисс отлично работает.

⚖️ Критика Янника Килхера: методология и чистота экспериментов 7:41

В финальной части обзора Янник Килхер переходит к критическому анализу представленной научной работы. Несмотря на то, что предложенный Google метод продемонстрировал превосходные результаты и существенно превзошел существовавшие на тот момент аналоги (State-of-the-Art) в тестах на лабиринтах, у ведущего возникло два серьезных концептуальных возражения.

Во-первых, по мнению Килхера, выбор конкретных вспомогательных задач полностью переложен на плечи человека-разработчика. Инженер должен сам сесть и решить, за что именно давать внутреннюю награду агенту. Да, изменение пикселей и активаций выглядит универсальным подходом, подходящим для широкого класса визуальных игр. Однако остаётся открытым фундаментальный вопрос: сколько скрытых человеческих знаний о предметной области (domain knowledge) мы тем самым неявно закладываем в архитектуру? Получается, что ИИ не сам доходит до понимания сути вещей, а лишь следует базовым подсказкам создателей, что несколько обесценивает автономность такого обучения.

Во-вторых, Янник Килхер высказывает серьезную претензию к методологии тестирования. Название статьи обещает нам прорыв за счёт «вспомогательных задач», однако внутри работы инженеры Google применили огромный комплекс сторонних оптимизаций: и смещённое сэмплирование, и дополнительное обучение функции ценности.

С одной стороны, ведущий признаёт, что для достижения рекордных показателей (SOTA) авторы обязаны задействовать все известные индустрии хитрости и трюки, чтобы сравнение с конкурентами было честным. С другой стороны, такое нагромождение методов порождает методологическую проблему: становится абсолютно невозможно понять, откуда именно пришёл выигрыш в производительности. Был ли это реальный эффект от вспомогательных задач? Или же выстрелило удачное сочетание гиперпараметров в модуле прогнозирования наград? Возможно, произошла уникальная и непредсказуемая интерференция между смещённой выборкой и внутренними активациями, которая «замыливает» реальную ценность ключевой научной идеи.

Янник Килхер резюмирует, что это классический философский спор в современном Data Science. Для чистоты науки было бы правильнее взять базовый алгоритм A3C без единого костыля, дополнить его исключительно вспомогательными задачами и посмотреть на чистый прирост. Рекордных цифр в таблицах такой подход бы не дал (ведь конкуренты используют все доступные трюки), но он бы наглядно доказал жизнеспособность конкретной математической концепции. Сам ведущий признаётся, что в этом вопросе он лично выступает на стороне сторонников экспериментальной чистоты, и предлагает зрителям самостоятельно определить, какой подход им ближе.

💬 Цитаты

«Реинфорсмент лёрнинг испытывает огромные проблемы с этим, потому что он полагается на постоянное вознаграждение, чтобы замечать, какие действия хороши, а какие плохи.»

Янник Килхер 0:51

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

Янник Килхер 7:41
👥 Спикер
📖 Термины
Обучение с подкреплением (Reinforcement Learning)
Метод машинного обучения, при котором тестируемая система (агент) обучается, взаимодействуя со средой и получая от неё отклики в виде наград или штрафов.
Разреженное вознаграждение (Sparse Reward)
Ситуация в обучении с подкреплением, при которой агент получает сигналы успешности своих действий крайне редко, совершая много промежуточных шагов вслепую.
A3C (Asynchronous Advantage Actor-Critic)
Популярный асинхронный алгоритм глубокого обучения с подкреплением, сочетающий оценку действий (критик) и выбор стратегии поведения (актор).
Буфер воспроизведения (Replay Buffer)
Архитектурный элемент, сохраняющий историю действий, состояний среды и наград агента для последующего многократного обучения нейросети на этих данных.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Reinforcement Learning Google A3C Янник Килхер