StarCraft II

Разработчики DeepMind о работе над ИИ для StarCraft II

Justin Groot, Blizzard Entertainment

Когда первая часть StarCraft только вышла в 1998 году, нынешний исследователь в области искусственного интеллекта (ИИ) и участник команды DeepMind испанец Ориол Виньялс был самым обыкновенным ребенком. Он буквально влюбился в игру — а потом даже смог добиться успеха на соревнованиях, заняв третье место в отборочном туре World Cyber Games (WCG). С тех пор прошло много лет, и теперь это один из самых выдающихся умов в разработке ИИ. Сегодня он работает над ботом — или «агентом», как говорят разработчики — и хочет научить его играть в StarCraft II.

Пару слов о себе?

Я ведущий разработчик на проекте ИИ для StarCraft II в DeepMind. Моя задача — разработка передового искусственного интеллекта. StarCraft — это очень удобная платформа для исследований, и часть своей докторской диссертации в университете Беркли я посвятил именно ей.

Ты написал диссертацию по StarCraft?

Однажды друг мне сказал: «Тут ребята из Беркли хотят поучаствовать в соревновании искусственных интеллектов, а ты же серьезно играл, сходи и посмотри, что они там делают».

Они разрабатывали бота, стратегия которого строилась на муталисках. Я сел сыграть против их агента... наверно, меня тогда окрестили «тренером».  

Тот проект базировался на экспертных системах. «Мы будем строить много муталисков, поэтому нам понадобится порядок действий, устойчивый к ранней агрессии и способный строить базы для поддержки производства», и это все. В большей степени поведение программировалось, хотя микроконтроль муталисков работал на основе машинного обучения. Соревнование мы выиграли, было очень весело.

Чем тот опыт отличается от работы в DeepMind?

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

Что привело DeepMind в StarCraft?

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

Как продвигается проект?

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

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

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

Мы выпустили набор мини-игр — упрощенных версий StarCraft. Разделили отдельные аспекты игры по картам, суть которых — «построй несколько баз и много рабочих», «передвигай войска по карте и постарайся покрыть ими как можно больше пространства» и тому подобное. В мини-играх наши агенты способны понять основы передвижения войск, боевых действий...

Узнать больше можно в общей статье DeepMind и Blizzard об их ранних находках в StarCraft II.

Было-ли что-нибудь любопытное?

У нас есть карта с двумя морпехами, и у них задача — собирать разбросанные по карте минералы. Для агента оказалось очень непросто осознать, что их следует использовать раздельно, но он смог понять, что морпехов стоит передвигать с помощью патрулирования. Я вот не знал, что при патрулировании боевые единицы постоянно держат дистанцию между собой и это позволяет им собирать больше минералов, несмотря на то, что управляют ими одновременно. Это был первый раз, когда я сказал себе: «Ладно, только что я узнал кое-что новое о StarCraft II».

( Видео )

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

Не знаю. Но уверен, что этот подход легко масштабировать. Если разрабатывать бота так, как мы делали в 2010 году в Беркли, он сможет исполнить одну, две или три стратегии, но не более того. В конце концов, кто-нибудь сумеет понять его логику и использовать его слабости. Что мне нравится в нашем подходе, так это то, что, если все заработает как надо, агент выучит огромное количество тактик и контрмер, которое просто невозможно запрограммировать. Точно так же, как и нельзя запрограммировать хорошего игрока в го.

Что касается победы над лучшими из лучших — опять же, не знаю. Время покажет. Не могу сказать, сможем ли мы победить их или нет.  


Photo Credit: DeepMind
Другие статьи к 20-летию игры