Нейросеть — это соперник

Кто и как учит машину атаковать, защищаться и ловить читеров

Mortal Kombat, Quake III Arena, Dota 2 — в этих играх нейросети уже победили профессиональных игроков. Мы выбрали пять примеров таких игр и попытались разобраться, где и для чего еще можно использовать игровой ИИ.

1. Mortal Kombat — ноябрь 2016 года

Mortal Kombat: Саб-Зиро против Скорпиона.
Mortal Kombat: Саб-Зиро против Скорпиона.

Аспиранты Израильского технологического института разработали платформу Retro Learning Environment, позволяющую использовать искусственный интеллект в играх на консоли Nintendo 1990-х годов – SNES. В их числе оказались Mortal Kombat, F-Zero и Wolfenstein. В Mortal Kombat ИИ неоднократно смог выиграть у человека, даже когда компьютеру противостоял опытный игрок.

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

Исходный код системы разработчики сделали открытым и выложили на GitHub.

2. Alpha Zero — декабрь 2017

Команда DeepMind, принадлежащая Google, создала нейросеть AlphaZero, которая смогла сама обучиться игре в шахматы и го за несколько часов и победить аналогичные алгоритмы.

В отличие от предыдущих программ DeepMind, AlphaZero создавался как алгоритм, способный научиться сразу нескольким задачам-играм, а не одной. Для этого его не обучали побеждать, а давали только базовые знания о правилах игры. AlphaZero затем играл сам с собой и самостоятельно вырабатывал тактику.

За 4 часа алгоритм научился играть в шахматы так, что сумел обыграть предыдущего чемпиона среди таких программ — алгоритм Stockfish. На обучение японским шахматам (сегам) нейросети понадобилось два часа — после этого AlphaZero сумел победить один из лучших алгоритмов в этой области, программу Elmo. Дольше всего — 8 часов, пришлось учиться игре в го — в итоге нейросеть сумела справиться с программой AlphaGo, которая в мае 2017 года победила абсолютного чемпиона в го среди людей Кэ Цзе.

3. Counter Strike — март 2018 года

CS GO, скриншот из игры
CS GO, скриншот из игры

Компания Valve объявила о начале разработки нейросети VACnet. С ее помощью планируется избавиться от читеров в игре Counter Strike Global Offensive (CS:GO). За шесть лет с момента релиза игры эта проблема успела изрядно надоесть игрокам. Читы помогали мошенникам повышать ранг в игре, некоторым — даже пройти в игровые турниры. Разработанные Valve ранее античитерские системы «Патруль» (OverWatch) и Valve Anti-Cheat (VAC) не помогали.

Нейросеть VACnet станет дополнением к «Патрулю»: она будет не только оценивать игроков по результатам поступающих жалоб, но и анализировать их поведение в процессе игры. Для этого VACnet будет фиксировать перемещения мышки игрока за полсекунды до выстрела и четверть секунды после него, учитывать данные об используемом оружии, расстоянии до цели и результатах выстрела.

Минусом системы критики называют необходимость задействовать большие технические мощности. Нейросеть должна непрерывно разбирать информацию о текущих матчах и анализировать поведение игроков. На аренах CS:GO проходит более миллиона матчей, так что Valve понадобится вычислительный центр с тысячами процессорных ядер в дата-центре.

Ранняя бета-версия VACnet уже начала работать. Пока она действует в тестовом режиме и отправляет образцы работы сотрудникам «Патруля». В июле 2018 года сообщалось, что с помощью VACnet удалось заблокировать 60 тысяч читеров.

4. Dota 2 — июнь 2018 года

Команда из пяти нейросетей, созданная некоммерческой организацией OpenAI, научилась побеждать профессиональных игроков в Dota 2. Изначально нейросети ничего не знали о стратегиях игры, но с каждым новым матчем они совершенствовались. Во время первых игр герои бесцельно бродили по карте, но через несколько часов они стали понимать, что в игре есть три основных концепции: надо атаковать, убивать монстров для накопления золота и биться на миде (в центре карты). Через несколько дней OpenAI Five начали обучаться базовым стратегиям, которые используют живые игроки.

Ранее бот OpenAI победил профессионального игрока в Dota 2 во время международного турнира The International 2017. Первый раунд матча длился 10 минут и закончился смертью персонажа, за которого играл человек. Спустя еще несколько минут тем же результатом закончился второй раунд. После матча представители OpenAI уточнили, что бот закончил больше партий в Dota 2, чем любой человек. На обучение программы у разработчиков ушло всего около двух недель.

5. Quake III Arena — июль 2018

Разработчики компании DeepMind научили нейросеть играть в Quake III. Алгоритм обучили адаптироваться к постоянно меняющимся картам в игре Quake: 30 ботов тренировались на 450 тысячах пятиминутных игр в режиме Capture the Flag («Захват флага»). В этом режиме выигрывает та команда, которая сможет в течение пяти минут захватить и удержать флаг соперника максимальное количество раз. ИИ каждый раз заставляли играть на новом уровне, поэтому ему приходилось разрабатывать собственную стратегию игры. Для обучения использовалась так называемая система с подкреплением: алгоритм получал награду или штраф в зависимости от того, успешны ли были его действия.

На тренировки ИИ ушло 1736 дней, однако результат превзошел ожидания. Тридцать ботов не только научились работать в группе, защищать свой флаг и захватывать вражеский, но смогли это делать на картах, которые каждый раз генерировались по-новому. При этом, в отличие от ботов OpenAI для игры Dota 2, ИИ DeepMind не видел числовых данных — расстояния до цели, «здоровье» и прочее. Разработчики фактически сравняли его с игроком-человеком — для нейросети было доступно только изображение карты.

А что дальше?

О том, что еще умеют нейросети в играх, какие направления самые перспективные и как технологии могут изменить индустрию, мы спросили у спикера курса Binary District «Нейросети в бизнесе», разработчика компании Rubius Павла Хаустова.

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

Кроме этого, с использованием машинного обучения делают алгоритмы поиска пути. Это упрощает выбор правил, по которым будет действовать игровой персонаж или агент и автоматизировать его. Для компании это дешевле, чем нанимать сотрудников, которые будут формировать эти правила.

Поиск читеров в игре, как в Counter Strike — тоже очень перспективное направление. У любого человека-игрока есть определенная модель поведения. Нейросети нужны, чтобы оценить, как быстро меняется уровень мастерства игрока и найти аномалии.

В будущем лично мне было бы интересно, например, увидеть, как нейросеть научится играть в «Героев меча и магии III» (Heroes of Might and Magic III). Эта игра — что-то вроде шахмат игрового мира: в ней много степеней свободы в действиях игроков, так что это действительно будет прорывом.

Павел Хаустов, разработчик компании Rubius
66
1 комментарий

что-то сомневаюсь в этой проге. Знаю что читеры как были в контре, так и рулят. Сам правда не играю в нее, но выполнял просьбу одного продавца читов для танков. А эти читы подходят и для СSGO, судя по его рассказам.

Ответить