Технический директор Магнус Нордин рассказывает о том, как Search for Extraordinary Experiences Division (SEED, «Отдел поиска необычных возможностей», команда в составе EA, изучающая будущее интерактивных развлечений) создал самообучающегося ИИ-агента, который с нуля научился играть в многопользовательский Battlefield 1.
Для начала, расскажите немного о себе. Чем вы занимались раньше, чем занимаетесь сейчас и что же такое SEED?
Я пришел в EA шесть лет назад, после того, как двадцать лет проработал специалистом в области компьютерных наук. Моей первой работой в EA стала работа в команде DICE, а потом, когда два года назад открылся SEED, я перешел туда.
Мы в SEED исследуем долгосрочные перспективы развития интерактивных развлечений. У нас проводятся некоторые академические исследования, но нас при этом нельзя назвать чисто исследовательским отделом. Попытки предугадать далекое будущее часто скатываются в абстракцию, поэтому мы пытаемся быть как можно более практичными и ограничиваемся теми технологиями, которые, по нашему мнению, будут влиять на интерактивные развлечения через три-пять лет.
Наш подход - создание функционирующих прототипов и создание возможностей для настоящего креативного опыта использования новейших технологий, таких как искусственный интеллект, машинное обучение, виртуальная и дополненная реальность и крупномасштабные динамические виртуальные миры.
Один из ваших последних проектов - тренировка самообучающегося агента многопользовательской игре в Battlefield 1. Как возникла идея этого проекта?
Узнав, как ИИ, созданный компанией DeepMind, самостоятельно научился играть в старые игры от Atari, я был просто потрясен. Это было в 2015 году и я тогда задумался о том, сколько усилий потребуется, чтобы самообучающийся агент смог играть в современную и более сложную игру класса AAA от первого лица - такую, как Battlefield. Поэтому, перейдя в SEED, я основал нашу собственную команду по глубинному обучению и начал нанимать соответствующих специалистов.
Сперва мы сформулировали основные требования и создали простой трехмерный FPS, чтобы протестировать свои алгоритмы и натренировать сеть. Добившись хороших результатов в нашей простой игре, мы начали сотрудничать с командой из DICE, чтобы интегрировать агента в окружение Battlefield.
Как думаете, как проявит себя ваш самообучающийся агент в игре с живым противником в Battlefield?
Мы проводили игровые тесты, в них ИИ-агенты сражались с живыми игроками в упрощенном игровом режиме, где доступны только пистолеты. Живые игроки выступили лучше агентов, но до полного разгрома было далеко.
Агент достаточно хорошо разбирается в основах игрового процесса Battlefield и научился менять поведение в зависимости от определенных условий - например, при низком уровне боеприпасов или здоровья. Но суть Battlefield отнюдь не только в победе над противниками. Здесь велика стратегическая составляющая, задействованы такие моменты, как командная работа, знание карты, знание конкретных классов и оружия. Чтобы ИИ мог справляться с такими задачами, нам нужно будет дополнительно расширять способности агентов.
Но при всем при том после игровых тестов некоторые участники попросили нас четко пометить агентов, чтобы их можно было отличить - для меня это хороший показатель того, насколько хорошо играют агенты и как они похожи в этом на людей.
Честно говоря, в игре бывает заметно, что ИИ-боты как будто дурачатся и бегают кругами. Как это объяснить?
Сейчас у агентов не очень хорошо получается планировать действия наперед. Если агент видит некую цель - скажем, вражеского игрока - он будет действовать. Но если в пределах видимости ничего нет, агент начнет крутиться в поисках цели. Здесь правильней было бы идти и искать соперников на карте или подходящее укрытие, но пока что агенты не достигли такой степени развития. Я уверен, что в будущем, по мере обучения, они будут глупить меньше.
Сколько времени ушло на тренировку самообучающегося агента?
В Battlefield нельзя играть, просто нажимая по одной клавише за раз. Нужно одновременно выполнять ряд действий. Чтобы помочь самообучающемуся агенту ознакомиться с базовыми действиями, мы дали ему понаблюдать 30 минут за игрой живого игрока, прежде чем он начал тренироваться самостоятельно. Это называется имитационным обучением.
Агенты, которых мы показываем в своей демонстрации, впоследствии тренировались шесть дней против версий самих себя и разных обычных ботов, параллельно играя на нескольких машинах. В итоге это равняется примерно 300 дням игрового времени. Они постоянно развиваются, но учатся не очень быстро.
Поле зрения у агента такое же, как у живого игрока, и он пользуется мини-картой. Впрочем, мы быстро поняли, что Battlefield слишком сложен для визуального восприятия агента. Следовательно, нам надо было упростить картинку.
Мы видели, как агенты самостоятельно обучались игре в старые аркадные игры, такие как оригинальный Doom и го. Чем ваша работа отличается от этих проектов?
Насколько мне известно, это первая реализация глубинного обучения с подкреплением в сложной и многоплановой игре-шутере класса AAA. Кроме того, наш агент играет в Battlefield, игру, известную своей детально проработанной механикой.
Каково сейчас практическое применение этой технологии?
Краткосрочная задача проекта - помочь команде DICE улучшить эффективность тестирования, что позволит студии собрать больше отчетов об ошибках и найти больше багов.
Я ожидаю, что в будущих играх по мере развития технологии глубокого обучения самообучающиеся агенты станут частью игр, из них получатся по-настоящему интеллектуальные NPC, умеющие выполнять разные задачи, приспосабливаться и эволюционировать со временем, накапливая опыт при взаимодействии с игроками.
Когда, по-вашему, самообучающийся ИИ станет регулярно применяться в играх?
Я не сомневаюсь, что нейронные сети в будущем начнут использоваться в играх. Самообучающиеся агенты - хорошая замена старомодным ботам, машинное обучение можно использовать в разных областях: процедурная генерация контента, анимация, генерация голоса, распознавание речи и тому подобное.
Смогут ли когда-нибудь самообучающиеся агенты побеждать профессиональных игроков в FPS? Если да, то когда?
Рискуя показаться безумным мечтателем, я, все же, предположу, что можно ожидать от ИИ-агентов победы над живыми игроками в ограниченном соревновательном игровом режиме, с небольшими картами, сосредоточенными на цели командами и ясными задачами примерно через пару лет. Но у нас в SEED нет непременной цели создать ИИ, побеждающий живых игроков. Наша задача - помочь создавать новый игровой опыт, который сделает игры лучше и интереснее. В том, чтобы раз за разом поигрывать ИИ, который лучше тебя, интереса для игроков мало.
______________________
SEED - команда в EA Worldwide Studios, работающая на стыке наук. Ее задача - исследовать, строить и помогать определять будущее интерактивных развлечений. Чтобы больше узнать про SEED, зайдите на страницу https://www.ea.com/seed.
Будьте в курсе новостей EA: читайте наш блог, подпишитесь на нас в Twitter и Instagram, поставьте нам «Нравится» в Facebook.