ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

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

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

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

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

1979

Ontanon 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

Внимание разработчиков систем игрового ИИ в эру глубокого обучения оказалось приковано к двум популярным стратегиям реального времени: 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] . Процесс обучения длился две недели.

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/

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

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

1981

Chan B., Tang J., Ponde H., Raiman J., Wolski F., Petrov M., Zhang S., Dennison C., Farhi D., Sidor S., Debiak 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/

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

1983

Chan B., Tang J., Ponde H., Raiman J., Wolski F., Petrov M., Zhang S., Dennison C., Farhi D., Sidor S., Debiak 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/

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

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/

Исследователи компании 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. Данные боты разрабатывались как командами разработчиков из крупных корпораций, так и отдельными энтузиастами.

В августе 2017 г. DeepMind и Blizzard выпустили инструменты разработки ботов для StarCraft II. Также было опубликовано 65 000 записей игр. Учёный-информатик и менеджер турниров StarCraft Дэвид Черчилль предположил, что ботам понадобится пять лет, чтобы победить людей, сделав, однако, оговорку, что AlphaGo в своё время смогла опередить все прогнозы. Технический обозреватель журнала Wired Том Саймонит заявил: «Никто не ожидает, что робот победит в ближайшее время. Но когда это произойдёт, это будет гораздо большим достижением, чем завоевание го DeepMind».

Гром среди ясного неба грянул 24 января 2019 г., когда в блоге DeepMind появилась статья [1985] под заголовком «AlphaStar: освоение стратегической игры реального времени StarCraft II» (AlphaStar: Mastering the Real-Time Strategy Game StarCraft II). Из неё общественность узнала, что в серии тестовых матчей, состоявшихся 19 декабря, AlphaStar — бот, созданный разработчиками из DeepMind, — победил со счётом 5 : 0 Гжегожа MaNa Коминча из команды Team Liquid, одного из сильнейших профессиональных игроков StarCraft в мире, а также, с таким же счётом, товарища MaNa по команде Дарио TLO Вюнша, который, правда, играл с AlphaStar не «своей» расой — во всех играх матча игроки использовали расу протоссов, в то время как TLO последние годы играет на профессиональных турнирах главным образом за зергов. В ответ на обвинения в том, что MaNa играл в матче недостаточно хорошо (некоторые комментаторы заявляли, что отдельные партии были скорее не выиграны AlphaStar, а проиграны MaNa), TLO опубликовал твит [1986] , в котором сказал: «Поверьте, очень трудно играть против такого противника, как AlphaStar, который играет совсем не так, как человек, и с которым у вас нет предыдущего опыта. AlphaStar невероятно впечатляющий и, по моему мнению, небывалый игровой ИИ».

1985

Vinyals O., Babuschkin I., Chung J., Mathieu M., Jaderberg M., Czarnecki W., Dudzik A., Huang A., Georgiev P., Powell R., Ewalds T., Horgan D., Kroiss M., Danihelka I., Agapiou J., Oh J., Dalibard V., Choi D., Sifre L., Sulsky Y., Vezhnevets S., Molloy J., Cai T., Budden D., Paine T., Gulcehre C., Wang Z., Pfaff T., Pohlen T., Yogatama D., Cohen J., McKinney K., Smith O., Schaul T., Lillicrap T., Apps C., Kavukcuoglu K., Hassabis D., Silver D. (2019). AlphaStar: Mastering the Real-Time Strategy Game StarCraft II / DeepMind blog, 24 Jan 2019 // https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/

1986

Wunsch D. (2019) / Twitter // https://twitter.com/liquidtlo/status/1088524496246657030

Одна идея, найденная AlphaStar (перепроизводство зондов для добычи ресурсов), оказалась новой для игрового сообщества и была тут же принята игроками на вооружение (например, MaNa применил её уже в четвёртой игре против AlphaStar) [1987] , [1988] .

Версия бота, одолевшая MaNa и TLO, использовала программный интерфейс игры для получения данных о текущем положении в игре. Фактически AlphaStar одновременно «смотрел» на все видимые области карты, что многие эксперты сочли недопустимым преимуществом бота по отношению к игрокам-людям. Поэтому DeepMind разработала версию AlphaStar, которая взаимодействовала с игрой так же, как это делают люди, то есть самостоятельно принимая решения о том, когда и куда перемещать камеру. Эту версию бота, которая обучалась в течение недели, MaNa смог одолеть в демонстрационном матче 24 января.

1987

Solimito S. (2019). Is Alphastar really impressive? // https://medium.com/@stefano.solimito/is-alphastar-really-impressive-31ab02bf0882

1988

Kosker S. (2019). Kunstliche Intelligenz gegen Mensch: DeepMind AlphaStar // https://stefankosker.com/alphastar-starcraft-deepmind-kuenstliche-intelligenz/#Prominente_Meinungen_zu_AlphaStar

Поделиться с друзьями: