Apm в старкрафт 2 что это

Обновлено: 05.07.2024

Сегодня наконец-то выходит StarCraft II: Wings of Liberty. За длительный период бета-тестирования выловлено огромное количество багов, исправлен баланс, сделаны исправления в безопасности.
Однако, слона они всё-таки не заметили…

Однажды мы играли 2х2 со знакомым на ладдере и болтали по скайпу. Меня вчистую разгромили, и я вышел из игры, а мой напарник продолжил играть (и в результате мы победили). После того как я вышел, я решил посмотреть какие-нибудь реплеи, и зашел во вкладку с ними. Моему удивлению не было предела когда я увидел там нашу последнюю незаконченную игру, вошел в нее, и стал напарнику по скайпу говорить чего они стоят и где (разумеется, реплей длился вплоть того момента как я вышел).

  • Каждый игрок в процессе игры в реальном времени получает всю информацию о ходе игры (как в реплее), и его vision ограничен лишь его локальным клиентом.
  • Файл с реплеем пишется прямо во время игры.
  • Можно допилить клиента игры чтоб включал полный vision пока нажата горячая клавиша. Однако, этот вариант самый жесткий, можно обойтись и стандартными средствами.
  • Можно поставить второй монитор, поднять на виртуалке второй экземпляр игры, пролинковать туда файл с реплеем, и зайти посмотреть чего делает противник прямо в процессе игры.
Пути исправления
  • Имеет смысл писать реплеи на сервере, и скачивать когда человек кликает на реплей (позволять скачивать только завершенные игры)
  • Было бы хорошо персонифицировать поток информации в процессе игры, чтоб клиент владел лишь теми данными, которые ему дозволены
Заключение

Ну всё, теперь у меня не будет искушения использовать это на турнирах и стать королем Starcraft.
Надеюсь, повеселил. Удачи всем!

Итоги игры AlphaStar против профессиональных игроков

StarCraft позволяет выбирать игрокам одну из трех рас — терранов, зергов или протоссов. Мы приняли решение, что AlphaStar на данный момент будет специализироваться на одной конкретной расе — протоссах, чтобы снизить время обучения и вариации в оценке результатов нашей внутренней лиги. Но следует отметить, что аналогичный процесс обучения может быть применен для любой расы. Наши агенты были обучены играть в StarCraft II версии 4.6.2 в режиме протосс против протосса, на карте CatalystLE. Для оценки производительности AlphaStar, мы изначально тестировали наших агентов в матчах против TLO — профессионального игрока за зергов и игрока за протоссов уровня «GrandMaster». AlphaStar выиграл матчи со счетом 5:0, используя широкий диапазон юнитов и билд-ордеров. «Я был удивлен, насколько сильным был агент», сказал он. «AlphaStar берет известные стратегии и переворачивает их с ног на голову. Агент показал такие стратегии, о которых я даже никогда не думал. И это показывает, что по-прежнему могут быть способы игры, которые до сих пор не изучены в полной мере».

После дополнительного недельного обучения, мы сыграли против MaNa, одного из самых сильных игроков StarCraft II в мире, и входящего в 10 сильнейших игроков за протоссов. AlphaStar и в этот раз победил со счетом 5:0, продемонстрировав сильные навыки микро-управления и макро-стратегии. «Я был поражен, увидев как AlphaStar использует самые передовые подходы и разные стратегии в каждой игре, показывая очень человеческий стиль игры, который я никак не ожидал увидеть», сказал он. «Я осознал, насколько сильной мой стиль игры зависит от использования ошибок, основанных на человеческих реакциях. И это ставит игру на совершенно новый уровень. Мы все восторженно ожидаем увидеть, что же будет дальше».

что значат буквы apm в старкрафте ?


Среднее количество действий в минуту (Actions Per Minute). Каждый щелчок мыши и нажатие клавиши считается за одно действие. Кстати, менее 150 APM - всего лишь средний уровень. У лучших игроков показатель APM переваливает за отметку 250.

Показатель действий игрока, которые принесли какую-то пользу в его развитии или его прогрессу (действия в минуту)

AlphaStar и другие сложные проблемы

Несмотря на то что StarCraft — это лишь игра, пусть даже и очень сложная, мы думаем, что техники, лежащие в основе AlphaStar, могут быть полезны в решении других задач. К примеру, такой тип архитектуры нейронной сети способен моделировать очень длинные последовательности вероятных действий, в играх зачастую длящихся до целого часа и содержащих десятки тысяч действий, основанных при этом на неполной информации. Каждый фрейм в StarCraft'е используется как один шаг ввода. При этом нейронная сеть каждый такой шаг предсказывает ожидаемую последовательность действий для всей оставшейся игры. Фундаментальная задача составления сложных прогнозов для очень длинных последовательностей данных встречается во многих задачах реального мира, таких как прогноз погоды, моделирование климата, понимание языка и др. Мы очень рады осознавать огромный потенциал, который может быть применен в этих областях, использую наработки которые мы получили в проекте AlphaStar.

Мы также думаем, что некоторые из наших методов обучения могут оказаться полезными в изучении безопасности и надежности ИИ. Одна из самых сложных проблем в области ИИ — это количество вариантов, при которых система может ошибаться. И профессиональные игроки в прошлом быстро находили способы обойти ИИ, оригинально используя его ошибки. Инновационный подход AlphaStar, основанный на обучении в лиге, находит такие подходы и делает общий процесс более надежным и защищенным от подобных ошибок. Мы рады, что потенциал такого подхода может помочь в улучшении безопасности и надежности ИИ-систем в целом. В особенности, в таких критичных областях, как энергетика, где крайне важно правильно реагировать в сложных ситуациях.

Достижение такого высокого уровня игры в StarCraft представляет собой большой прорыв в одной из самых сложных когда-либо созданных видеоигр. Мы верим, что эти достижения, наряду с успехами в других проектах, будь то AlphaZero или AlphaFold, представляют собой шаг вперед в осуществлении нашей миссии по созданию интеллектуальных систем, которые однажды помогут нам найти решения для самых сложных и фундаментальных научных вопросов.

Как AlphaStar действует и видит игру

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

В наших играх против TLO и MaNa, AlphaStar держал APM в среднем на уровне 280, что намного меньше чем у профессиональных игроков, хотя его действия при этом могут быть более точными. Такой низкий APM объясняется в частности тем, что AlphaStar начинал учится на основе реплеев обычных игроков и пытался подражать манере человеческой игры. В дополнение к этому, AlphaStar реагирует с задержкой между наблюдением и действием в среднем около 350 мс.


Распределение APM AlphaStar в матчах против MaNa и TLO, и общая задержка между наблюдением и действием.

В ходе матчей против TLO и MaNa, AlphaStar взаимодействовал с игровым движком StarCraft'а через базовый (raw) интерфейс, то есть он мог видеть атрибуты своих и видимых вражеских юнитов на карте напрямую, без необходимости двигать камеру — эффективно играть с уменьшенным видом всей территории. В разрез с этим, живые люди должны явно управлять «экономикой внимания», чтобы постоянно решать, где сфокусировать камеру. Тем не менее, анализ игр AlphaStar показывает, что он неявно управляет фокусом внимания. В среднем агент переключает свой контекст внимания примерно 30 раз в минуту, подобно MaNa и TLO.

В дополнение мы разработали вторую версию AlphaStar. Как игроки-люди, эта версия AlphaStar явно выбирает, когда и куда двигать камеру. В этом варианте его восприятие ограничено информацией на экране, а действия также допустимы только на видимой области экрана.


Производительность AlphaStar при использовании базового интерфейса и интерфейса с камерой. График показывает, что новый агент, работающий с камерой, быстро достигает сопоставимой производительности агента, использующего базовый интерфейс.

Мы обучили двух новых агентов, одного с использованием базового интерфейса и одного, который должен был научиться управлять камерой, играя против лиги AlphaStar. Каждый агент в начале был обучен с учителем на основе человеческих матчей, с последующим обучением с подкреплением, описанным выше. Версия AlphaStar, использующая интерфейс с камерой, достигла почти таких же результатов, что и версия с базовым интерфейсом, превысив отметку в 7000 MMR на нашей внутренней таблице лидеров. В показательном матче, MaNa победил прототип AlphaStar, использующий камеру. Эту версию мы обучали только 7 дней. Мы надеемся, что сможем оценить полностью обученную версию с камерой в ближайшем будущем.

Эти результаты показывают, что успех AlphaStar в матчах против MaNa и TLO в первую очередь является следствием хорошего макро- и микро-менеджмента, а не просто большого клик-рейта, быстрой реакции или доступа к информации базового интерфейса.

Сверхчеловеческую скорость AlphaStar внедрили как заплатку для ошибки имитационного обучения?

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

Постараюсь убедительно доказать следующее:

  1. AlphaStar играл со сверхчеловеческой скоростью и точностью.
  2. Deepmind утверждает, что запретила ИИ выполнять действия, которые физически невозможны для человека. Разработчики не преуспели в этом и, вероятно, знают о своём косяке.
  3. Причина, по которой AlphaStar играет на сверхчеловеческих скоростях, скорее всего, связана с его неспособностью избавиться от приобретённого навыка спам-кликов. Подозреваю, что разработчики хотели сделать программу более гуманной, но не смогли. Потребуется время, чтобы подойти к данному тезису. Но это главная причина, почему я написал статью, так что прошу проявить терпение.

В конце концов, AlphaStar — удивительное достижение. На мой взгляд, величайшее достижение Deepmind на сегодняшний день, и я с нетерпением жду, как ещё усовершенствуют эту программу. Спасибо за ваше терпение. Итак, поехали.

Сверхчеловеческая скорость AlphaStar

Дэвид Сильвер, соруководитель команды AlphaStar: «AlphaStar не может реагировать быстрее и не может сделать больше кликов, чем живой игрок».

Здесь ведущий проектировщик ИИ делает важное заявление (с 1:39)

В 2018 году на сцене Starcraft 2 доминировал Serral. Он действующий чемпион мира и выиграл семь из девяти крупных турниров, в которых участвовал, что привело к одному их самых мощных примеров доминирования одного игрока в истории Starcraft 2. Парень очень быстрый. Возможно, самый быстрый в мире.

Вид от первого лица (с 13:00):

Взгляните на его APM в левом верхнем углу. Это сокращение для количества действий в минуту. По сути это число отражает, как быстро игрок нажимает на кнопки мыши и клавиатуры. Ни разу Serral не может надолго удержать APM более 500. Есть один всплеск до APM 800, но только на долю секунды и, скорее всего, в результате спам-кликов, о которых я скоро расскажу.

Итак, самый быстрый в мире игрок способен удержать впечатляющий уровень APM 500, но у AlphaStar были всплески до 1500+. Эти нечеловеческие показатели более APM 1000 иногда длились пять секунд и полны осмысленных действий. 1500 действий в минуту — это 25 действий в секунду. Это физически невозможно для человека. Также прошу учесть, что в игре Starcraft пять секунд — большой срок, особенно в самом начале большого сражения. Если сверхчеловеческий показатель в первые пять секунд даёт ИИ преимущество, то он легко выиграет сражение благодаря эффекту снежного кома. Вот завязка битвы AlphaStar в третьей игре против MaNa (с 59:30):

AlphaStar удерживает APM 1000+ в течение пяти секунд. Ещё одна завязка в четвёртой игре с заоблачным APM 1500+ (c 2:11:32):

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

Спам-клики, APM и хирургическая точность роботов

Большинство игроков проявляет склонность к спам-кликам. Бессмысленные клики, которые ни на что не влияют. Например, человек перемещает армию и зачем-то щёлкает несколько раз в точке назначения. Какой эффект? Никакого. Армия не пойдёт быстрее. Одного клика было достаточно. Тогда зачем он это делает? Есть две причины:

  1. Спам-клик — естественный побочный эффект, когда человек старается кликнуть как можно быстрее.
  2. Помогает разогреть пальцы.

Взгляните, как бывший профессионал потерял рассудок в твиттере, узнав EPM Serral'а:

Serral in his WCS Leipzig replays consistently has 300+ EPM. 344 EPM in a game vs major's bio. The 3 other semi-finalists are around 200 EPM. Top Koreans I've looked are between 200-240. Serral is 50% faster than his opponents on average. Scary!

— Jos de Kroon (@Retjah) February 1, 2018

Его EPM 344 — практически нереальный показатель. Он настолько высок, что мне до сих пор трудно поверить, что это правда. Разница между APM и EPM повлияла также на AlphaStar. Если ИИ может играть без спам-кликов, не означает ли это, что его пиковый EPM временами равен пиковому APM? Это делает всплески до 1000+ еще более нечеловеческими. Когда мы принимаем во внимание, что AlphaStar играет с идеальной точностью, то его механические возможности кажутся совершенно абсурдными. Он всегда нажимает именно там, где он хочет нажать. Люди промахиваются, а AlphaStar в нужные моменты начинает работать в четыре раза быстрее, чем самый быстрый игрок в мире — с точностью, о которой человек может только мечтать.

Практически все в сообществе согласны, что AlphaStar выполнял последовательности, которые ни один человек не способен повторить. Он был быстрее и точнее, чем это возможно физически. Самый быстрый в мире профессионал действует в несколько раз медленнее. Точность невозможно даже сравнить.

Утверждение Дэвида Сильвера, что AlphaStar может выполнять только действия, которые способен воспроизвести человек, просто не соответствует действительности.

Как происходит обучение

AlphaStar также использует новый мультиагентный алгоритм обучения. Эта нейронная сеть была изначально обучена с помощью метода обучения с учителем на основе анонимизированных реплеев, которые доступны благодаря компании Blizzard. Это позволило AlphaStar изучать и имитировать основные микро- и макро-стратегии, используемые игроками в турнирах. Данный агент победил встроенного ИИ уровня «Elite», что эквивалентно уровню игрока золотой лиги, в 95% тестовых игр.


Лига AlphaStar. Агенты изначально обученные на основе реплеев человеческих матчей, а затем на основе соревновательных матчей между собой. На каждой итерации, новые соперники разветвляются, а первоначальные замораживаются. Вероятности встречи с другими оппонентами и гиперпараметры определяют цели обучения для каждого агента, что повышает сложность, которая сохраняет разнообразие. Параметры агента обновляются методом обучения с подкреплением, основываясь на исходе игры против соперников. Конечный агент отбирается (без замены) на основе распределения Нэша.

Эти результаты затем используются, чтобы начать мультиагентный процесс обучения с подкреплением. Для этого была создана лига, где агенты-оппоненты играют против друг друга, подобно тому как люди получают опыт, играя в турниры. Новые соперники добавлялись путем в лигу, путем дублирования текущих агентов. Такая новая форма обучения, заимствуя некоторые идеи из метода обучения с подкреплением с элементами генетических (population-based) алгоритмов, позволяет создать непрерывный процесс исследования огромного стратегического пространства геймплея StarCraft'а, и быть уверенным, что агенты в силах противостоять наиболее сильным стратегиям, не забывая при этом старые.


Оценка MMR (Match Making Rating) — примерный показатель мастерства игрока. Для соперников в лиге AlphaStar в ходе обучения, в сравнении с онлайн-лигами Blizzard'а.

По мере развития лиги и создания новых агентов, появлялись контр-стратегии, которые были способны победить предыдущие. В то время как некоторые агенты лишь усовершенствовали стратегии, которые встречались ранее, другие агенты создавали абсолютно новые, включающие в себя новые необычные билд-ордеры, состав юнитов и макро-менеджмент. К примеру, на ранней стадии процветали «чизы» — быстрые раши с помощью фотонных (Photon Cannons) пушек или темных тамплиеров (Dark Templars). Но по мере того как процесс обучения продвигался вперед, эти рискованные стратегии были отброшены, уступив место другим. Например, производство избыточного количества рабочих для получения дополнительного притока ресурсов или пожертвование двух оракулов (Oracles) для удара по рабочим противника и подрыва его экономики. Этот процесс подобен тому как обычные игроки открывали новые стратегии и побеждали старые популярные подходы, в ходе многих лет с момента выпуска StarCraft'а.


По мере того как обучение продвигалось, было заметно как изменяется состав юнитов, которым пользуются агенты.

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


Интерактивная визуализация (интерактивные функции доступны в оригинале статьи), которая показывает соперников с лиге AlphaStar. Агент, который играл против TLO и MaNa отдельно отмечен.

Коэффициенты (веса) нейронной сети каждого агента обновлялись с помощью обучения с подкреплением на основе игр с оппонентами, чтобы оптимизировать их конкретные цели обучения. Правило обновления веса — это новый эффективный алгоритм обучения «off-policy actor-critic reinforcement learning algorithm with experience replay, self-imitation learning and policy distillation» (для точности терминов оставлено без перевода).

Изображение показывает как один агент (черная точка), который был выбран в итоге для игры против MaNa, развивал свою стратегию в сравнении с оппонентами (цветные точки) в процессе обучения. Каждая точка представляет соперника в лиге. Положение точки показывает стратегию, а размер — частоту, с которой она выбирается в качестве соперника для агента MaNa в процессе обучения.

Для обучения AlphaStar мы создали масштабируемую распределенную систему на основе Google TPU 3, которая обеспечивает процесс параллельного обучения целой популяции агентов с тысячами запущенных копий StarCraft II. Лига AlphaStar проработала 14 дней, используя 16 TPU для каждого агента. В ходе обучения каждый агент испытал до 200 лет опыта игры в StarCraft в реальном времени. Финальная версия агента AlphaStar содержит компоненты распределения Нэша всей лиги. Другими словами, самую эффективную смесь стратегий, которые были обнаружены в ходе игр. И эта конфигурация может быть запущена на одном стандартном настольном GPU. Полное техническое описание сейчас готовится к публикации в рецензируемом научном журнале.


Распределение Нэша между соперниками в ходе развития лиги и создания новых оппонентов. Распределение Нэша, which is the least exploitable set of complementary competitors, высоко оценивает новых игроков, демонстрируя таким образом постоянный прогресс по сравнению со всеми прошлыми конкурентами.

Делать всё правильно или просто включить скорость?

Ориол Виньялс, ведущий архитектор AlphaStar: «Важно осваивать игры, признанные «фундаментальными проблемами для ИИ». Мы пытаемся создать интеллектуальные системы, которые перенимают наши удивительные возможности, поэтому очень важно, чтобы они обучались максимально „по-человечески”. Как бы круто ни звучало, но достижение максимальных показателей в игре, вроде очень высоких APM, на самом деле не помогает нам измерить возможности и прогресс наших агентов, что делает бенчмарк бесполезным».

Почему Deepmind хочет ограничить агента, чтобы он играл как человек? Почему бы просто не пустить его во все тяжкие без каких-либо ограничений? Причина в том, что в Starcraft 2 механические суперспособности портят геймплей. В этом видео бот несколькими зерглингами атакует группу танков, реализуя идеальную микротактику. Обычно зерглинги почти ничего не могут сделать против танков, но благодаря роботам микротактика становится гораздо более смертоносной: они уничтожают танки с минимальными потерями. С таким хорошим управлением юнитами ИИ не нужно изучать стратегию. Deepmind ведь не заинтересован в создании ИИ, который просто побеждает профессионалов Starcraft, на самом деле они хотят использовать этот проект в качестве ступеньки в продвижении общих исследований ИИ. Очень грустно, что один из руководителей проекта заявляет об ограничениях наравне с человеческими способностями, когда агент явно их нарушает и выигрывает свои игры именно благодаря сверхчеловеческому исполнению.

AlphaStar превосходит людей в управлением юнитами — этот фактор не был принят во внимание, когда разработчики тщательно балансировали игру. Этот нечеловеческий контроль способен испортить любое стратегическое мышление, которое освоил ИИ. Он даже может сделать стратегическое мышление совершенно ненужным. Программа не просто застряла на локальном максимуме. Если игра ведётся с нечеловеческой скоростью и точностью, то злоупотребление идеальным контролем юнитов, скорее всего, будет лучшим, наиболее эффективным и надёжным способом выиграть. Как бы грустно это не звучало.

Вот что сказал о сильных и слабых сторонах AlphaStar один из профессионалов, проиграв ему со счётом 1-5:

MaNa: «Я бы сказал, что его лучшее качество — это управление юнитами. Во всех играх с примерно одинаковым количеством юнитов победил AlphaStar. Худший аспект по итогу небольшого количества игр — упрямый отказ апгрейдиться. Он был настолько убеждён в победе базовыми юнитами, что практически ничего не апгрейдил, за что в итоге поплатился в выставочном матче [последняя игра с MaNa, где ИИ проиграл — прим. пер.]. В принятии решений было не так много решающих моментов, поэтому я бы сказал, что причиной победы стала механика».

Среди поклонников Starcraft почти единодушное мнение, что AlphaStar выиграл почти исключительно из-за своей сверхчеловеческой скорости, времени реакции и точности. Профи, которые играли против него, похоже, согласны с этим. Один из сотрудников Deepmind играл против AlphaStar, прежде чем программу поставили против профессионалов. Скорее всего, он тоже согласится с такой оценкой. Дэвид Сильвер и Ориол Виньялс повторяют мантру, что AlphaStar способен делать только то, что и человек, но мы уже видели, что это просто не так.

Непохоже, что AlphaStar «делает всё правильно», как говорит Дэвид (с 1:38):

Что-то здесь явно не так.

Почему Deepmind допустила сверхчеловеческую скорость AlphaStar?

Наконец, перейдём к главному. Спасибо, что дочитали до этого места. Но сначала подведём итоги.

  • Мы знаем, что такое APM, EPM и спам-клики.
  • У нас есть некоторое понимание максимальных возможностей человека.
  • Игра AlphaStar прямо противоречит утверждениям разработчиков о его ограничениях.
  • Сообщество Starcraft 2 сошлось во мнении, что AlphaStar выиграл благодаря нечеловеческому контролю юнитов и даже не нуждался в превосходном стратегическом мышлении.
  • Deepmind не ставит задачу создать быстрого бота, поэтому он не должен был так играть.
  • Очень маловероятно, что никто из команды Starcraft AI не подумал, что человек не способен повторить всплески APM 1500+. Их спец по Starcraft должен знать о Starcraft побольше моего. Они тесно сотрудничают с Blizzard, которая владеет интеллектуальной собственностью на StarCraft. В их интересах (см. предыдущий пункт, а также заявления Сильвера и Виньялса) заставить бота действовать как можно ближе к человеку.

Это чистая спекуляция с моей стороны и я не утверждаю, что знаю точно историю. Но подозреваю, что произошло следующее:

В самом начале проекта Deepmind согласовала жёсткие лимиты. В этот момент AlphaStar запретили сверхчеловеческие всплески APM, которые мы видели в демонстрации. Если бы я проектировал систему, то установил бы такие ограничения:

  • Максимальный средний APM на протяжении всей игры.
  • Максимальный кратковременный всплеск APM. Думаю, что разумно установить его на уровне 4-6 кликов в секунду. Помните Serral'а и его EPM 344, что на голову выше конкурентов? Это меньше шести кликов в секунду. Против MaNa программа выдавала 25 кликов в секунду в течение длительных периодов времени. Это намного быстрее, чем даже самые быстрые спам-клики человека, так что вряд ли исходные ограничения разрешали такое.
  • Минимальное время между кликами. Даже если ограничить максимальную скорость во время всплесков, бот может очень быстро кликать в краткий момент во время разрешённого интервала, на что не способен человек.

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

Максимальные всплески APM у AlphaStar изначально близки к установленным лимитам. Но большинство кликов AlphaStar оказались спам-кликами, так что его APM оказался недостаточным для нормального боя. Но без экспериментов нет обучения. Вот что сказал один из разработчиков во вчерашнем AMA: думаю, он немного замазан в этой афере:

Ориол Виньялс, ведущий архитектор AlphaStar: «Обучать ИИ играть с низким APM довольно интересно. В первые дни наши агенты обучались с очень низкими APM и оказались вообще не способны к микроменеджменту».

Чтобы ускорить обучение, разработчики повышают лимиты APM, разрешив кратковременные всплески. Вот ограничения APM, которые действовали для AlphaStar в демонстрационном матче:

Ориол Виньялс: «В частности, мы установили лимит 600 APM в интервалах 5 секунд, 400 APM в интервалах 15 секунд, 320 на 30 секунд и 300 на 60 секунд. Если агент выдаёт больше действий в эти интервалы, мы их отбрасываем/игнорируем. Эти значения взяты из человеческой статистики».

Если вы не очень хорошо знакомы со Starcraft, то такие лимиты выглядят разумными, однако они допускают сверхчеловеческие всплески APM, о которых мы говорили ранее, а также сверхчеловеческую точность.

Существует ограничение на максимальное количество спам-кликов. Обычно это команды перемещения или атаки, когда совершается щелчок по карте. Попробуйте, насколько быстро вы сможете нажимать кнопку мыши. Агент обучился спам-кликам у игроков и не будет щёлкать быстрее человека. То есть дополнительные клики APM на сверхчеловеческой скорости являются «произвольными» для экспериментов.

Произвольный APM используется для экспериментов в битвах. Такое взаимодействие часто происходит во время тренировки. AlphaStar начинает изучать новый тип поведения, который приводит к лучшим результатам, и доля спама в кликах снижается.

Если агент усвоил полезные действия, почему Deepmind не вернулся к первоначальным более жёстким, более гуманным ограничениям на APM? Наверняка они поняли, что ИИ демонстрирует сверхчеловеческие способности. Сообщество Starcraft почти единодушно признало нечеловеческий микроменеджмент AlphaStar. Профи сказали в AMA, что главная сила AlphaStar — контроль над юнитамии, а основная слабость — стратегическое мышление. Должно быть, разработчики Deepmind пришли к тому же выводу. Вероятно, причина в том, что агент не смог избавиться от спам-кликов. Хотя большую часть времени он действует чётко, но всё равно регулярно сваливается в спам-клики. Это очевидно в первой игре против MaNa, когда Alphastar поднимается вверх по рампе (с 39:30):

Внимательно смотрите на синие кружки с выделением юнитов

Что в этом такого важного?

Подозреваю, что агент не смог избавиться от спам-кликов, которые усвоил во время имитационного обучения на людях. Deepmind пришлось повозиться с лимитом APM, чтобы стали возможными эксперименты и дальнейший прогресс. Однако проявился неприятный побочный эффект сверхчеловеческой игры, из-за которой по сути агент нарушает правила, будучи в состоянии реализовать стратегии, которые ему изначально запретили.

Это важная вещь, потому что подобное избиение профессионалов прямо противоречит миссии, которую неоднократно заявляла Deepmind. Из-за чего этот график оставляет во рту кислый привкус лицемерия:


Это изображение Deepmind опубликовала в своём блоге

Похоже, график рассчитан на то, чтобы ввести в заблуждение людей, незнакомых со Starcraft 2. Он изображает якобы приемлемый APM у AlphaStar. Посмотрите на APM MaNa и сравните его с AlphaStar. Хотя среднее значение выше у MaNa, хвост AlphaStar выходит далеко за пределы человеческих возможностей. Обратите внимание, что пиковый APM у MaNa составляет около 750, в то время как у AlphaStar выше 1500. Теперь учтите, что у человека APM более чем наполовину состоит из спам-кликов, а EPM AlphaStar — это идеально точные нажатия.

Теперь взгляните на APM у TLO. Хвост уходит на 2000. Подумайте об этом на секунду. Как такое возможно? Это стало возможным благодаря трюку под названием «быстрый огонь». TLO не щёлкает супербыстро. Он просто держит кнопку — и игра регистрирует это как 2000 APM. Единственное, что вы можете сделать с быстрым огнём — это спамить с сумасшедшей скоростью. Вот и всё. TLO просто использует это по какой-то причине. Но при этом маскируются сверхчеловеческие всплески APM у AlphaStar — и цифры выглядят реалистично для людей, которые не знакомы со Starcraft.

Такая статистика опасно приближается к вранью. Deepmind следовало бы придерживаться более высоких стандартов.

AlphaStar — новая система искусственного интеллекта для StarCraft II от DeepMind (полный перевод)

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

AlphaStar — первая система искусственного интеллекта, способная победить лучших профессиональных игроков. В серии матчей, которые состоялись 19 декабря, AlphaStar одержала уверенную победу над Grzegorz Komincz (MaNa) из команды Liquid, одного из сильнейших игроков в мире, со счетом 5:0. Перед этим также был сыгран успешный показательный матч против его товарища по команде Dario Wünsch (TLO). Матчи прошли по всем профессиональным правилам на специальной турнирной карте и без каких-либо ограничений.

Несмотря на значительные успехи в таких играх как Atari, Mario, Quake III Arena и Dota 2, техники ИИ безуспешно боролись со сложностью StarCraft'а. Лучшие результаты достигались путем ручного конструирования основных элементов системы, наложением разных ограничений на правила игры, предоставлением системе сверхчеловеческих способностей или игрой на упрощенных картах. Но даже эти нюансы не дали возможности приблизиться к уровню профессиональных игроков. В разрез этого, AlphaStar играет в полноценную игру, используя глубокие нейронные сети, которые обучаются на основе необработанных игровых данных, с помощью методов обучения с учителем и обучения с подкреплением.

Главный вызов

StarCraft II — это выдуманная фантастическая вселенная с богатым, многоуровневым геймплеем. Наряду с оригинальным изданием, это самая большая и успешная игра всех времен, в которую сражаются в турнирах уже больше 20 лет.


Существует множество способов игры, но самый распространенный в киберспорте — это турниры «один-на-один», состоящие из 5 матчей. Для начала игрок должен выбрать одну из трех рас — зергов, протоссов или терранов, каждая из которых имеет свои особенности и возможности. Поэтому профессиональные игроки чаще всего специализируются на одной расе. Каждый игрок начинает с нескольких рабочих юнитов, которые добывают ресурсы для постройки зданий, других юнитов или развития технологий. Это позволяет игроку захватывать другие ресурсы, строить все более изощренные базы и развивать новые способности, чтобы перехитрить оппонента. Для победы игрок должен очень изящно балансировать картину общей экономики, называемую «макро», и низкоуровневый контроль отдельных юнитов, называемый «микро».

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

Теория игр: StarCraft — это игра, где как в «Камень, ножницы, бумага» нет единой победной стратегии. Поэтому в процесс обучения ИИ должен постоянно исследовать и расширять горизонты своих стратегических знаний.

Неполная информация: В отличие от шахмат или го, где игроки видят всё происходящее, в StarCraft'е важная информация часто скрыта и должна активно добываться путем разведки.

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

Реальное время: В разрез с традиционными настольными играми, где участники делают ходы по очереди, в StarCraft'е игроки совершают действия непрерывно, наряду с ходом времени.

Огромное пространство действий: Сотни различных юнитов и зданий должны контролироваться одновременно, в реальном времени, что дает поистине огромное комбинаторное пространство возможностей. В дополнение к этому, многие действия являются иерархическими и могут изменяться и дополняться по ходу. Наша параметризация игры дает в среднем примерно от 10 до 26 действий в единицу времени.

Ввиду этих задач, StarCraft превратился в большой вызов для исследователей ИИ. Текущие соревнования StarCraft и StarCraft II берут свое начало с момента запуска BroodWar API в 2009 году. Среди них — AIIDE StarCraft AI Competition, CIG StarCraft Competition, Student StarCraft AI Tournament и Starcraft II AI Ladder.

Примечание: В 2017 году PatientZero публиковал на Хабре отличный перевод «История соревнований ИИ по Starcraft».

Чтобы помочь сообществу исследовать эти проблемы в дальнейшем, мы, работая совместно с компанией Blizzard в 2016 и 2017 году, опубликовали набор инструментов PySC2, включающий самый большой из когда-либо изданных массив анонимизированных реплеев. Опираясь на эту работу, мы объединили наши инженерные и алгоритмические достижения, чтобы создать AlphaStar.

Визуализация AlphaStar во время поединка против MaNa, демонстрирует игру от лица агента — исходные наблюдаемые данные, активность нейронной сети, некоторые из предполагаемых действий и требуемых координат, а также предполагаемый исход матча. Также показан вид игрока MaNa, но он, разумеется, недоступен для агента.

Читайте также: