Поводом для сегодняшнего лонгрида стала статья от DeepMind, подразделения Google по искусственному интеллекту, опубликованная в авторитетном журнале Nature.

В заголовке говорится, что обученная DeepMind нейросеть достигла гроссмейстерского уровня в Старкрафте, а в кратком содержании уточняется, что бот, получивший название AlphaStar, вышел на уровень гроссмейстерской лиги за все три расы и превзошёл 99.8% всех игроков в Старкрафт.

26391-1573030473.jpg

В несколько более сжатом виде та же информация излагается в блоге DeepMind. В русскоязычном интернете одной из первых об этом написала Meduza. Автор напомнил историю игрового искусственного интеллекта в го и шахматах и добросовестно перевёл многие важные фрагменты из статьи DeepMind об ухищрениях, на которые пришлось пускаться программистам для более эффективного обучения AlphaStar.

Мы решили не повторять отчёт DeepMind, изложенный в публикации в Nature, а критически разобраться в вопросе с помощью эксперта. О том, насколько сложную задачу решают разработчики и насколько честны с читателями пиарщики Google, Михаилу Савинову рассказал киберспортивный аналитик, стример и голос русскоязычного Старкрафта Алексей Трушляков.

26392-1573030634.jpg

– Почему Старкрафт настолько сложен для компьютера?

– Во-первых, очень высокая математическая сложность игры. Шахматы и го – пошаговые игры, где у каждого решения есть ограниченное количество альтернатив. Из этого и состоит математическая сложность: сколько у тебя возможных ходов и сколько их будет в сумме. В Старкрафте она существенно выше. Это стратегия реального времени, и в любой момент времени у игрока огромное количество возможностей, особенно в середине игры. Шахматист может рассматривать, допустим, 30 возможных ходов. В Старкрафте при наличии множества юнитов, зданий, технологий и огромной величине карты количество этих ходов практически бесконечно. Поэтому грубые подходы при создании искусственного интеллекта закончились уже на этапе го – даже там математическая сложность была слишком высокой. Ну а в Старкрафте простые технологии, родственные brute force, тем более неприменимы.

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

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

– Входит ли в задачу программистов ограничение возможностей ИИ, чтобы программа играла хотя бы примерно как человек?

– Фактически это вопрос честности игры. Ограничения накладывают не чтобы осложнить себе задачу по приколу, а чтобы ИИ действительно побеждал интеллектом, тактикой, а не тем, что может всё делать в пятьсот раз быстрее. Не стоит, думаю, перечислять их формально, но если зайти с игровой точки зрения, искусственный интеллект не совершает так много действий, как мог бы – вводится лимит на APM, количество игровых действий в минуту. Насколько я видел, средний APM AlphaStar не превышает 200 и есть ограничения на пиковый АРМ. Это нормальные показатели для человека – он может кликать столько же, в этом ни у кого нет сомнений. Кроме того, ИИ вроде как должен честно работать с камерой. Что это означает? Ты совершаешь только те действия, которые можно сделать на фрагменте карты, находящемся у тебя на экране. Не можешь выделить рамкой юнит на экране вместе с юнитом, который находится где-то далеко, и так далее. Цель – сделать так, чтобы ИИ управлял камерой, как управляет ею человек. Это, пожалуй, основные ограничения.

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

– Меня заинтересовало, что DeepMind также добавили задержку, сопоставимую со скоростью реакции человека – ИИ не должен реагировать на изменение ситуации мгновенно и обязан выждать, не помню точную цифру, допустим, 0.2 секунды.

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

– Та версия программы, которая умела играть только за одну расу на одной карте и в январе разгромила в шоуматче TLO и Mana, стесняла себя этими условностями намного меньше, насколько я понимаю?

– Да, она практически ни в чём себя не стесняла, видела всё открытое пространство за пределами экрана и совершала примерно 15-20 эффективных действий в секунду. Условно, у неё было 20 сталкеров, и каждый из них за секунду получал приказ отступить либо атаковать ту или иную цель. Индивидуальное управление каждым юнитом приводило к невероятной эффективности микроконтроля. У той версии AlphaStar, которую DeepMind представили в научной статье в Nature, встроенных ограничений либо больше, либо они строже проработаны.

26393-1573030751.jpg

– Можно ли сказать, что та версия, которая играла в январе, стратегически могла позволить себе играть как угодно, потому что выигрывала у человека любое большое сражение, в котором не была слишком далеко позади?

– Стратегически – нет, тактически – да. У неё были очень адекватные билд-ордеры, стратегии, взятые у профессиональных игроков. И её соперники, Mana и TLO, играли очень стандартно. Если честно, у меня есть ощущение, что их специально попросили не изобретать какую-то совсем жесть. Тот же TLO известен своей креативностью, и протоссы – не его главная раса, но он всё равно играл жёстко ладдерные билды вместо того, чтобы попробовать использовать слабые места оппонента. Поэтому мы не знаем, насколько та версия была сильна тактически и даже насколько объективно хороша стратегически, но в стандартных играх, которые мы видели, претензий по стратегии было очень мало. Игра всегда проходила с равными дебютами или с лёгким преимуществом одной из сторон, а дальше начиналось божественное микро.

– Однако несмотря на разгромную победу над профессионалами, DeepMind не посчитали Старкрафт пройденным и продолжили работу над AlphaStar. Не удовлетворились полученным результатом? Отреагировали на критику со стороны сообщества?

– Официальные лица уж точно не выражались критически в адрес DeepMind, но мне кажется, сами разработчики понимали, что находятся только в начале пути. Если есть цель развить игровой искусственный интеллект, то, как мне кажется, следующей вехой должен стать не результат шоуматча, а ИИ, имеющий очевидное тактическое преимущество над людьми. Он должен показать превосходство в принятии решений в боевых условиях. Именно здесь проявляется математическая сложность, а не в умении контролить двадцатью сталкерами одновременно или выбирать билд на первых секундах игры.

Боты с идеальным микро появились в Старкрафте ещё в 2010-м. Боты, которых научили играть по заскриптованным билдам, появились в 2015-16 годах. Скомбинировать два уже известных решения при помощи нейронных сетей и нового формата обучения – это круто, но мало похоже на прорыв. Поэтому очевидно, что считать задачу выполненной было очень сложно.

– Поговорим о рейтинге ладдерной версии AlphaStar. 6100-6200 – какое это место среди профессионалов?

– MMR их сильнейшего агента – протосса – 6275. Это уверенное место в топ-50 европейского сервера. Однако к заявленным числам невероятно много вопросов. Если не залезать глубоко в математические дебри, нам выдают результат аппроксимации, а не настоящий MMR. Реальному аккаунту, играющему на ладдере, невозможно набрать MMR 6275, сыграв все игры, кроме четырёх, с соперниками с MMR ниже 6000. Может быть, теоретически это возможно, но вероятность очень близка к нулю.

Протосс AlphaStar набил совершенно безумный винрейт на соперниках с MMR ниже 6000. Боюсь ошибиться, но, по-моему, все четыре игры против соперников с MMR в районе 6000 (один игрок 5976 и трое 6000+) он проиграл. Но вероятностная функция видит, что мы выиграли 30 матчей из 32 против игроков с MMR 5900 и ниже – значит, наш MMR точно существенно выше 5900! Потом она смотрит на четыре поражения и говорит: да, плохо, конечно, но всё равно мы слишком заметно выше 5900, поэтому выходит примерно 6275.

– В логике такому походу не откажешь.

– Формально не придраться – если бы можно было придраться формально, статью не опубликовали бы в Nature. Но все люди, которые понимают в математике и системах рейтингов, говорят: ну, нет, не будет там 6275, если этот аккаунт выпустить играть ладдер, указывать такое число нельзя, слишком вольное математическое допущение.

Почему я к этому придираюсь? Почему Reddit к этому придирается (там появилось небольшое исследование под заголовком «Оценка MMR AlphaStar невероятно некорректна», с которым сложно не согласиться)? Потому что вывод, основанный на довольно сомнительной оценке MMR, приводит к заголовку: «AlphaStar сильнее, чем 99.8% игроков в Старкрафт»!

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

– Честно было бы дать диапазон MMR, в котором играет программа.

– Да! Если бы они сказали: AlphaStar играет от 5800 до 6300 MMR и как минимум находится в топ-1.5% игроков, это был бы другой разговор. Понятно, что весь современный мир, в том числе научный, живёт пафосными заголовками, но... по-моему, некрасивая получилась история.

– Да и что касается заголовка про 99.8%, это хороший кликбейт, но объективно достижение не такое большое, как кажется. На одном из крупнейших шахматных серверов мой рейтинг в блиц выше, чем у 99.8% всех игроков пула, но при этом я всего лишь кмс и если сяду играть с рядовым мастером, проиграю с разгромным счётом. 99.8% – вроде круто, но когда при этом не входишь в топ-1000, уже не так здорово.

– Я вот открыл свой аккаунт на сайте Ranked FTW, с помощью которого можно проверять, кто есть кто в иерархии Старкрафта. Формально я топ-412 мира и вхожу в топ 0.11% мира! И при этом я – абсолютное днище на фоне любого профессионального игрока хорошего уровня. С этой точки зрения у нас получается то же самое, что в шахматах.

– На вашем канале три месяца назад вышли два видео на основе реплеев AlphaStar.

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

– Как это ни парадоксально, агенты проявляют себя довольно по-разному в зависимости от расы. Такое впечатление, что у них разный уровень стратегической подготовки. Например, агента-зерга каждый раз откровенно ставила в тупик угроза с воздуха. Может быть, слишком малый процент реплеев, по которым он обучался, содержал примеры воздушной агрессии, особенно массовой. Агент-протосс действовал более разнообразно. У него тоже были странности в стратегии, но за счёт более богатого подбора билдов и, как следствие, составов армий он мог лучше реагировать на широкий спектр угроз. Думаю, поэтому агент-протосс и выступил на ладдере лучше всего. Почему-то – только DeepMind известно, почему – агент-протосс стратегически оказался сильнее.

Но это всё частности. В целом ситуация следующая: стратегически арсенал бедный, но неплохой. Большинство стратегий, отобранных для игры на ладдере, сами по себе весьма эффективны: упор на серьёзную халяву в начале с довольно слабой разведкой; практика показывает, что на высоком уровне это работает хорошо. На уровне ладдера 6000+ MMR пул стратегий в целом не очень широкий. Люди тренируют механику, шлифуют исполнение билдов, играют по лекалам профессионалов. Когда у тебя узкий диапазон стратегий и ты не особо разведываешь, тебе выгодно, чтобы у соперника тоже был узкий диапазон. Боты AlphaStar хорошо адаптированы к задачам, которые нужно было решать на ладдере.

При этом они невероятно слабы тактически. Совершенно ужасны! Есть дичайшие проблемы в понимании (конечно, это слово можно употреблять только в кавычках, но иначе не скажешь) даже очень базовых аспектов. Было несколько вопиющих случаев. Агент-протосс не смог построить обсервера против люркеров, играя против них 10 минут, и ожидаемо проиграл. Он что угодно делал – дисрапторами стрелял, как-то их обходил, но обсервера не построил. Другой агент-протосс, увидев двухбазового зерга, который переходил на второй уровень технологий, не захотел понять, какие именно технологии имеет в виду зерг. Там мог быть шпиль, гидры, нидус, инфесторы – что угодно, но агента это вообще не заинтересовало. Его арсенал тактически ограничен заранее выбранным планом, он не хочет адаптироваться под соперника. Игра продолжилась нидусом на мэйн протосса, неожиданным, естественно, дальше пошло божественное микро, но – совершенно комический случай – отбившись, бот не догадался зачистить оставшийся на мэйне крип и постоянно получал всё новые и новые нидусы на свой мэйн. Со временем он решил, что, видимо, убивать все эти нидусы нецелосообразно, раз они всё равно продолжают возникать, и несколько минут игрового времени у него на мэйне был живой нидус. Просто был и всё – никак не использовался зергом, и протосс на него тоже забил.

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

Совсем недавно это получило подтверждение на Blizzcon, где можно было играть шоуматчи с AlphaStar. Сел поиграть Serral (топ-1 Европы – ред.) и проиграл 1-4. Он, конечно, играл не на своей клавиатуре, мыши, не на своих биндах, но специально выбирал нарочито стандартные стратегии. Понятно, на своих девайсах он бы не проиграл, но даже на чужом компьютере Serral всё равно игрок уровня 6k MMR. А Florencio, известный американский игрок и стример, MMR которого 4600 – настолько не гроссмейстер, насколько это вообще возможно, – обыграл AlphaStar чуть ли не с первой попытки, просто делая какую-то дичь, которую он обычно показывает на стримах. Какие-то прокси-базы, непонятные юниты...

Нынешний AlphaStar – игрок, которого можно выбить из колеи буквально щелчком пальцев. Он имеет определённый пул стратегий и запрограммированных тактических подходов, но решения, которые он принимает на ходу а-ля «какой смысл мне убивать нидус, если его постоянно ставят снова?» – это нечто запредельно нелогичное и далёкое от правильной игры в Старкрафт.

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

– Нечестных преимуществ над человеком в нынешней версии осталось не так много?

– Да. Конечно, можно придираться. Я легко могу придраться во многих эпизодах – честной работы с камерой там по-прежнему нет. Но это уже не определяет ход игры, и я не считаю, что за этим нужно гнаться. Если разработчики поломают голову и наложат ещё несколько ограничений, проблемы с камерой и не совсем честным по отношению к человеку APM можно решить, но всё это явно не должно быть в приоритете.

– Что должно быть их первоочередной задачей?

– Понять игру! Они должны научить ИИ игре. Пока этого нет и близко. В этом моя главная претензия. Именно поэтому я недоумеваю, откуда берутся фанфары: «Э-ге-гей! Смотрите! Топ-0.2%!» Ребят, ну правда, было бы чем гордиться... Вы пришли продемонстрировать эффективность алгоритмов обучения ИИ. Сделать следующий шаг в игровом искусственном интеллекте. Выбрали Старкрафт как очень глубокую тактическую и стратегическую игру, отличную возможность всё это показать. Но результата нет.

Вы не научили искусственный интеллект Старкрафту. ИИ всё ещё и близко не понимает игру. Вы научили его копировать стратегии, сам он научился хорошо микрить, хорошо макрить, охотно верю. Иногда он сочиняет собственные тактические ходы, что-то делает не так, как люди. Это всё прекрасно. Но игра так и осталась неосвоенной. Это не следующий шаг – нет тактического превосходства, нет оптимальных решений...

Раньше я говорил, что когда появится сильный ИИ, у людей будет шанс обыграть его за счёт mind games. Но в Старкрафте есть поговорка, что в игры разума можно только играть с теми, у кого есть разум. ИИ пока не научился анализировать информацию, которую ему предоставляют, не дошёл до той стадии, на которой с ним можно хитрить. Пока он не понимает, что нужно строить обсервера против люркеров! Это не называется обучиться сложной игре. ИИ провели извилистой тропкой через лес к озеру, и вроде бы всё хорошо, даже несмотря на то, что мы не понимаем, что это была за тропка, и точно знаем, что она проходила не там, где надо. Что-то получилось – и слава богу!

И мне очень не нравится, что из-за публикации в Nature многим кажется, что всё отлично: DeepMind сделали, что хотели, они лучшие, они красавцы, можно идти дальше. Не-ет! Вы не то что не победили – вы ещё и полпути не прошли.

26394-1573031081.jpg

– В го сейчас все профессионалы смотрят, куда ставит камни Alpha Go, и это высшая истина. Но когда AlphaStar делает что-то по-своему, чаще всего это решение получается хуже человеческого...

– Да, иногда можно спорить, но иногда абсолютно очевидно, что компьютер просто что-то скопировал и вставил это совершенно не к месту.

– А были у компьютера оригинальные и при этом сильные идеи?

– В январе всё сообщество всколыхнула работа ИИ с экономикой – как он насыщал рабами базы. Я изучал эти математические модели довольно давно, году в 2011-м. В некоторых играх его подход имеет право на жизнь, в некоторых работает в минус. Не могу сказать, что это стало новым словом в теории, но именно в матч-апе PvP и особенно под современную мету это было хорошее решение. Для зергов, например, это вообще неприменимая штука, они не должны так играть. А у протоссов работает.

Интересные манёвры были в микроконтроле – я говорю не о скорости, конечно, а о логике. Ни один человек не микрил так круто блинк-сталкерами и призмой. Как мы обычно микрим сталкерами с блинком? Отводим пробитых назад. Как микрим призмой? Спасаем тех, кого вот-вот убьют. ИИ придумал прыгать пробитыми сталкерами вперёд, успевая добавить урон и сбить какую-то важную цель, а потом подбирал их призмой. Возможно, людям рук не хватит так исполнить, но как минимум это другая логика, другой подход и выглядит интересно.

Из остального отмечу, что очень активно и красиво применяются фениксы. Протосс строит от них игру во всех трёх матч-апах. Для современной меты это немного необычно и странно. Это впечатлило, но сказать, что поразило, не могу.

– Вам хотелось бы увидеть ИИ, имеющий такой же перевес над людьми, как в го? Чтобы он прокладывал своими действиями новые направления игры, задавал новую мету?

– Да, я думаю, это было бы интересно. Это не приведёт к застою в игре, если разработчики Старкрафта будут продолжать выпускать патчи и обновлять баланс. После каждого апдейта ИИ придётся заново обучаться. Допустим, чтобы привыкнуть к новому балансу, ИИ потребуется – возьмём наобум – месяц. В первый месяц начинает формироваться и устанавливается человеческая мета, потом появляется мета ИИ, потом идёт синтез, а через 3-4 месяца, когда мета стабилизируется, можно выпускать новое обновление. Мы можем получить очень увлекательную историю со сменой стратегий и тактик, имея такого авторитетного советчика, мнение которого появляется не сразу, а спустя какой-то, желательно продолжительный, промежуток времени. Мне кажется, идеальный сценарий!

– Какое место должны занять матчи человека против компьютера?

– Я думаю, это должна быть кульминация развития ИИ DeepMind – матч агента AlphaStar против сборной мира. Я натурально жду этого события очень долго и горю от того, что на Blizzcon финальная версия AlphaStar играла с Серралом где-то на задворках, случайно вместо того, чтобы провести крутой шоуматч.

Мне непонятно, почему DeepMind считает, что поражение на каком-то этапе станет для них нереальным репутационным ударом. Поэтому они так тщательно готовили матчи против TLO и Mana и только по реплеям показывали свои 5-0, 5-0, отобрав самые крутые игры. Потом они, так и быть, позволили человеку сыграть одну игру в прямом эфире. Проиграли, сразу загрустили, и с тех пор никакого публичного контента в эфире мы не видели. Это мне очень не нравится. Боюсь, что либо мы никогда не увидим такого матча, либо его организуют только при стопроцентной уверенности в победе ИИ над человечеством.

– Ну, прямо сейчас DeepMind вряд ли вправе надеяться на победу над сборной мира, ведь несмотря на всю изобретательность и новые подходы к тренировке нейросети, у AlphaStar слишком много откровенно неоптимальных решений. С моей точки зрения как зрителя, результат разочаровывающий. Не знаю, возможно, будь я учёным в области ИИ, я бы восторгался, видя, что они научили нейросеть играть в Старкрафт хотя бы так. Где-то я видел цифру 10^26 – количество возможных действий в единицу времени в разгар матча. Может быть, на этом фоне уже то, что рабочие правильно ездят, должно считаться достижением?

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

Кстати, то, что DeepMind пришлось обучать AlphaStar с помощью агентов-эксплойтеров (играющих более редкие и сверхагрессивные стратегии, которые помогают прикрывать уязвимости стратегий главного агента – ред.), это уже показатель подхода в духе brute force. Видимо, на каком-то этапе разработчики решили, что не смогут придумать универсальную схему обучения, которая покроет всё. Так появились эксплойтеры, которые потенциально должны были закрыть вопросы со стратегиями вроде зафотонивания. Но, во-первых, не закрыли – AlphaStar успешно фотонят те, кто умеют это делать, а во-вторых, как показывает история с нидусами, маловато было этих эксплойтеров. Видимо, придётся лигу расширять. В моём понимании это и есть brute force, пусть и более интеллектуальный.

– В заключение спрошу: как вся эта история отражается на развитии Старкрафта? Blizzard, кажется, не горит желанием уделять игре много внимания...

– Надо разделять развитие Стакрафта как игры-франшизы и киберспортивной дисциплины. Старкрафт как вид киберспорта продолжает жить, о чём можно судить по словам ведущей финала чемпионата мира (которые, очевидно, не были оговоркой): «До встречи в 2020-м!» Чемпионат 2020 года ещё не анонсирован, но, похоже, это лишь дело времени.

Ну а если говорить о Старкрафте как игре, очень многое зависит от того, как зайдёт Warcraft 3 Reforged, захотят ли Blizzard делать Warcraft 4 как следующую RTS, предпочтут ли ему Старкрафт или вообще откажутся от продолжения в этом жанре. На будущее игры могут влиять очень глобальные вещи, и прогнозы мелких людишек вроде меня тут мало что стоят.

Поэтому я очень охотно комментирую любые истории, связанные с DeepMind, много на эти темы высказываюсь, часто критикую как DeepMind, так и Blizzard. Несмотря на то, что я несколько лет играл в рэндзю, я абсолютно ничего не знал о го вплоть до появления Alpha Go. Теперь я знаю, кто такой Ли Седоль, знаю, что именно он играл против Alpha Go.

26395-1573031233.jpg

Масштаб той истории, её всемирный резонанс – это ровно то, что должно помочь Старкрафту. Но пока, к сожалению, ничего похожего в Старкрафте не наблюдается из-за того, как строят свою политику и DeepMind, и Blizzard. Blizzard: «Ой, мы вообще ничего не знаем, так что делайте, что хотите, а мы поможем». DeepMind нацелены только на результат: «Когда нам будет чем похвастаться, мы похвастаемся. А пока сидите и ждите».

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