Литмир - Электронная Библиотека
Содержание  
A
A

Если рассчитать результат только по тем игрокам, которые совершили по 3000 игр (11 человек), то DeepStack выиграл у них всех в среднем 429 миллиблайндов за игру, а если сделать поправку на фактор удачи, то победы над десятью игроками из одиннадцати были одержаны со статистически значимым преимуществом и лишь над одним — со статистически незначимым (70 миллиблайндов за игру).

В том же году система Libratus, созданная в Университете Карнеги — Меллона, уверенно одолела четырёх ведущих мировых игроков в HUNL[1975]. Матчи проходили в реальном времени в ходе 20-дневного турнира, а расчёты во время игры производились на новом суперкомпьютере Bridges в Питтсбургском суперкомпьютерном центре.

Наследником Libratus стала Pluribus — система, которая в 2019 г. смогла одержать победу при игре в HUNL с шестью игроками, играя против пяти игроков, входящих в состав мировой покерной элиты[1976], [1977]. Pluribus была создана совместными усилиями учёных из Университета Карнеги — Меллона и исследователей ИИ из компании Facebook. Обе системы, Libratus и Pluribus, обучались при помощи методов обучения с подкреплением. Прежде чем соревноваться с людьми, Pluribus разыграла триллионы раздач в покер против самой себя. Хотя ни Libratus, ни Pluribus не использовали нейронные сети для оценки (вместо этого применялась более простая модель, основанная на методе k-средних для кластеризации признаков), последние публикации[1978] создателей Pluribus посвящены возможности использования глубоких нейронных сетей для замены текущей модели оценки.

6.2.3.7 Игры с неполной информацией: стратегии реального времени

Впрочем, как бы ни велико было пространство состояний настольных и карточных игр, оно не идёт ни в какое сравнение с пространством состояний компьютерных стратегий реального времени. Например, в игре StarCraft при размере карты 128 × 128 консервативная оценка числа состояний для 400 юнитов (персонажей) на карте составляет[1979] (128 × 128)400 ≈ ≈ 101685, при этом коэффициент ветвления игрового дерева (рассчитываемый как число возможных действий одного юнита в степени числа активных юнитов) находится в пределах от 1050 до 10200 (в шахматах порядка 35). Ещё десять лет назад мало кто мог помыслить о том, что машины вскоре смогут без заметной форы соперничать с людьми в подобных играх. Конечно, мир StarCraft или других подобных игр по своей сложности всё ещё безнадёжно далёк от реального мира, но это определённо гигантский скачок вперёд по сравнению с классическими настольными играми.

Внимание разработчиков систем игрового ИИ в эру глубокого обучения оказалось приковано к двум популярным стратегиям реального времени: Dota 2 и StarCraft II.

Dota 2 — многопользовательская онлайновая боевая арена (multiplayer online battle arena, MOBA): две команды по пять человек сражаются на большой карте, защищая свои базы и атакуя противников. Турниры по Dota 2 славятся в мире киберспорта рекордными призовыми фондами.

В 2016 г. компания OpenAI начала разработку собственного бота для игры в Dota 2. Выбор в пользу этой игры был сделан не только из-за её популярности, но и в силу наличия версии игры для Linux, а также открытого программного интерфейса приложения (Application programming interface, API), что позволяло существенно упростить процесс разработки бота. 11 августа 2017 года бот OpenAI в прямом эфире играл против одного из наиболее известных игроков в Dota 2 — Даниила Ишутина. Бот одержал победу в двух партиях из двух.

Для обучения бота, сердцем которого служит нейронная сеть на базе LSTM из 1024 блоков, было использовано 60 000 ядер CPU и 256 GPU Nvidia Tesla K80, предоставленных облачным сервисом Microsoft Azure. Один день обучения при использовании таких колоссальных вычислительных мощностей соответствовал 300 годам игрового времени, в течение которого бот играл сам с собой. При этом использовался алгоритм обучения с подкреплением, получивший название «оптимизация на базе аппроксимации политики» (Proximal Policy Optimization, PPO)[1980]. Процесс обучения длился две недели.

На вход LSTM-сети бота поступают доступные ему сведения об игровом мире (характеристики юнита, его позиция и направление, информация об атаках, дистанции до других персонажей и т. д.), упакованные в массив из 20 000 чисел[1981]. На выходе сети формируется вектор, описывающий действие, которое необходимо предпринять персонажу[1982].

Добившись успеха в игре один на один, исследователи из OpenAI перешли к командному варианту игры (пять на пять). Результатом их труда стал бот под названием OpenAI Five. В этот раз для обучения использовались ресурсы Google Cloud Platform — 128 000 ядер CPU и 256 GPU Tesla P100. Это позволило симулировать 180 игровых лет за один день расчётов (900 лет, если считать время каждого из персонажей по отдельности).

К июню 2018 г. боты OpenAI Five научились играть в команде и смогли одержать несколько побед над командами любителей и полупрофессиональных игроков[1983]. На чемпионате The International 2018 OpenAI Five сыграли два матча против профессиональных команд, один против бразильской paiN Gaming (входящей в двадцатку сильнейших в мире), другой против команды Big God, состоящей из прославленных китайских игроков. Первый матч продолжался 51 минуту (против обычных 45 минут). Сначала боты казались дезориентированными, но к середине игры смогли превзойти людей по количеству убийств и собранного золота. Впрочем, победу всё же одержали люди: в ходе последней битвы профессионалы смогли разрушить базу противника. Игроки из Big God смогли управиться с противником за 45 минут.

Хотя боты и проиграли оба матча, представители OpenAI заявили об успехе предприятия, поскольку игра с одними из лучших игроков в Dota 2 позволила исследователям проанализировать и скорректировать алгоритмы системы на будущее. Следующая публичная демонстрация игры OpenAI Five состоялась в апреле 2019 г., когда команда ботов выиграла в Сан-Франциско серию игр «до двух побед» против чемпионов The International 2018 — европейской команды OG. Игры транслировались в прямом эфире[1984]. В том же месяце было организовано четырёхдневное онлайн-мероприятие, в ходе которого все желающие могли попытать счастья в игре против ботов. В итоге из 42 729 игр боты выиграли 38 654 (чуть более 90%).

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

С 2010 г. в Университете Сечжона (Sejong University, 세종대학교) в Сеуле проходят регулярные соревнования по StarCraft с участием людей и машин. Надо отметить, что это весьма респектабельное мероприятие, которое проводится при поддержке различных коммерческих и общественных организаций, например Института инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) — крупнейшей в мире ассоциации технических специалистов, насчитывающей более 423 000 членов в более чем 160 странах мира.

В 2017 г., после первых успехов бота OpenAI в Dota 2, StarCraft воспринимался многими как надёжный бастион человеческого превосходства в мире компьютерных игр. В конце октября 2017 г. на очередном турнире в Sejong профессиональный игрок в StarCraft Сон Бён-гу сразился с четырьмя ботами в первую версию StarCraft и одержал бесспорную победу со счётом 4 : 0. Данные боты разрабатывались как командами разработчиков из крупных корпораций, так и отдельными энтузиастами.

вернуться

1975

Mets C. (2017). Inside Libratus, the Poker AI That Out-Bluffed the Best Humans / Wired, 02.01.17 // https://www.wired.com/2017/02/libratus/

вернуться

1976

Rodriguez J. (2019). Inside Pluribus: Facebook’s New AI That Just Mastered the World’s Most Difficult Poker Game / KDnuggets // https://www.kdnuggets.com/2019/08/inside-pluribus-facebooks-new-ai-poker.html

вернуться

1977

Blair A., Saffidine A. (2019). AI surpasses humans at six-player poker / Science, Vol. 365, Iss. 6456, pp. 864–865 // https://doi.org/10.1126/science.aay7774

вернуться

1978

Brown N., Lerer A., Gross S., Sandholm T. (2019). Deep Counterfactual Regret Minimization / Proceedings of the 36th International Conference on Machine Learning, PMLR 97:793-802 // http://proceedings.mlr.press/v97/brown19b.html

вернуться

1979

Ontañón S., Synnaeve G., Uriarte A., Richoux F., Churchill D., Preuss M. (2013). A Survey of Real-Time Strategy Game AI Research and Competition in StarCraft / IEEE Transactions on Computational Intelligence and AI in Games, Vol. 5, No. 4, pp. 293—311 // https://doi.org/10.1109/TCIAIG.2013.2286295

вернуться

1980

Schulman J., Klimov O., Wolski F., Dhariwal P., Radford A. (2017). Proximal Policy Optimization / OpenAI blog, July 20, 2017 // https://openai.com/blog/openai-baselines-ppo/

вернуться

1981

Chan B., Tang J., Pondé H., Raiman J., Wolski F., Petrov M., Zhang S., Dennison C., Farhi D., Sidor S., Dębiak P., Pachocki J., Brockman G. (2018). OpenAI Five: Our team of five neural networks, OpenAI Five, has started to defeat amateur human teams at Dota 2 / OpenAI blog // https://openai.com/blog/openai-five/

вернуться

1982

Matiisen T. (2018). The use of Embeddings in OpenAI Five / Computational Neuroscience Lab, Institute of Computer Science, University of Tartu, September 9, 2018 // https://neuro.cs.ut.ee/the-use-of-embeddings-in-openai-five/

вернуться

1983

Chan B., Tang J., Pondé H., Raiman J., Wolski F., Petrov M., Zhang S., Dennison C., Farhi D., Sidor S., Dębiak P., Pachocki J., Brockman G. (2018). OpenAI Five: Our team of five neural networks, OpenAI Five, has started to defeat amateur human teams at Dota 2 / OpenAI blog // https://openai.com/blog/openai-five/

вернуться

1984

OpenAI Five Defeats Dota 2 World Champions (2019) / OpenAI blog, April 15, 2019 // https://openai.com/blog/openai-five-defeats-dota-2-world-champions/

203
{"b":"936964","o":1}