Редактор 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)


  1. copypasta
    10.08.2017 20:30
    +3

    ИИ и зерграш. #мывсеумрём


  1. Xpe6eT
    10.08.2017 21:26

    Хм… но в «старом» надо не просто строить, а строить там где наиболее выгодно. Судя по исследованиям, ИИ не плохо справлется с тактикой, но не стратегией


    1. Wernisag
      11.08.2017 11:02

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


  1. AndrewRo
    10.08.2017 21:35
    +4

    ареала «ползучести» creep

    Официальный русский перевод — слизь.


  1. Snowfall022
    11.08.2017 08:23

    Мне вот интересно что: в го правила игры не меняются, а в старкрафте время от времени выходят патчи, которые меняют геймплей, порой очень сильно. Насколько сложно будет агенту «привыкать» к изменённым правилам? Будут ли сразу обучать новый ИИ к новой версии или будут продолжать со старым, более «опытным»? Как он вообще себя будет вести с огромным количеством матчей старой версии в новой, где хотя бы немного поменяли несколько параметров?


    1. Sadler
      11.08.2017 11:48

      Как показывает практика AlphaGo, на поздних этапах необязательно скармливать чужие матчи, для обучения можно использовать несколько экземпляров одного алгоритма в качестве противников. Лишь бы они для начала уже умели играть на каком-то минимально допустимом уровне.


  1. lolipop
    11.08.2017 09:21

    Меня беспокоит это, как бы потом как со скандалом с дейтинг-сервисом не случилось — близзард будет в ладдере подсовывать игрокам ии вместо живых людей.


    1. oxidmod
      11.08.2017 11:46
      +3

      Если ИИ будет адекватно реагировать на действия игрока, то какая к черту разница?) Вопрос в том, будет ли он читерить. Человек может не заметить прокси-фабрику под боком, ИИ с полным вижином карты — нет.


      1. Sadler
        11.08.2017 11:51
        +1

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


        1. Norno
          11.08.2017 12:40
          +2

          Не могли бы вы привести пару примеров всем известных роликов? Правда интересно.


          1. Sadler
            11.08.2017 13:17
            +2

            Вот ссылка на канал: https://www.youtube.com/user/Automaton2000Micro/videos


          1. coutvv
            11.08.2017 14:25

            Например this


          1. Eswcvlad
            11.08.2017 14:25
            +2

            Скорее всего он имеет ввиду это https://www.youtube.com/user/Automaton2000Micro/videos


        1. Pongo
          11.08.2017 18:36
          +1

          Такие сверхспособности отчасти можно решить ограничением APM. Но микроконтроль все равно будет лучше, чем у человека.


    1. Gruntson
      11.08.2017 14:25
      +1

      Перед началом игровой сессии будите тестить с соперником друг друга тестом Тьюринга =)


    1. wickated
      11.08.2017 14:25
      -2

      Во времена моей молодости играл в всем известные танки. Постоянно было ощущение что 75% онлайна — боты. Но потом увидел игроков и из действия вживую. Лучше бы были боты...


      1. lolipop
        11.08.2017 14:28
        +4

        в моей молодости танки были — battle city на nintendo(dendy).


  1. lo0p3r
    11.08.2017 13:06

    Промазал…
    Отвечал на #comment_10252007
    Из обсуждения ИИ Google.
    Сам ролик на Youtube.


  1. Eugene713
    11.08.2017 14:25

    Эх, открыли бы первый, развлекуха бы была


    1. J_o_k_e_R
      11.08.2017 19:20

      С подключением. Уже даже чемпионаты между ИИ по брудвару проводятся.


  1. merl1n
    11.08.2017 15:13

    Даёшь пропатченный StartCraft 2 с новым ИИ!
    Покажем ему, где раки зимуют!


  1. ferocactus
    11.08.2017 16:20
    +2

    Интересно, как в этом Api c моделью времени (скоростью игры), чтобы для обучения не нужно было тратить реальное время на игру, а только минимально необходимое для ИИ, ведь от скорости реакции зависит и стратегия.
    Это же не пошаговые стратегии типа шахмат и Go, где время дискретно.


  1. bro-dev
    11.08.2017 18:23

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