200 лет тренировок: искусственный интеллект от Google успешно осваивает StarCraft 2

В четверг Blizzard совместно с Google провели демонстрацию, где показали, каковы на данный момент успехи искусственного интеллекта в освоении StarCraft 2. В ходе эфира зрители узнали о том, как ИИ от Google учится играть в самую популярную RTS современности, а также увидели записи игр "компьютера" против профессиональных игроков. В завершение презентации в прямом эфире был сыгран показательный матч, в котором искусственному разуму противостоял один из ветеранов европейской сцены.

news_5c4a1430d1b00.png

Презентацию вели Artosis и Rotterdam. Презентация была рассчитана не только на людей, которые не понаслышке знают, что такое StarCraft 2, т.к. в начале эфира ведущие представились и рассказали о том, кто они такие.

Первыми гостями в студии стали Тим Мортен, ведущий продюсер StarCraft 2, а также ведущий разработчик DeepMind Ориол Виньялс. "Здравствуйте, для нас это большая честь, мы очень волнуемся". В общем, стандартный набор приветственных фраз.

Тим рассказал, что для DeepMind была разработана специальная версия StarCraft 2. Функции просмотра игр в качестве обсервера там нет, поэтому все игры, которые зрители впоследствии увидели на трансляции (кроме заключительного показательного матча) – это реплеи игр, которые были ранее сыграны в штаб-квартире DeepMind в Лондоне.

Ориол также пояснил, почему была выбрана именно SC2 и чем она отличается от игры го, которую DeepMind покорил ранее. Опять же, мы это уже знаем: в StarCraft 2 игрок вынужден оперировать неполной информацией. Программе нужно научиться предсказывать и предугадывать действия соперника.

news_5c4a1b6ba23d1.png

Плюс введено искусственное ограничение по кликам, дабы компьютер не микрил, как младый боже – программа, по сути, симулирует контроль реального человека. Сами разработчики говорят, что компьютер кликает не чаще, чем реальные люди, и на происходящее в игре (измеряли!) реагирует не быстрее, а то даже и немного медленнее, чем профессиональный игрок (3,5 миллисекунды).

К этому заявлению, правда, есть вопросы, т.к. GameHeart во время игр иногда показывал очень высокие значения АРМ, который, пожалуй, не снились даже самым отчаянным кликерам (мы засекли показатель в 800 действий в секунду, тогда как на TeamLiquid есть сообщения о 1500 АРМ). Beastyqt в твиттере отметил, что показатели АРМ зашкаливает за 1000, а AI практически одновременно успешно блинкается сталкерами в трех разных группах.

news_5c4a2109545a3.png

Сравнение графиков APM. Искусственный интеллект "кликает" меньше, чем его соперник-человек.

Программа также видит всю карту целиком – такой своеобразный супер-зум. Естественно, AI не видит то, что скрывается в тумане войны. Более того, искусственный интеллект также, как и обычный человек, работает "экранами" – т.е. его "внимание" в один момент игры сосредоточено на локации, ограниченной одним экраном. AI делает примерно 30 переключений между экранами в минуту.

news_5c4a179bec451.png

Вот так ИИ видит игру. Но при этом единовременно сосредоточен AlphaStar только на локации, ограниченной стандартным игровым экраном (см. белую рамку на скриншоте).

Программный агент, который играет в SC2, называется AlphaStar. Обучение ИИ начинается с имитации – AlphaStar просматривает и анализирует реплеи, пытается повторять определенные стратегические решения. В ход идут записи игр не только профессиональных игроков, нижний ограничитель составляетт 3500 MMR.

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

news_5c4a255ea2cf7.png

Схема тренировка AlphaStar. Изначальный агент "разделяется" на несколько копий, которые играют друг против друга, анализируют игры, учатся противодействовать стратегиям других агентов.

При этом процесс эволюции AlphaStar начинался так же, как происходит эволюция мета-игры: появляется стратегия, потом к ней придумывается контр-стратегия, к которой затем придумывается другая контр-стратегия. И так до бесконечности. По словам разработчиков, сейчас AlphaStar наиграл в StarCraft 2 уже 200 лет, а в AlphaStar League не было такого агента и такой стратегии, которые оставались бы непобежденными.

На данный момент AlphaStar тренируется только в одном матч-апе – это PvP. AI играет также только одну карту – "Катализатор". И, да, версия патча тоже не самая актуальная – 4.6.2 (на этом патче игрался BlizzCon-2018).

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

news_5c4a172196373.png

Схема того, как работает AlphaStar. Стрелка в левой части (от "камеры" AlphaStar к черно-белой карте) показывает, что агент считал информацию.

В качестве "полевых испытаний" AlphaStar сыграл против нескольких прогеймеров. Важно отметить, что под названием AlphaStar объединено несколько разных агентов – те самые лучшие экземпляры, которые оказываются самыми эффективными по итогам AlphaStar League. У каждого экземпляра есть не только знание об игре, но и какие-то предпочтения по стилям (кто-то играет более агрессивно, кто-то нет) и по используемым юнитам.

news_5c4a1a370c766.png

Штаб-квартира DeepMind в Лондоне (здесь прогеймеры играли тестовые матчи против AI). Разработчики AlphaStar наблюдает за играми своего творения против профессиональных игроков.

Первой жертвой искусственного интеллекта (простите, спойлер) стал TLO. Дарио Вюнш стал первым профессиональным старкрафтером, на котором испытали AI DeepMind. И герр TLO был нещадно бит – 5:0 по картам. При этом AlphaStar отыграл в разных стилях. Были и однобазовые пуши, и игра от глухой обороны с выходом в авианосцы, и прокси-гейты. Вы скажите: "TLO? За протоссов? Серьезно"? Ведущие, однако, сказали, что TLO играет за протоссов на уровне середины GML, так что...

news_5c4a22b9b7352.png

"Special tactics" от Alpha Star – 13 дисрапторов

Вторым, на ком испытывали AlphaStar, стал куда более серьезный протосс – MaNa. Правда, к моменту поединка против поляка AlphaStar успел дополнительно потренироваться потренировался (поединок проходил через неделю после матча против TLO). Не знаем, что там разработчики говорят про ограничение по АРМ, но ИИ контролил и блинкался, как пара-тройка PartinG'ов, которым помогают еще три-четыре herO. Вопрос по поводу практически безупречного контроля возникли и у Artosis'а и Rotterdam'а, но разработчики пояснили, что "ИИ кликает не очень быстро, но очень точно".

news_5c4a167f09718.png

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


В конце трансляции MaNa вновь сыграл против AlphaStar. Это был, однако, новый агент – не тот, с которым поляк играл ранее и которому проиграл со счетом 0:5. Восприятие игровой карты этого нового агента было еще больше приближено к восприятию обычного человека: никакого "супер-зума", а исключительно работа с экранами. И это, вероятно, сыграло свою роль (хотя разработчики сказали, что AI научился работать в таком режиме не хуже, чем с "супер-зумом").

В показательной игре в прямом эфире MaNa обыграл ИИ. Игра началась отлично для AlphaStar, который смог нанести серьезный урон экономике соперника оракулами. Но затем поляк сбил противника с толку харассом имморталами в призме. Удивительно, но после всего, что мы видели в этот вечер, AlphaStar решил не строить феникса, чтобы сбить зависшую в "мертвой зоны" у базы призму MaNa'ы, а контролировал ее местонахождение оракулом и караулил сталкерами.

Также, по словам Artosis'а, в этой игре AlphaStar был "максимально похож на человека" в плане выбираемых стратегий и принимаемых решений.

Таким образом, несмотря на убедительную победу AlphaStar в предварительных испытаний, последнее слово, на данный момент, осталось все-таки за человеком. Но то ли еще будет?


Реплеи игр AlphaStar против TLO и MaNa'ы будут опубликованы на официальном сайте DeepMind. Также в пятницу на Reddit состоится АМА-сессия, где можно будет задать вопросы разработчикам и принимавшим участие в матчах игрокам. Запись демонстрации DeepMind доступна на YouTube.