Инженеры Google научили искусственный интеллект играть в Starcraft II. Теперь в мире осталось всего несколько человек, которые могут с ним соперничать
Мы рассказываем честно не только про войну. Скачайте приложение.
Инженеры компании DeepMind (с 2014 года — подразделение Google) представили окончательную версию своей программы AlphaStar — искусственного интеллекта, способного играть в классическую стратегию StarCraft II. Еще в январе 2019 года AlphaStar играла на уровне продвинутых любителей, а сегодня усовершенствованный ИИ входит в высшие 0,2% игроков в Battle.net и на равных соперничает с лучшими из лучших. «Медуза» разбирается с тем, долго ли осталось человеческому StarCraft II и что будет, когда классическая стратегия окончательно падет под натиском ИИ.
Что это за программа и зачем ее разрабатывают?
AlphaStar — это наследница AlphaGo, программы, победившей человечество в игру го. Как и AlphaGo, это разработка команды DeepMind, возглавляемой Демисом Хассабисом. Он входит в число авторов новой статьи в Nature, где описано устройство AlphaStar, однако лидером нового проекта стал другой специалист по искусственному интеллекту — пришедший из Google Brain Ориол Виньялс (Oriol Vinyals), который участвовал в разработках сервисов машинного перевода и распознавания речи для американской компании.
И в Google Brain, и в DeepMind занимаются, прежде всего, экспериментальными проектами без какой-либо непосредственной практической значимости. Помимо систем игрового ИИ, среди известных проектов DeepMind можно отметить систему нейросетевого синтеза речи WaveNet и начинания в области медицины — например, экспериментальную систему постановки диагноза по анализу изображений в офтальмологии. Инженеры Google Brain и вовсе часто занимаются проектами, которые скорее ближе к искусству, чем к исследовательским экспериментам.
Как указывают в своей работе Виньялс и соавторы, наработки, позволившие сделать успешного в StarCraft бота, могут пригодится для управления роботами, личными помощниками, автономным транспортом и вообще повлиять на будущее ИИ.
Чем StarCraft отличается от шахмат и го?
Несмотря на общее идеологическое родство проектов и почти одну команду, AlphaStar сильно отличается от AlphaGo — так же, как эти игры отличаются друг от друга.
Во-первых, StarCraft относится к совершенно другому классу игр — играм с закрытой информацией. Разница заключается в том, что в играх с открытой информацией — шахматах, шашках и нардах (давно побежденных ИИ), го (побежденных им недавно) и многих других, — каждый из участников знает все о том, что происходит на игровом поле. Шахматисты всегда видят доску и знают, у кого сколько фигур, игроки в го полностью видят гобан (игровое поле), и так далее — неизвестно в таких играх только то, как поведет себя противник.
А вот в большинстве карточных игр и в StarCraft всей информации о противниках у игроков нет. В таких играх — с закрытой информацией — моделировать будущее развитие партии «в лоб», то есть перебором, обычно существенно сложнее, чем в играх с открытой информацией — доля неопределенности в них гораздо выше.
Конечно, не во всяких играх даже с открытой информацией можно просчитать все будущие ходы — например, в шахматах это еще возможно, а вот в го — уже нет, там число допустимых комбинаций камней на доске превышает число атомов во Вселенной. Однако открытость информации все равно дает компьютеру определенное преимущество — даже AlphaGo использовала для победы над человеком не только способности нейросетей проводить тактический анализ текущей ситуации «на глазок», но и старый добрый перебор будущих ходов.
StarCraft в этом отношении сильно отличается — там просчитывать действия противника практически бесполезно. Поэтому AlphaStar даже не пытается это делать — вместо этого программа учится находить победную стратегию, ориентируясь на статистику уже сыгранных чужих партий и на собственный опыт.
По сравнению с го, у StarCraft есть еще несколько важных отличий: это игра в реальном времени, в которой все игроки действуют одновременно, а не попеременно. В ней исход становится ясным спустя многие тысячи мелких решений (а предсказать, кто сейчас имеет преимущество, очень сложно — потому что неизвестно, как играет противник). Поэтому в StarCraft научить ИИ отличать правильные ходы от неправильных, ориентируясь только на исход матча, почти невозможно — для этого понадобилось бы играть многие годы, если не тысячелетия.Обучение с подкреплением, которое использовалось для создания AlphaStar, — это техника, которая известна уже несколько десятков лет. Сейчас на нее возлагаются большие надежды. Google DeepMind, например, практически полностью сделал ставку на обучение с подкреплением в сочетании с глубоким обучением на нейросетях. Вообще говоря, эти две техники — deep learning и reinforcement learning — довольно разные, они появились и развивались независимо друг от друга. Но сейчас их часто пытаются объединять в одной системе и есть большие надежды, что они должны хорошо работать вместе.
Впрочем, в последние полтора-два года есть в этой области некоторое разочарование: обучение с подкреплением оказалось очень сложной методикой, попытки применить которую к реальным задачам не всегда оказываются успешными. Это не означает, что пора в этом методе разочароваться. Как раз наоборот — надо пробовать еще. Мне кажется, это правильное направление, но может быть задача, которую мы решаем, на самом деле существенно сложнее, чем казалось в начале.
Что касается роли компьютерных игр в исследованиях ИИ (шахматы, го, Дота-2, и теперь вот StarCraft), то используются сейчас как удобный полигон, где игровая условность и правила очень помогают создавать что-то работающее. Реальная жизнь и любые бизнес-задачи, конечно, гораздо сложнее. Но если попробовать представить, какая из реальных задач имеет наибольшие шансы выиграть от исследования и применения обучения с подкреплением, то я бы сказал, что это обучение роботов. Посмотрите, например, на последние разработки известной Boston Dynamics — все эти прыгающие, бегающие, делающие сальто машины были бы невозможны без применения современных методов обучения с подкреплением.
Каких успехов искусственный интеллект добился раньше?
Впервые о том, что в DeepMind занялись StarCraft, стало официально известно в 2017 году. Тогда Google совместно с разработчиками игры из Blizzard создали специальный инструмент (API), с помощью которого ИИ мог бы взаимодействовать с игрой, а через нее — и с другими игроками.
После этого последовало затишье, и в январе 2019 года DeepMind представила первую версию AlphaStar. Эта, первая, версия ИИ, обученная только на основе анализа игр обычных людей, получила название AlphaStar Supervised. Ей удалось выиграть суммарно восемь матчей у профессиональных киберспортсменов, входящих в сотню сильнейших игроков — немца Дарио Вунша (TLO) и поляка Гжегожа Коминча (MaNa).
Что нового случилось? Какие результаты?
Сейчас результат удалось значительно улучшить. Версия ИИ, которая получила название AlphaStar Final, по баллам, отражающим мастерство в игре (MMR), выросла в полтора раза, в результате чего ей удалось выйти в 0,2% лучших игроков в системе Battle.net.
Важно отметить, что добиться этого удалось даже после того, как авторы устранили последнее преимущество компьютера перед людьми — еще в январе алгоритм мог одновременно видеть все, что происходит на открытой части карты, однако новая версия получала информацию об игровом поле через область (виртуального) монитора — как и все остальные люди. Компьютер при этом был ограничен количеством действий, которые он может совершать в минуту. Ограничения по этому параметру, а также по задержкам между действием и результатом, были введены авторами алгоритма для того, чтобы оценить способности ИИ именно в стратегии, а не простой вычислительной мощи.
Добиться всех этих результатов удалось с помощью нового подхода к обучению, который может иметь применение далеко за пределами киберспорта.
Как удалось обучить нейросеть, которая так хорошо играет? Кто ее учил?
Обучение было разбито на два этапа, очень разных по механике обучения. На первом (его называют «обучение с учителем») ИИ анализировал игры обычных людей и учился на основе наблюдения за простыми действиями — постройкой юнитов, их перемещениями, атакой на врагов и так далее — предсказывать те действия, которые ассоциированы с победой. На втором этапе наступал черед обучения с подкреплением — AlphaStar играл сам с собой, при этом выгодные стратегии поощрялись, а те, что ведут к проигрышу — применялись все реже.
Главная сложность, с которой на этом этапе столкнулись авторы AlphaStar, заключается в том идеальном балансе сил, которым славится StarCraft. В игре не существует универсальной стратегии, которая бы приводила к выигрышу во всех или в большинстве случаев — ее ИИ мог бы довольно быстро выучить и имитировать. Ситуация, как отмечают авторы, скорее напоминает игру «Камень-ножницы-бумага», когда существует несколько стратегий, каждая из которых сильна против другой, но не против всех сразу.
При обучении с подкреплением, то есть при игре компьютера самого с собой, в случае таких игр обычно возникает цикл. Условно — если раньше компьютер выкидывал камень, то потом он будет чаще выкидывать бумагу, а затем ножницы и так далее. В результате вместо стабильного роста мастерства возникает бесконечный цикл, из которого ИИ не может выйти.
Для решения этой проблемы существует техника, в которой самая последняя версия ИИ играет серию игр не против себя самой, а против всех остальных предыдущих версий — большинство из них слабее, но если встречаются те, которые всегда выигрывают, то новая версия учится с ними справляться и зацикливание удается устранить.
Однако для выхода в высшую, грандмастер-лигу, этого было недостаточно. Большое количество возможных стратегий исключало возможность, что ИИ самостоятельно до них догадается и проверит возможные ответные действия противников. Тогда авторы новой статьи прибегли к двум ухищрениям.
Во-первых, они внесли в архитектуру AlphaStar элемент «опоры на традиции» — возможность не только обучатся самостоятельно, но и ориентироваться на статистику того, как в данной ситуации обычно поступают живые игроки.
Во-вторых, авторы решили обучать ИИ не индивидуальным, а коллективным образом — разные версии AlphaStar образовывали Лигу, в которой за разными «игроками» были закреплены разные роли. Помимо «основного состава» в лиге были «игроки-помощники», задача которых состояла в том, чтобы придумать наиболее креативную и необычную стратегию атаки на основных игроков. Их среднее число побед было невелико и даже немного снижалось по мере обучения, однако иногда они изобретали стратегии, которые были очень успешны против отдельных стратегий основных игроков. Наличие таких помощников позволило избежать для основных игроков слишком узкой специализации, которую могли бы использовать люди против электронного противника.
Примерно таким методом авторы натренировали две основные версии системы — послабее (27 дней обучения на тензорных процессорах собственной разработки Google) и посильнее (44 дня обучения), которая и стала окончательной версией — AlphaStar Final. Чтобы понять, насколько хорошо они играют, обе версии (а также несколько других, лишенных отдельных компонентов) были выпущены на арену Battle.net в июле 2019 года, где анонимно отыграли несколько десятков игр. Лучше всего AlphaStar удалась игра за «высокотехнологичных» протосов — на этой расе системе удалось достичь рейтинга в 6275 MMR.
Что об этом думают эксперты?
Алексей «Alex007» Трушляков, комментатор киберспортивных соревнований, видеоблогер, специалист по StarCraft
В Элитную (грандмастер) лигу входят 200 лучших игроков региона. Соответственно, войдя в Элитную лигу на европейском сервере, AlphaStar оказался в числе 200 лучших игроков Европы, что, с формальной точки зрения, безусловно, очень круто.
С другой стороны, никаких поспешных выводов от одного только факта выхода в Элитную лигу делать не стоит. Во-первых, в StarCraft этот статус покоряется многим игрокам-любителям, и разрыв в уровне между игроками из второй половины Элитной лиги и настоящими профи такой же, как между гроссмейстером международного калибра и кандидатом в мастера спорта в шахматах. Во-вторых, в ситуации, когда ты играешь анонимно (как говорят в StarCraft, под «баркодом», то есть аккаунтом вида llllllllll, о котором соперник не знает абсолютно ничего) и против случайных соперников, эффективность могут демонстрировать совершенно неиграбельные на профессиональном уровне стратегии. Соответственно, факт выхода в Элитную лигу говорит только об одном: играя анонимно, AlphaStar умеет обыгрывать тем или иным способом большую часть игроков-любителей в StarCraft II.
Для того, чтобы игровое сообщество StarCraft признало свое поражение в битве с искусственным интеллектом, нужен полноценный матч агентов ИИ против сборной мира, в которую войдут лучшие игроки как Кореи, так и остального мира. Отличный кандидат на роль «последнего оплота» человечества — действующий чемпион мира Serral, который 1 ноября будет пытаться защитить свой трофей в плей-офф нового чемпионата мира.
С другой стороны, ни одна киберспортивная дисциплина еще не пострадала от успехов в развитии ИИ, так что мы с большим интересом будем и дальше следить за любыми успехами Deepmind, OpenAI и иже с ними, искренне желая им успехов и интересных результатов.
Например, одна из главных движущих сил интереса к развитию ИИ со стороны игрового сообщества — обилие возможностей для обучения. Все игровое сообщество StarCraft холит и лелеет идею о появлении новых стратегий и новой «меты», которую мог бы открыть искусственный интеллект своими стратегиями и своим подходом к игре. Представьте эдакого умного игрового ассистента, который на каждом этапе игры подсказывает вам, что вы делаете неправильно, где отклонились от оптимальной стратегии и в чем слабость вашей текущей позиции, а комментатор получает вероятность победы каждого игрока по ходу противостояния в режиме реального времени. Развитие игровых ИИ может очень сильно изменить облик гейминга и киберспорта, но пока мы все-таки не настолько близки к этой реальности.
Учитывая то, что StarCraft на высочайшем уровне — это игра далеко не только скорости мозга и скорости кликов, но и максимальная глубина стратегий, тактических приемов и эдаких «игр разума», я считаю, что AlphaStar нужно сделать не просто шаг, а огромный прыжок вперед. Понятия не имею, сколько времени DeepMind понадобится для того, чтобы сделать этот шаг и хотят ли они этого — вполне возможно, они готовы остановиться прямо сейчас, и тогда сообщество StarCraft сможет с гордостью рассказать, что мы устояли под натиском ИИ. По крайней мере, когда ИИ наконец-то начал играть честно.
Константин Вороцов, профессор кафедры интеллектуальных систем МФТИ, преподаватель ВШЭ и ШАД:
Обучение с подкреплением, которое использовалось для создания AlphaStar, — это техника, которая известна уже несколько десятков лет. Сейчас на нее возлагаются большие надежды. Google DeepMind, например, практически полностью сделал ставку на обучение с подкреплением в сочетании с глубокими нейронными сетями. Вообще говоря, эти две техники — deep learning и reinforcement learning — довольно разные, они появились и развивались независимо друг от друга. Но сейчас их всё чаще пытаются объединять.
Впрочем, в последние полтора-два года в этой области наметилось некоторое разочарование: обучение с подкреплением оказалось очень сложной методикой, попытки применить которую к реальным задачам не всегда оказываются успешными. Это не означает, что подход не работает. Скорее, наоборот — надо настойчиво продолжать исследования. Мне кажется, это правильное направление, но может быть задача, которую мы решаем, на самом деле существенно сложнее, чем казалось вначале.
Что касается роли компьютерных игр в исследованиях ИИ (а это и шахматы, го, Дота-2, и теперь вот StarCraft), то они используюся сейчас как удобный полигон, где игровая условность и наличие строгих правил помогают создавать что-то работающее. Реальная жизнь и любые бизнес-задачи, конечно, гораздо сложнее. Но если попробовать представить, какая из реальных задач имеет наибольшие шансы выиграть от подобных исследований, то я бы сказал, что это, конечно, обучение роботов и беспилотное вождение. Очень перспективно объединение подходов машинного обучения и классического оптимального управления. Это разные научные школы, которые решают похожие задачи, но до сих пор говорят на разных языках. Их взаимное обогащение вполне способно дать новые прорывы в ближайшие годы.
Замечание. После публикации статьи в нее был внесен второй комментарий эксперта.