Функционирует при финансовой поддержке Федерального агентства по печати и массовым коммуникациям (Роспечать)

Unity разработала игру специально для нейросетевых ботов

Unity

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

Для человека научиться играть в компьютерную игру на неплохом уровне — простая задача, требующая относительно немного времени. Однако для компьютерных алгоритмов даже простые 2D-платформеры представляют собой сложную задачу. В последние годы исследователи начали использовать для ее решения алгоритмы машинного обучения, при использовании которых агент обучается игре, а не просто выполняет заложенные в него скрипты. Но для обучения таких алгоритмов игру необходимо адаптировать и создать API для взаимодействия агента с игрой. Кроме того, сама механика игр, созданных для человека, может быть не адаптирована под прохождение ботом.

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

Во время игры агент получает два типа данных: цветное изображение с разрешением 168 на 168 пикселей, а также вспомогательный вектор, создаваемый из количества ключей, которые собрал агент на этом уровне, а также времени, оставшегося на прохождение уровня. Агент может двигаться в четыре стороны, поворачиваться в две стороны, а также прыгать. Поскольку разработчики рассматривают Obstacle Tower как среду для алгоритмов обучения с подкреплением, они реализовали две функции вознаграждения. При игре в одном из них агент получает награду только за прибытие к последней двери, ведущей на следующий этаж, а во втором режиме он получает награду и за промежуточные события, такие как сбор ключей и открытие дверей между комнатами.

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

Разработчики опубликовали на GitHub первую версию среды, состоящую из 25 первых уровней, а также собираются опубликовать полную версию. Конкурс Obstacle Tower Challenge на первой версии среды начнется 11 февраля и продлится до 31 марта, а его этап соревнований на полной 100-уровневой версии пройдет с 15 апреля по 14 июня.

В 2017 году компания Blizzard объявила о создании открытого API для многопользовательской игры StarCraft II, позволяющего сторонним разработчикам обучать свои алгоритмы на этой игре. В конце января 2019 года прошли соревнования между нейросетью AlphaStar, разработанной DeepMind, и игроками в StarCraft II, входящими в сотню сильнейших игроков мира. По итогам соревнований две версии нейросети победили двух игроков, выиграв по пять матчей из пяти.

Григорий Копиев

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.