Игру StarCraft II открыли для агентов машинного обучения
Редактор PySC2 показывает интерпретацию игрового поля для человека (слева), а также цветные версии слоёв признаков справа. Например, в верхнем ряду показаны признаки высоты поверхности, «тумана войны», слизи, местоположения камеры и ресурсов игрока, видео
Тестирование агентов искусственного интеллекта в компьютерных играх — важная часть обучения ИИ. Компания DeepMind уделяет большое внимание этому аспекту обучения, используя как специально созданные окружения вроде DeepMind Lab, так и известные игры вроде Atari и го (система AlphaGo). Особенно важно тестировать агентов в таких играх, которые не были специально созданы для машинного обучения, а наоборот — они были созданы для игр людей, и люди хорошо в них играют. Вот здесь обучение ИИ наиболее ценно.
Исходя из этих предпосылок, компания DeepMind совместно с Blizzard Entertainment выпустила набор инструментов SC2LE, чтобы стимулировать исследования в области ИИ на платформе StarCraft II.
StarCraft и StarCraft II входят в число самых популярных игр всех времён, турниры по ним проходят более 20 лет. Оригинальная версия StarCraft также используется для машинного обучения и исследований ИИ, а разработчики показывают свои творения на ежегодном соревновании ботов AIIDE. Отчасти успех игры связан с хорошей сбалансированностью и многоуровневым геймплеем, что одновременно делает её идеальным вариантом для исследований ИИ.
Так, основная задача игрока — победить соперника, но одновременно нужно выполнить массу подзадач: добывать ресурсы, строить здания. У игры есть и другие качества, привлекательные для разработки ИИ: например, постоянный большой пул опытных игроков в онлайне, на которых можно оттачивать своё мастерство.
Набор инструментов SC2LE включает в себя следующее:
- Программные интерфейсы Machine Learning API, разработанные Blizzard, с помощью которых разработчики и исследователи могут подключиться к игровому движку. В том числе впервые выпущены инструменты под Linux.
- Набор данных для обучения с анонимизированными записями игр. DeepMind обещает в ближайшие недели увеличить количество записей с 65 тыс. до 500 тыс.
- Open source версия набора инструментов DeepMind — PySC2, чтобы легко использовать API и уровень слоёв признаков с другими агентами.
- Наборы простых мини-игр для тестирования производительности агентов на простых задачах.
- Совместная научная статья с описанием окружения и базовыми результатами машинного обучения в мини-играх, описанием обучения с учителем на наборе данных записей игр и полноценной игры 1v1 агента против игрового ИИ.
StarCraft II будет непростой игрой для обучения ИИ. Достаточно сказать, что для игрока доступно более 300 базовых действий. Сравните это с играми Atari, где количество действий не превышает десяти (типа «вверх», «вниз», «влево», «вправо»). К тому же, действия в StarCraft имеют иерархическую структуру, могут быть изменены или дополнены, а многие из них требуют указания точки на экране. Простая математика показывает, что даже на фрагменте 84×84 пикселей существует около 100 миллионов возможных действий!
«StarCraft интересен по многим причинам, — говорит Ориол Виньялс (Oriol Vinyals), ведущий исследователь DeepMind по проекту StarCraft II и сам эксперт-игрок в StarCraft II (мощных ботов для игры он написал ещё в студенческие годы). — Память является критически важным фактором. То, что вы видите в данный момент, отличается от того, что вы видели раньше, и нечто специфическое, что происходило минуту назад, может заставить вас изменить своё поведение в данный момент».
Редактор PySC2 предоставляет простой в использовании интерфейс для подключения агентов к игре. Как показано на самом первом скриншоте, игру разложили на «слои признаков», которые изолированы друг от друга. Это такие признаки как типы юнитов, видимость на карте, высота поверхности и т.д.
Анимация внизу показывает некоторые из мини-игр, предназначенных для обучения агентов конкретным действиям в игре, таким как передвижение камеры, сбор минералов или выбор юнитов. Разработчики из DeepMind надеются, что сообщество подбросят идеи для новых мини-игр.
Первые результаты показывают, что агенты ИИ неплохо справляются с мини-играми, но во всей игре целиком даже самые лучшие агенты вроде A3C не могут выиграть у встроенного ИИ даже на самом простом уровне. Возможно, сбор большего количества игровых сессий и дополнительное обучение агентов поможет исправить ситуацию. Одновременно обучение на такой большой базе (500 тыс. игровых сессий) откроет принципиально новые возможности для исследования, такие как долговременная память ИИ и предсказания последовательностей событий.
Разработчики из Blizzard говорят, что они сами заинтересованы в открытии игрового движка для внешних агентов ИИ. Во-первых, это может сделать игру более интересной для нынешних игроков. Во-вторых, это важно для изучения самого игрового процесса и разработки будущих игр.