Doom на движке из нейросетки
fonzeppelin — 29.08.2024Парни из лабораторий «Google DeepMind» в сотрудничестве с университетом Тель-Авива представили кое-что весьма забавное и интересное: «игровой движок» GameNGen, полностью построенный на виртуальной нейросети. И запустили на нем старый добрый «Doom» на 20 FPS.
Самое же интересное здесь то, что на самом деле никакой игры тут нет. Обученная на визуальном ряде «Doom» нейросеть реагирует на нажатия клавиш игроком, генерируя кадры, которые, как она считает, наилучшим образом соответствуют вводимому действию. Например, если игрок нажимает «вперед» — нейросеть сверяется со своей базой данных о том, какие изменения происходят на экране от этого действия, и генерирует соответствующие кадры. Если игрок нажимает «огонь», нейросеть, соответственно, начинает генерировать кадры стрельбы из оружия, поражения монстров и т.д.
Сделано это было следующим образом:
* Для начала, команда исследователей создала базу исходных данных. Поскольку требуемое количество часов игры было невозможно набрать «естественным» путем, они создали небольшого виртуального агента (по принципу обучения с подкреплением), который накручивал необходимые сотни и тысячи часов игрового времени.
* На следующем этапе, исследователи взяли небольшую нейросеть Stable Diffusion v1.4, и на ее основе создали диффузионную модель. Которая, обучаясь на предоставленной базе данных, училась сопоставлять нажатия клавиш игроком с изменением картинки на экране. Еще раз подчеркиваю; программа не имела ни малейшего представления, что имеет дело с игрой. Она обучалась только и исключительно последовательно генерировать кадры в зависимости от того, как действия (нажатия клавиш) меняют происходящее на экране.
* Обученную нейросеть доработали для максимальной точности воспроизведения игровых кадров, дополнительно обучив ее на сопоставлении сгенерированных ею кадров с игровыми. В результате, показатель пикового отношения сигнал/шум при прогнозировании каждого следующего кадра достигал 29,4 (авторы проекта использовали аналогию «как если бы кадр Doom сжимали в формат JPEG с соответствующей потерей качества»).
И в результате получился «движок», который при полном отсутствии самой игры, чрезвычайно достоверно ее симулирует. Эксперименты показали, что люди практически не способны отличить «реальный» Doom от симуляции. Десять испытуемых, которым предложили короткие (1,5-3 секунды) ролики «реальной» игры и симуляции GameNGen, в среднем могли угадать какой «реальный» а какой нет, лишь немногим более чем в половине случаев (58-60%, что близко к случайному распределению).
Разумеется, пока что возможности GameNGen сильно ограничены. Запаса «памяти» искусственного интеллекта хватает лишь на несколько секунд интерактивного процесса — то есть если игрок решит пойти в обратном направлении, программа уже «забудет» как выглядели посещенные им комнаты, и сгенерирует совершенно новые. И чем дольше идет игра, тем больше накапливается артефактов и «дрейфа». Да и качество генераций оставляет подчас желать лучшего:
И тем не менее — это один из первых шагов в очень интересном направлении. Многие аналитики считают, что уже в обозримом будущем настанет время, когда игровые модели и игровой процесс будут не столько программироваться, сколько генерироваться, используя текстовые промты и визуальные образцы (фотографии, 3D модели, видео) как основу для дальнейшей работы искусственных интеллектов. Что может привести к настоящей революции в отрасли, сделав графические решения и процессы на уровне игр ААА-класса доступными и дешевыми в производстве.
Интригует, не так ли?
|
</> |