Doom на движке из нейросетки
Aug. 29th, 2024 11:38 pmПарни из лабораторий «Google DeepMind» в сотрудничестве с университетом Тель-Авива представили кое-что весьма забавное и интересное: «игровой движок» GameNGen, полностью построенный на виртуальной нейросети. И запустили на нем старый добрый «Doom» на 20 FPS.
Самое же интересное здесь то, что на самом деле никакой игры тут нет. Обученная на визуальном ряде «Doom» нейросеть реагирует на нажатия клавиш игроком, генерируя кадры, которые, как она считает, наилучшим образом соответствуют вводимому действию. Например, если игрок нажимает «вперед» — нейросеть сверяется со своей базой данных о том, какие изменения происходят на экране от этого действия, и генерирует соответствующие кадры. Если игрок нажимает «огонь», нейросеть, соответственно, начинает генерировать кадры стрельбы из оружия, поражения монстров и т.д.
Сделано это было следующим образом:

* Для начала, команда исследователей создала базу исходных данных. Поскольку требуемое количество часов игры было невозможно набрать «естественным» путем, они создали небольшого виртуального агента (по принципу обучения с подкреплением), который накручивал необходимые сотни и тысячи часов игрового времени.
* На следующем этапе, исследователи взяли небольшую нейросеть Stable Diffusion v1.4, и на ее основе создали диффузионную модель. Которая, обучаясь на предоставленной базе данных, училась сопоставлять нажатия клавиш игроком с изменением картинки на экране. Еще раз подчеркиваю; программа не имела ни малейшего представления, что имеет дело с игрой. Она обучалась только и исключительно последовательно генерировать кадры в зависимости от того, как действия (нажатия клавиш) меняют происходящее на экране.
* Обученную нейросеть доработали для максимальной точности воспроизведения игровых кадров, дополнительно обучив ее на сопоставлении сгенерированных ею кадров с игровыми. В результате, показатель пикового отношения сигнал/шум при прогнозировании каждого следующего кадра достигал 29,4 (авторы проекта использовали аналогию «как если бы кадр Doom сжимали в формат JPEG с соответствующей потерей качества»).

И в результате получился «движок», который при полном отсутствии самой игры, чрезвычайно достоверно ее симулирует. Эксперименты показали, что люди практически не способны отличить «реальный» Doom от симуляции. Десять испытуемых, которым предложили короткие (1,5-3 секунды) ролики «реальной» игры и симуляции GameNGen, в среднем могли угадать какой «реальный» а какой нет, лишь немногим более чем в половине случаев (58-60%, что близко к случайному распределению).
Разумеется, пока что возможности GameNGen сильно ограничены. Запаса «памяти» искусственного интеллекта хватает лишь на несколько секунд интерактивного процесса — то есть если игрок решит пойти в обратном направлении, программа уже «забудет» как выглядели посещенные им комнаты, и сгенерирует совершенно новые. И чем дольше идет игра, тем больше накапливается артефактов и «дрейфа». Да и качество генераций оставляет подчас желать лучшего:

И тем не менее — это один из первых шагов в очень интересном направлении. Многие аналитики считают, что уже в обозримом будущем настанет время, когда игровые модели и игровой процесс будут не столько программироваться, сколько генерироваться, используя текстовые промты и визуальные образцы (фотографии, 3D модели, видео) как основу для дальнейшей работы искусственных интеллектов. Что может привести к настоящей революции в отрасли, сделав графические решения и процессы на уровне игр ААА-класса доступными и дешевыми в производстве.
Интригует, не так ли?

no subject
Date: 2024-08-29 08:45 pm (UTC)Было в «Гиперионе» Дэна Симмонса. Там у земных ВКС был тактический симулятор, построенный на таком принципе
no subject
Date: 2024-08-29 09:02 pm (UTC)no subject
Date: 2024-08-29 09:18 pm (UTC)> Интригует, не так ли?
Нет, конечно. Видеомагнитофон на технологиях 21 века.
no subject
Date: 2024-08-29 09:20 pm (UTC)no subject
Date: 2024-08-29 09:38 pm (UTC)Нужно еще отметить, что это чисто исследовательская работа, использующая устаревшие версии нейросетей и ограниченные вычислительные ресурсы. Если бы им дали те ресурсы и технологии, которые сейчас использует OpenAI для тренировки Sora и GPT-5, то результат уже сегодня отличался бы в разы по качеству.
no subject
Date: 2024-08-29 09:45 pm (UTC)Интригует, но не так вам думается
"Это что же, и в магазине можно вот так стенку приподнять?"(с)
Чувствуете как теперь можно освоить бюджет какого-нибудь еще вчера простого тренажера или симулятора?
no subject
Date: 2024-08-29 09:46 pm (UTC)Кругом измена, трусость и обман
no subject
Date: 2024-08-29 10:55 pm (UTC)Не взлетит, только как вспомогательный элемент только.
Не хватает мощностей для симуляции разума.
Так что ждем квантовых компьютеров.
-----------------
P.S. а про искусственный интеллект с 70-х истории рассказывают, что вот вот, буквально через год, но не выходит каменный цветок.
no subject
Date: 2024-08-29 11:11 pm (UTC)Будьте вы прокляты за рекламу длиннее ролика.
no subject
Date: 2024-08-30 12:46 am (UTC)которым предложили короткие (1,5-3 секунды) ролики «реальной» игры и симуляции
А если ролик сократить до 0.5 секунды!...
no subject
Date: 2024-08-30 01:47 am (UTC)на ютубе много лонгплэев, которые делает тренированный ИИ, собственно "не иметь представления о том, что это игра" получается давно и стабильно :-) в том и проблема, что алгоритму по барабану, что генерировать на основе базы знаний.
no subject
Date: 2024-08-30 01:49 am (UTC)Интриги интригуют, Но забавная часть весьма интересна )
no subject
Date: 2024-08-30 01:56 am (UTC)no subject
Date: 2024-08-30 02:12 am (UTC)И такое есть уже. Закидываешь в ИИ формулу-пример, на выходе получаешь некий расчет и результат. Правильность — не знаю. Таблицу умножения знает, всякие логарифмы проверять влом.
no subject
Date: 2024-08-30 02:15 am (UTC)"Запаса «памяти» искусственного интеллекта хватает лишь на несколько секунд интерактивного процесса — то есть если игрок решит пойти в обратном направлении, программа уже «забудет» как выглядели посещенные им комнаты, и сгенерирует совершенно новые."
Сказать что это не баг, а фича. Персонаж попадает в адский пластично-изменяющийся мир, где нет ничего постоянного. Помните, в "Обмене разумов" было понятие искаженного мира?
no subject
Date: 2024-08-30 03:23 am (UTC)no subject
Date: 2024-08-30 03:28 am (UTC)no subject
Date: 2024-08-30 03:44 am (UTC)no subject
Date: 2024-08-30 04:24 am (UTC)На видеомагнитофоне можно было играть в Doom? Фантастика)
Вы, похоже, не поняли о чем речь. Нейросеть не рисовала статичный мультик по Думу. Нейросеть РЕАГИРОВАЛА на действия игрока — предсказывала эффект от нажатия клавиш и отрисовывала его.
no subject
Date: 2024-08-30 04:27 am (UTC)Дык прогресс на месте не стоит!
no subject
Date: 2024-08-30 04:41 am (UTC)Практически никак не будет и не оправдано.
no subject
Date: 2024-08-30 04:42 am (UTC)Так отключите рекламу.
no subject
Date: 2024-08-30 05:08 am (UTC)Перефразирую — это не просто ролики про дум, сохранившиеся из 90. Это команда игроков записывала эти ролики сейчас, синхронизируя клавиатурные логи и видеоряд. Что как бы мягко говоря невозможно без реальной игры.
То есть варианты типа "запихать туда видеохронику второй мировой и построить суперреалистичный симулятор солдата вермахта" не получится, потому что даже если есть видеоряд, нет "логов нажатия кнопок".
no subject
Date: 2024-08-30 05:10 am (UTC)no subject
Date: 2024-08-30 05:31 am (UTC)Давайте я так скажу — представьте что это не дум, а виндовс. У вас есть некий сгенеренный нейросетью экран винды, который как-то реагирует на нажатия кнопок и движения мыши, открывает какие-то сгенерированные документы, ролики, окошки с почтой, еще что-то, но все это просто сгенерировано. Что вы с этим будете делать дальше. Так и тут — в это невозможно (ну или неинтересно) играть дольше 10 минут.
Проблема с нейросетями очевидна — вот предположим у вас есть проект, некая цель, скажем автопилот для автомобилей. Ее можно решить традиционно, это заняло бы много лет, кучу тестов, тысячи правок кода — но в итоге, потратив много лет и денег, вы бы получили работоспособную версию с поддающимся правкам исходным кодом, которую будете допиливить уже на серийных моделях. Того же самого можно добиться с помощью нейросети за условные недели, я не утрирую — то есть за недели вы получите примерно тот же (с пользовательской точки зрения) результат, как за годы олдскульного кодирования. Вот в чем "восторг".
Вот только этот результат не поддается правке, нет "исходного кода". Его можно только выкинуть и переобучить заново. В случае картинок с сиськами или чат-ботов это не проблема, даже прикольно — но дальше-то что? Реально хотите такое же в операционной?
Инвесторы же, ну или люди типа вас, привыкшие в старым методам разработки, видят результат трех недель обучения и охреневают — вау, это же почти полностью решенная задача. Остались мелочи, давайте мы дадим вам кучу денег и еще три недели, и вы точно получите готовый продукт.
Помните, как все были воодушевлены нейросетевым автопилотом теслы? Как говорили "еще полгода и всех таксистов придется переучивать". Все тогда еще хором считали что единственный нерешенный вопрос — кто будет отвечать в суде, не тащить же туда нейросеть. Остальные проблемы уже решены, уже все внедряется. Напомнить, когда то было? В 2014. С тех пор воз не просто и ныне там, все стало хуже — страны одна за другой принимают законы, пусть и не запрещающие автопилотирования напрямую, но требующие все время держать руль и быть готовым ежесекундно перехватить управление, плюс ставить доказывающие это камеры в салон — то есть проще вообще не использовать. И надо понимать, что тут топчется не только тесла — буквально _каждый_ автогигант и почти _каждый_ софтовый гигант до сих пор гоняет эти машинки и пытается "дообучить". Вот в районе Технопарка в Москве все еще катаются такие машинки от Яндекса, видел на этой неделе. Ребятки не сдаются. Хотя за 10 лет при таком внимании к теме можно было бы уже написать автопилот алгоритмически.
Вывод — увлечение нейросетями остановило развитие _действительно перспективных_ автопилотов для легковых машин как минимум на 10 лет.