НАВИГАЦИЯ ИГРЫ

Как Forza 5 и Xbox One используют облачные вычисления для работы самообучающегося ИИ

Руководитель проекта Forza 5 рассказывает об опыте использования облачных технологий Microsoft для работы самообучающейся системы Drivatar.

В октябре 2013 года журналист издания Ars Technica написал статью по итогам разговора с руководителем проекта Forza 5 Дэном Гринавальтом (Dan Greenawalt). Гринавальт рассказал, как работает самообучающийся ИИ в игре, и какие возможности для него открывают облачные программные интерфейсы Microsoft.

DTF публикует перевод статьи.

Вот уже несколько месяцев Microsoft расхваливает способность игр на Xbox One использовать облачные вычислительные ресурсы для решения независимых от времени задач, которые невозможно просчитать на одной локальной консоли. Хотя Microsoft и раскрыла несколько деталей о том, как этот процесс будет работать, по большей части представители компании только загадочно размахивали руками и рассказывали, что «магия облака» сделает всё мощнее.

Поэтому, когда мы получили шанс поговорить с руководителем проекта Forza Motorsport 5 Дэном Гринавальтом, мы решили углубиться в то, как игра использует облачные ресурсы Microsoft для работы своей адаптивной самообучающейся системы ИИ под названием Drivatar. Мы узнали, как обработка огромного количества данных на серверах Microsoft открывает возможности, которые были недоступны на консолях предыдущего поколения.

Оно учится

Команда Drivatar в комплексе Microsoft Research в Кембридже создавала адаптивный ИИ для оппонентов, основанный на реальных пользователях, ещё с момента релиза первой Forza Motorsport на Xbox в 2005 году. Но предыдущие игры могли учиться только на отдельных гонках и должны были обрабатывать эти данные на локальном железе. Гринавальт говорит, что возможность собирать и обрабатывать информацию в облаке даёт результаты, которые «как небо и земля» по сравнению с прошлыми.

Мы и не думали об облаке, когда создавали Drivatar, но уже самая первая версия системы была построена на обучении. Мы хотим, чтобы поведение противников было очень похоже на человеческое.

Проблема в том, что системе нужно обрабатывать очень много данных. Ни Xbox, ни Xbox 360, ни Xbox One не обладают достаточной мощностью, чтобы делать то, на что способны несколько серверов. Я и не знал, что нам нужно было облако, пока оно у нас не появилось.

Дэн Гринавальт, руководитель проекта Forza 5

Прежде чем начинается магия, Forza Motorosport 5 записывает всю информацию о том, как вы играете, на вашу консоль. «Каждый раз, когда вы играете, когда я играю, консоль, а не облако, записывает данные о том, где вы были, в какой машине, как вы использовали газ, где были остальные машины на трассе. Удивительное количество деталей», — говорит Гринавальт.

Помимо данных о вашей машине игра также следит за всей связанной информацией, устанавливая соотношение между вашими действиями и действиями других машин на трассе. По словам Гринавальта, это может помочь ответить на вопросы о том, когда и почему игроки совершают определенные действия. «Зачем вы выезжаете за пределы трассы? Потому, что вы плохой водитель или просто объезжаете кого-то? Это всего лишь данные, но мы перезаписываем их, потому что любой кусочек этой информации, типа мест нахождения других машин, будет важен для самообучения системы».

После каждой гонки Xbox One загружает несколько килобайт данных о состязании на серверы Microsoft, где алгоритмы Drivatar непрестанно «прочёсывают» массив информации в поисках характерных шаблонов. «Если подумать, мы пытаемся вскипятить океан, — говорит Гринавальт. — Есть миллионы и миллионы результатов, а машинное обучение соотносит и обобщает. Эта задача не совсем для ПК. Он смог бы её выполнить, но это заняло бы очень много времени».

Сейчас этот океан информации больше похож на тихий ручеёк — пока что только около 400 членов команды Forza вносят данные в Drivatar.

Несмотря на это, система смогла сама по себе выучить некоторые образцы поведения на трассе, проанализировав тысячи гонок

«Мы вообще не программировали поведение системы, — говорит Гринавальт. — Она берёт данные, обрабатывает их, сопоставляет, обобщает и создает шаблон. Например: "О, я заметила, что 20% игроков, когда перед ними была машина на Laguna Seca, выезжали на внешнюю сторону, а потом ныряли во внутреннюю". Мы видим это и думаем: "Ого, он его обманул". Компьютеру необязательно знать название действия, он просто знает, что мы сделали так в такой же ситуации. Так он научился обманному маневру».

Гринавальт вспомнил реальный случай, когда Drivatar удивил его выученным движением. «Я увидел, как три машины в ряд входили в поворот, и подумал: "Посмотрим, что будет". Они видели друг друга и смогли войти в поворот, а потом одна из них вырвалась вперед, и я пристроился за ней. Затем я увидел, как два оставшихся водителя, в общем-то, обманывали друг друга через весь поворот. Один выехал на внешнюю сторону, другой пошел во внутреннюю, первый нырнул внутрь, второй его объехал, и получился двойной обход».

«Так делают люди, но ИИ никогда, разве что если выполняет скрипт, — продолжил он. — Я ни разу не видел, чтобы в игре такое происходило без скриптов. И компьютер научился этому потому, что мы так делали. Он сделал так из-за нас, и это очень круто».

Давить троллей и персонализировать ИИ

Опасности обучения у настоящих игроков заключаются, разумеется, в том, что система может научиться у людей, которые или плохо играют сами по себе, или специально дурачатся в игре. Даже в ограниченной выборке разработчиков, как признается Гринавальт, «есть придурки, с которыми мне приходится работать. Они уже пытаются научить систему неправильно, поиздеваться над ней».

И тут на сцену выходит человеческое суждение, чтобы почистить Drivatar от самых неудачных моделей поведения. «Мы вручную говорим ей, что не нужно учить, — объясняет Гринавальт. — Она создает новое поведение, говорит: "Я видела много подобного, я буду делать так же". А мы отвечаем: "Не делай ничего из этого, а если увидишь, что кто-то поступает так, просто забудь"».

Модели поведения, прошедшие проверку, загружаются на консоль в форме различных Drivatar, которые представляют обобщённые навыки настоящих пользователей. Эти персонализированные гонщики становятся тем лучше, чем больше данных им передается, но Гринавальт говорит, что система хорошо вычисляет, что должен делать ваш Drivatar, основываясь на вашем поведении в похожих игровых ситуациях.

Вы видели башни из бокалов шампанского? Представьте, что каждый бокал — это состояние гонки. Чем больше вы вливаете, тем лучше они становятся сверху донизу. Затем мы просто исключаем устаревшие данные и получается среднее значение навыков пользователей. В игре надо пройти три гонки для настройки Drivatar, и они дают нам хороший набор моделей поведения для персонализации.

Дэн Гринавальт, руководитель проекта Forza 5

Гринавальт говорит, что возможность использовать облачные программные интерфейсы для Drivatar — это самое большое отличие Xbox One от предыдущих поколений консольного железа, больше, чем все графические улучшения или возможности физического моделирования. Он утверждает, что системы типа Drivatar — это лишь «верхушка айсберга» возможных применений для этой технологии.

«Эта идея с Drivatar сработала бы и в шутере от первого лица, — сказал он. — Если подумать о том, какие выборы мы совершаем в шутерах, то можно увидеть определенные маршруты, любимые виды оружия, точность, процентные соотношения. Я думаю, это возможно, хоть и не знаю, будет ли подобное реализовано. У нас есть свой вариант использования мощности облака, другие разработчики придумают что-то ещё».

Нравится6
Комментарии (3)
  • 2
    Всё это враньё. Никакого самообучающего ии там нет. В облаке просто сохраняются призраки игроков с повтора, а потом загружаются в гонку и машины едут по их траектории как по waypoints, ну может тормозят в тех же местах, вот и всё.
  • 1
    Интересно
  • 2
    Porsche911GT3RS
    Эксперт в области ИИ
    Спасибо за ваше мнение!
B
i
u
Спойлер