Исследование Google Brain: как правильно настроить on-policy RL-агента

Yannic Kilcher 9,5 тыс. 38 мин 6 мин 20.08.2020
Главное

Исследователи из Google Brain провели масштабное эмпирическое исследование, чтобы выяснить, какие факторы и настройки алгоритмов действительно влияют на эффективность обучения с подкреплением (on-policy RL) в задачах непрерывного контроля. В ходе работы было обучено более 250 тысяч агентов и протестировано свыше 50 различных конфигураций и конструктивных решений. Известный ИИ-исследователь Янник Кильчер подробно разобрал данную научную работу, указав как на её огромную практическую пользу, так и на важные методологические ограничения эксперимента.

📊 Масштаб исследования и методологические нюансы 0:00

В своей работе команда Google Brain исследовала поведение агентов в пяти различных средах непрерывного контроля. Они создали унифицированную программную среду на базе фреймворка seed RL, внедрив туда более 50 различных параметров конфигурации, включая ширину и глубину нейросетей, скорость обучения, типы функций потерь и константы регуляризации. Всего в рамках проекта было обучено около 250 000 независимых агентов.

Однако Янник Кильчер обращает внимание на то, что заголовок статьи несколько преувеличивает её реальный охват. По мнению ведущего, вместо общего исследования механизмов On-Policy RL, авторы сфокусировались исключительно на непрерывном контроле в пяти очень похожих симуляциях MuJoCo. Эти среды практически идентичны по структуре наблюдений и законам физики. Кроме того, на момент записи обзора код проекта и чекпоинты моделей не были опубликованы в открытом доступе.

🧩 Проблема размерности и компромиссный подход

Поскольку провести честный полный перебор (grid search) по пространству из 50 с лишним параметров физически невозможно, исследователи применили оптимизированную стратегию. Они разбили параметры на тематические группы (архитектура сетей, параметры сбора данных и т.д.), добавив скорость обучения в каждую из них из-за её сильного взаимного влияния на остальные факторы. В рамках конкретного эксперимента авторы случайным образом варьировали параметры только внутри одной выбранной группы, в то время как настройки всех остальных групп оставались фиксированными и соответствовали сильной базовой конфигурации алгоритма PPO версии 2 (PPO v2).

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

📉 Функции потерь и архитектура нейросетей 14:17

Исследователи сравнили несколько популярных функций потерь для обучения политики, включая PPO, стандартный градиент политики (Policy Gradient) и V-trace, оптимизированный для распределенного обучения. В данных условиях алгоритм PPO показал наилучшие результаты во всех тестах. Авторы рекомендуют использовать именно функцию потерь PPO и начинать эксперименты с порога отсечения (clipping threshold) 0.25, пробуя изменять его в большую или меньшую сторону при наличии ресурсов.

🏛 Рекомендации по архитектуре сетей

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

🚀 Секреты инициализации и нормализации данных 20:16

Одним из самых неожиданных открытий исследования стало колоссальное влияние схемы инициализации сети политики на итоговый результат. Сеть политики оказалась крайне хрупким компонентом системы по сравнению с относительно стабильной сетью ценности.

Главный рецепт успеха — инициализировать сеть политики так, чтобы в самом начале процесса обучения распределение действий агента центрировалось строго вокруг нуля независимо от поступающих наблюдений и имело небольшое стандартное отклонение. Для этого веса самого последнего слоя многослойного перцептрона политики нужно делать существенно меньше остальных слоев. Исследователи рекомендуют уменьшать масштабы инициализации весов последнего слоя политики в 100 раз. При этом для сети ценности масштаб инициализации последнего слоя практически не влияет на обучение.

Другие технические рекомендации авторов по этому блоку:

🎛 Нормализация и клиппинг

В вопросах предобработки данных исследование подтвердило важность устоявшихся инженерных практик:

📈 Оценка преимуществ и организация процесса обучения 26:32

Для обучения сети ценности алгоритму необходимо предсказывать суммарную награду, которую агент получит с текущего момента и до конца эпизода. Исследователи сравнили популярные оценщики преимуществ (advantage estimators), такие как N-step, GAE (Generalized Advantage Estimation) и V-trace.

Базовый метод N-step предсказуемо уступил более сложным аналогам. Авторы рекомендуют использовать алгоритм GAE с параметром лямбда = 0.9 либо V-trace — значимой разницы в производительности между GAE и V-trace обнаружено не было.

⚙️ Настройка тренировочного процесса

В вопросах сбора данных и управления батчами исследователи пришли к следующим выводам:

⏱ Временные шаги, оптимизаторы и регуляризация 32:56

Фактор дисконтирования наград признан одним из ключевых гиперпараметров, который критически важно настраивать индивидуально под каждую конкретную среду, поскольку он напрямую зависит от структуры вознаграждений задачи. Авторы советуют начинать эксперименты со значения 0.99. Также рекомендуется по возможности тестировать технику пропуска кадров (frame skip).

🛠 Оптимизаторы и их параметры

В качестве алгоритмов оптимизации весов тестировались Adam и RMSProp:

⛓ Проблема регуляризации и выводы

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

Янник Кильчер, однако, высказывает важное методологическое возражение против этого вывода. Он напоминает известную историю с масштабным исследованием алгоритмов GAN («Are all GANs created equal?»), авторы которого заявили, что все генеративные сети плюс-минус одинаковы, упустив из виду, что для Wasserstein GAN критически важен оптимизатор RMSProp вместо Adam. В данном исследовании Google Brain функции потерь вроде V-trace тестировались без энтропийной регуляризации, хотя в оригинальной статье Impala они были неразрывно связаны для достижения синергетического эффекта. Таким образом, из-за невозможности плотного исследования всего многомерного пространства параметров, многие важные кросс-взаимодействия факторов остались незамеченными.

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

💬 Цитаты

«Начальная политика имеет на удивление высокое влияние на эффективность обучения.»

Янник Кильчер 20:30

«Вам все равно придется долго и упорно настраивать гиперпараметры под свою конкретную задачу.»

Янник Кильчер 38:11
👥 Спикер
📖 Термины
On-Policy RL
Метод обучения с подкреплением, где агент обучается на основе данных, собираемых его текущей стратегией.
PPO (Proximal Policy Optimization)
Популярный алгоритм градиента политики, ограничивающий шаг обновления для стабильности обучения.
GAE (Generalized Advantage Estimation)
Метод оценки преимуществ для снижения дисперсии при обновлении политики агента.
Continuous Control
Задачи управления в средах с непрерывным пространством действий, например, контроль суставов робота.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Google Brain Reinforcement Learning PPO Янник Кильчер