Главная » Статьи » Нейросетевой бот для шутеров превзошел игроков-людей

Нейросетевой бот для шутеров превзошел игроков-людей

Electronic Arts / YouTube

Исследователи из компании Electronic Arts предложили новую нейросетевую архитектуру, которую можно использовать для создания обучающихся ботов для шутеров или других игр. Подобно игрокам-людям, разработанный алгоритм может совершать одновременно несколько действий, к примеру, идти вперед, поворачивать и стрелять. Помимо этого на обучение алгоритма тратится меньше времени, чем у аналогов, а его эффективность превзошла даже игрока-человека. Для обучения авторы выбрали гибридный подход, при котором алгоритм сначала частично учится на записях игр людей, а потом постепенно переходит на полностью самостоятельное обучение, сообщается в работе, опубликованной на arXiv.org.

Разработчики все чаще предлагают использовать в качестве ботов в компьютерных играх не набор заранее заданных скриптов, а нейросетевые алгоритмы, способные обучаться и подстраиваться к переменам в тактике игроков. Часто для создания таких ботов используется метод обучения с подкреплением, при котором программа получает от среды награду или оценку своих действий, например, очки прохождения. Пытаясь повторить выгодные действия программа может постепенно выработать оптимальную стратегию.

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

Разработчики компании Electronic Arts под руководством Магнуса Нордина (Magnus Nordin) создали новый нейросетевой алгоритм для 3D-шутеров, решающий эти проблемы. Они модифицировали архитектуру известного алгоритма A3C, обучающегося с подкреплением, таким образом, чтобы он мог выдавать на выходе несколько действий одновременно.

Помимо этого исследователи использовали новую схему обучения. Для этого они решили совместить два метода: обучение с подкреплением и имитационное обучение, при котором нейросеть пытается повторить действия человека. Исследователи применили имитационное обучение для того, чтобы ускорить начальный этап. Таким образом программа сразу видела правильную тактику поведения вместо того, чтобы совершать случайные действия и долго понимать их правильность за счет отклика от среды.

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

Для проверки алгоритма исследователи создали виртуальную среду, в которой игрок (в этом случае нейросетевой бот) бегает с оружием в небольшом городке между зданий. Его задача заключается в том, чтобы найти и удерживать определенную область на карте, отстреливаясь от врагов, управляемых более простым алгоритмом. При этом у игрока ограничены боеприпасы и здоровье, но их можно восстановить, собирая на карте соответствующие ящики.

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

Разработчики сравнили эффективность алгоритма с несколькими другими алгоритмами на основе A3C и игроками-людьми. Его результат оказался намного выше, чем у игрока-человека, который, в свою очередь, получил намного больший результат, чем остальные проверенные алгоритмы. Помимо этого, обучение нового алгоритма также оказалось более эффективным и ему требовалось на это до четырех раз меньше времени, чем другим программам.

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

Недавно разработчики из Google DeepMind представили новый подход для обучения алгоритмов искусственного интеллекта, позволяющий увеличить эффективность этого процесса в десять раз. Разработчики отмечали, что вдохновлялись алгоритмом A3C, как и исследователи из Electronic Arts.

Григорий Копиев