Нейросеть — это соперник
Кто и как учит машину атаковать, защищаться и ловить читеров
Mortal Kombat, Quake III Arena, Dota 2 — в этих играх нейросети уже победили профессиональных игроков. Мы выбрали пять примеров таких игр и попытались разобраться, где и для чего еще можно использовать игровой ИИ.
1. Mortal Kombat — ноябрь 2016 года
Аспиранты Израильского технологического института разработали платформу 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 года
Компания 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 Павла Хаустова.
что-то сомневаюсь в этой проге. Знаю что читеры как были в контре, так и рулят. Сам правда не играю в нее, но выполнял просьбу одного продавца читов для танков. А эти читы подходят и для СSGO, судя по его рассказам.