Разработчики из DeepMind сообщили, что их алгоритм AlphaStar, разработанный для игры в StarCraft II, вошел в число грандмастеров: он обыграл 99,8 процента всех принимавших участие в турнире игроков для всех трех представленных в игре рас. Статья с описанием работы алгоритма опубликована в Nature, также об истории можно прочесть в их редакционной заметке.
Стратегии в реальном времени вроде игр из серии StarCraft очень сложны для разработки алгоритмов, которые могли бы в них играть. В каждый момент времени игрок видит не весь игровой мир целиком, а только его часть на карте, поэтому ему приходится ориентироваться на местности и постоянно принимать решения о следующем шаге. Обучение машин игре, поэтому, требует долгой упорной работы, большого количества данных, а также разработки сложных алгоритмов, которые могут решать все появляющиеся в игре задачи.
Неудивительно, что создание подобных алгоритмов среди разработчиков весьма популярно, причем соревнования среди ботов проходят уже достаточно давно. При этом создать алгоритм, который бы мог обыграть даже встроенных в саму игру ботов, удается далеко не всем.
В августе 2017 года специально для разработчиков компания Blizzard опубликовала открытый API для обучения ботов игре в StarCraft II. Сразу после этого несколько крупных IT-компаний и отдельные энтузиасты начали обучать свои алгоритмы, а одной из первых это сделала компания DeepMind (входит в холдинг Alphabet). Их самые первые попытки оказались неудачными: первая натренированная разработчиками нейросеть проиграла легкому боту, встроенному в игру.
После этого DeepMind несколько раз улучшала свой алгоритм, а в январе этого года их программе AlphaStar удалось обыграть сильнейших профессиональных игроков. Сейчас команда разработчиков во главе с Ориолом Виньялисом (Oriol Vinyalis) рассказала, что AlphaStar может обыграть практически любого профессионального игрока.
По сути, работа самого алгоритма устроена точно так же, как и действия игрока-человека. Системе в каждый момент времени доступна только часть игрового поля, а также необходимость принимать решения: какое действие предпринять (в игре можно двигаться, строить и атаковать), к какому агенту или точке на карте это действие должно быть направлено, а также на какой момент запланировать следующее действие.
Сам алгоритм обучен с помощью методов обучения с подкреплением и обучения с учителем на записях игр реальных игроков. При этом разработчики ограничили скорость реакции AlphaStar таким образом, что скорость его управления была сравнима с реальными игроками. Весь процесс обучения занял 44 дня, после чего алгоритму удалось обыграть 99,8 процента игроков из около 90 тысяч официально зарегистрированных, причем в играх против всех трех рас. Несмотря на то, что AlphaStar не удалось обыграть сильнейших игроков в таблице, алгоритму, судя по результатам, можно присвоить звание грандмастера.
DeepMind — не единственные, кто создает и обучает алгоритмы для игры в StarCraft. Успехов в этом также добилась, например, китайская технологическая компания Tencent, боты которой обыгрывают встроенные в StarCraft алгоритмы с первого по десятый уровень.
Елизавета Ивтушок