На Хабре не раз и не два писали об искусственном интеллекте, который превосходит человека в разных настольных и компьютерных играх. Но это специально обученные агенты, которые специализируются на какой-то конкретной игре. А можно ли разработать систему, способную взаимодействовать с трёхмерным окружением любой игры без длительной предварительной подготовки? Корпорация Google считает, что да, и подтвердила свои слова делом. Она создала агента, способного на это. Какие возможности у новой разработки?

Команда Google DeepMind и её новый проект

Представители DeepMind создали агента SIMA, это аббревиатура от четырёх слов: Scalable, Instructable, Multiworld Agent. Он не обучен именно побеждать, но может понимать происходящее на экране и распознавать естественный язык. При этом агент способен неплохо ориентироваться в самых разных играх.

На данный момент проект находится на стадии proof of concept, считать его завершённым нельзя. Но результаты обнадёживают и позволяют говорить о том, что довести новый продукт до уровня обычного геймера возможно, хотя бы и не сейчас, а в будущем. В целом, цель «догнать и перегнать» человека не стоит, скорее, исследователи хотят предоставить основу для создания ИИ-платформ разного уровня. Люди смогут взаимодействовать с ними в различных сферах, не только игровой.

Вот что говорят авторы проекта:

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

По словам тех же разработчиков, трёхмерная игра — одна из лучших сред для обучения ИИ. Команда выбрала девять игр, которые позволяют обеспечить открытое взаимодействие с миром и где в то же время нет чрезмерного уровня насилия. Зато есть исследования космического пространства, изучение игрового мира и просто возможность делать что хочешь. Google работала с восемью девелоперами игр, включая Hello Games, Embracer, Tuxedo Labs, Coffee Stain и др., для обучения и тестирования SIMA в играх вроде No Man's Sky, Teardown, Valheim и Goat Simulator 3.

Агенту не предоставлялся доступ к внутренней «кухне» игры или даже к API. Нет, вместо этого система принимает данные с экрана, а управляет своими действиями клавиатурой и мышкой — всё то, что и человек за последние 50 лет развития игрового мира. Более того, агент работает в режиме реального времени, без сотен тысяч и миллионов часов обучения, как в других случаях.

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

Для первичного минимального обучения SIMA использует видео прохождения игр человеком, сопровождающиеся описанием того, что происходит в отснятом материале. Ролики показывают действия, которые можно выполнить в течение 10 секунд. Также агент интегрируется с предварительно обученными моделями, такими как SPARC и Phenaki, что позволяет избежать необходимости тратить большое количество времени на «понимание» языковых или визуальных данных.

Что получилось в итоге?

Исследователи DeepMind обучили и протестировали систему на 1 500 различных задачах, которые условно можно разделить на девять разных категорий навыков — от движения «идти вперёд» и навигации «вернуться на корабль» до сбора ресурсов «найти малину» и управления объектами «разрезать картошку». Затем эффективность модели оценивалась как с компьютерной точки зрения, т. е. выполнена задача или нет, так и с точки зрения человека — обычного пользователя просили посмотреть видео игрового процесса агента и сказать, добилась ли SIMA успеха.

SIMA удалось найти общие черты в разных играх. Например, двигаться вперёд обычно можно путём зажатия клавиши W. Кроме того, неплохо ориентируется модель и в инструкциях, которые даются при помощи текста и голоса. Пример — «запрыгнуть на что-то», это может быть машина в одной игре или ящик в другой.

В ходе тестирования агент оказывался способен выполнять некоторые базовые задачи — например, подойти к космическому кораблю, даже тогда, когда целевого объекта не было видно. Но успех всё же отличается в зависимости от команды. Так, модель показала 75%-ный успех при решении задач по вождению автомобиля против 40%-ного успеха выполнения задач по ходьбе.

Тем не менее результат и так хороший, во всяком случае, SIMA превзошёл во всех девяти играх агентов, которые были обучены для конкретных тайтлов. Соответственно, он показал более широкие универсальные возможности.

Работы ещё много

Да, не стоит считать, что успехи, о которых говорят исследователи, это свидетельство того, что SIMA может пройти любую игру или хотя бы отдельный эпизод, как это делает человек. Пока что речь идёт лишь о некоторых командах и действиях. Так, в No Man's Sky модель преуспела только в 34% протестированных задач по сравнению с 60% для человека. Правда, и задачи ставились сложные, что агенту, что человеку, это и объясняет низкий процент успеха даже для последнего.

Большинство проблем связано с тем, что агент не всегда понимает, как можно достичь успеха. Например, SIMA в курсе, что такое «срубить дерево», но как нацелиться на определённое растение, указанное пользователем, пока неясно. Кроме того, можно привести ещё один пример. Это стрельба по врагам. Агент успешно использует оружие для поражения цели, но как только та пропадает с экрана (например, NPC заходит за спину персонажу), SIMA сразу забывает о том, что требуется сделать. Человек же прекрасно осознаёт, что врага нужно преследовать, что называется, до победного конца. Или же верх одержит компьютерный противник, а не геймер-человек.

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