Gym Retro

A colorful collage of square-dimension moving 2D video game interfaces

Мы выпускаем полную версию Gym Retro, платформы для исследований в области обучения с подкреплением на видеоиграх. Благодаря этому количество общедоступных игр на платформе увеличилось примерно с 70 игр Atari и 30 игр Sega до более чем 1000 игр для различных поддерживаемых эмуляторов. Мы также выпускаем инструмент, который используем для добавления новых игр на платформу.

Мы используем Gym Retro для проведения исследований алгоритмов обучения с подкреплением и изучения обобщения. Предыдущие исследования в области обучения с подкреплением в основном были сосредоточены на оптимизации агентов для решения отдельных задач. С помощью Gym Retro мы можем изучать способность к обобщению между играми со схожими концепциями, но разным внешним видом.

Этот релиз включает игры с Sega Genesis, Sega Master System, а также с консолей NES, SNES и Game Boy от Nintendo. Он также включает предварительную поддержку Sega Game Gear, Nintendo Game Boy Color, Nintendo Game Boy Advance и NEC TurboGrafx. Некоторые из выпущенных интеграций игр, включая те, что находятся в папке data/experimental в Gym Retro, находятся в бета-версии — пожалуйста, протестируйте их и сообщите нам, если столкнетесь с какими-либо багами. Из-за масштабности внесенных изменений код пока будет доступен только в виде ветки. Чтобы не нарушать работу кода участников, мы не будем объединять эту ветку до окончания конкурса.

Проходящий в настоящее время Retro Contest (который завершится через пару недель!) и наш недавний технический отчет сфокусированы на более простой задаче обобщения между различными уровнями одной и той же игры (Sonic The Hedgehog™). Полный набор данных Gym Retro развивает эту идею дальше и позволяет исследовать более сложную проблему обобщения между разными играми. Масштаб набора данных и сложность отдельных игр делают эту задачу серьезным вызовом, и мы с нетерпением ждем возможности поделиться нашими исследовательскими успехами в следующем году. Мы также надеемся, что некоторые решения, разработанные участниками Retro Contest, можно будет масштабировать и применить ко всему набору данных Gym Retro.

Инструмент интеграции

Мы также выпускаем инструмент, который используем для интеграции новых игр. При наличии ROM-файла игры этот инструмент позволяет легко создавать состояния сохранения (save states), находить адреса памяти и разрабатывать сценарии, которые затем могут решать агенты обучения с подкреплением. Мы написали руководство для интеграторов для тех, кто хочет добавить поддержку новых игр.

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

Фарминг наград (Reward farming)

В процессе разработки Gym Retro мы обнаружили множество примеров игр, в которых агент учится фармить награды (определяемые как увеличение игрового счета) вместо выполнения неявной миссии. На приведенных выше клипах персонажи в Cheese Cat-Astrophe (слева) и Blades of Vengeance (справа) оказываются запертыми в бесконечных циклах, потому что таким образом могут быстро накапливать награды. Это подчеркивает феномен, который мы обсуждали ранее: относительно простые функции вознаграждения, которые мы даем современным алгоритмам обучения с подкреплением, например максимизация счета в игре, могут приводить к нежелательному поведению.

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

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

Для игр с редкой наградой или требующих планирования на несколько секунд вперед существующим алгоритмам приходится туго. Многие игры из набора данных Gym Retro имеют редкую награду или требуют планирования, поэтому решение всей задачи набора данных, вероятнее всего, потребует новых методов, которые еще не разработаны.

Если вам интересны исследования в области трансфертного обучения (transfer learning) и метаобучения с беспрецедентно большим набором данных, подумайте о том, чтобы присоединиться к OpenAI.

Авторы

Vicki Pfau, Alex Nichol, Christopher Hesse, Larissa Schiavo, John Schulman, Oleg Klimov

Полный текст статьи читайте на OpenAI