Редактор 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 говорят, что они сами заинтересованы в открытии игрового движка для внешних агентов ИИ. Во-первых, это может сделать игру более интересной для нынешних игроков. Во-вторых, это важно для изучения самого игрового процесса и разработки будущих игр.
Комментарии (31)
Xpe6eT
10.08.2017 21:26Хм… но в «старом» надо не просто строить, а строить там где наиболее выгодно. Судя по исследованиям, ИИ не плохо справлется с тактикой, но не стратегией
Wernisag
11.08.2017 11:02Для брудвара есть вполне годные искусственные противники. В начале игры выбирается одна из нескольких базовых начал развития, далее компьютер исходит из данных разведки и пытается что-то противопоставить игроку. И с apm в районе 5 тысяч ему это вполне удается.
Snowfall022
11.08.2017 08:23Мне вот интересно что: в го правила игры не меняются, а в старкрафте время от времени выходят патчи, которые меняют геймплей, порой очень сильно. Насколько сложно будет агенту «привыкать» к изменённым правилам? Будут ли сразу обучать новый ИИ к новой версии или будут продолжать со старым, более «опытным»? Как он вообще себя будет вести с огромным количеством матчей старой версии в новой, где хотя бы немного поменяли несколько параметров?
Sadler
11.08.2017 11:48Как показывает практика AlphaGo, на поздних этапах необязательно скармливать чужие матчи, для обучения можно использовать несколько экземпляров одного алгоритма в качестве противников. Лишь бы они для начала уже умели играть на каком-то минимально допустимом уровне.
lolipop
11.08.2017 09:21Меня беспокоит это, как бы потом как со скандалом с дейтинг-сервисом не случилось — близзард будет в ладдере подсовывать игрокам ии вместо живых людей.
oxidmod
11.08.2017 11:46+3Если ИИ будет адекватно реагировать на действия игрока, то какая к черту разница?) Вопрос в том, будет ли он читерить. Человек может не заметить прокси-фабрику под боком, ИИ с полным вижином карты — нет.
Sadler
11.08.2017 11:51+1Если территория скрыта туманом войны, то, очевидно, не нужно отдавать её игроку (живому или ИИ). Другое дело, у ИИ здесь могут открыться сверхспособности в сравнении с человеком, как во всем известных роликах с уворачивающимися зергами.
Norno
11.08.2017 12:40+2Не могли бы вы привести пару примеров всем известных роликов? Правда интересно.
Eswcvlad
11.08.2017 14:25+2Скорее всего он имеет ввиду это https://www.youtube.com/user/Automaton2000Micro/videos
Pongo
11.08.2017 18:36+1Такие сверхспособности отчасти можно решить ограничением APM. Но микроконтроль все равно будет лучше, чем у человека.
Gruntson
11.08.2017 14:25+1Перед началом игровой сессии будите тестить с соперником друг друга тестом Тьюринга =)
lo0p3r
11.08.2017 13:06Промазал…
Отвечал на #comment_10252007
Из обсуждения ИИ Google.
Сам ролик на Youtube.
ferocactus
11.08.2017 16:20+2Интересно, как в этом Api c моделью времени (скоростью игры), чтобы для обучения не нужно было тратить реальное время на игру, а только минимально необходимое для ИИ, ведь от скорости реакции зависит и стратегия.
Это же не пошаговые стратегии типа шахмат и Go, где время дискретно.
bro-dev
11.08.2017 18:23По моему решают какие то левые проблемы сейчас. Понятно, что в будущем нужно будет прикручивать систему чтобы работала из вне и играла только кликами, Но сейчас то еще нету ИИ с игровым апи который может выигрывть людей, почему бы просто такой для начала такой не разработать, а потом уже поставить его на внешную систему.
Знаю что он будет микрить как не в себя, но имхо это не сильно поможет ему выиграть.
copypasta
ИИ и зерграш. #мывсеумрём