LINUX.ORG.RU
ФорумTalks

Doom(1993) «портировали» на нейросеть

 ,


0

0

Мы представляем GameNGen , первый игровой движок, полностью работающий на нейронной модели, которая обеспечивает взаимодействие в реальном времени со сложной средой по длинным траекториям с высоким качеством. GameNGen может интерактивно моделировать классическую игру DOOM со скоростью более 20 кадров в секунду на одном TPU. Прогнозирование следующего кадра достигает PSNR 29,4, что сопоставимо со сжатием JPEG с потерями. Оценщики-люди лишь немного лучше случайного различения коротких клипов игры от клипов симуляции. GameNGen обучается в два этапа: (1) RL-агент учится играть в игру, и сеансы обучения записываются, и (2) диффузионная модель обучается для создания следующего кадра, обусловленного последовательностью прошлых кадров и действий. Дополнения к условиям обеспечивают стабильную авторегрессивную генерацию по длинным траекториям.

источник - https://gamengen.github.io/

видео как это выглядит - https://gamengen.github.io/static/videos/e1m1_t.mp4

То есть если кратко, то это генерация игры в Doom в реальном времени с помощью нейросети. Нейросеть анализирует нажатия клавиш пользователя и генерирует игровой процесс.

★★★★★

Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)

Щас Маск встроит это нам в мозг и наконец-то здравствуй, Матрица.

thesis ★★★★★
()

Глубина-глубина, я не твой

DumLemming ★★★
()
Ответ на: комментарий от Syncro

и внезапная фигня из неоткуда

Сеть помнит только последние 3 секунды. Чтобы как-то компенсировать это - подглядывает с собственный вывод, напоминая себе сколько здоровья, патронов, куда взгляд направлен и т.д. Но то, что за границами экрана вылетает из памяти.

Получается такой интерактивный сон о doom. В том углу бутылочка то ли была, то ли нет. Вот эту бочку игрок расстрелял, а может уже не нет.

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

Однако, потенциал для использования есть. Эта штука позволит создать что-то вроде брейнданса из киберпанка. Т.е. имя горку фиксированных записей с какого-то места, можно будет создать «воображаемое» окружение, где можно будет свободно перемещаться и изучать место с любого ракурса.

atrus ★★★★★
()
Ответ на: комментарий от atrus

это какой-то ворп, вероятно он затачивается, чтобы бесконечно демонстрировать порно-сцены или хоррор. Там как раз неожиданные повороты повышают ценность.

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)

Т.е. чтобы сделать новую игру на этой байде, нужно сначала сделать оригинал. Феноменальное ненужно.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от BceM_IIpuBeT

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

vbcnthfkmnth123 ★★★★★
() автор топика

Это крута! Это как представлять игру у себя в голове.

Aber ★★★★★
()

Запустила нейросеть DOOM, а думгай ее как главного босса и уничтожил…

keir ★★
()

Это ж осталось сгалюцинировать поведение всей ОС и можно можно вообще больше ничего не программировать - вместо того чтобы писать программы достаточно будет только придумать название приложения которое нейронка сама додумает в нужное поведение.

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Это работает не так. Нейросеть может сделать только то чему её научили. То есть чтобы сделать такую «программу» надо иметь на руках нормальную программу и обучить нейросеть на ней.

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от atrus

Сеть помнит только последние 3 секунды

Они использовали latent diffusion архитектуру, это рисовалка как Кандинский и тд, которая «помнит» 3 секунды назад, что для таких сетей очень очень много.

Я приятно удивлён что они смогли ужать 3 секунды тензоров 4го порядка в латентное пространство энкодера, это прям плотненько, а учитывая что это работает на одном TPU - это прям перспективная разработка. Жаль что они не описывают детали примененных алгоритмов, только в общих чертах.

Obezyan
()
Ответ на: комментарий от vbcnthfkmnth123

Ну как же? Они же умеют и картинки по произвольному описанию рисовать, а текстовые модели легко сочиняют значения произвольных несуществующих слов и с лëгкостью пересказывают «басни Крылова» по произвольному названию. Что ей мешает и поведение приложения по названию сочинить?

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Они же умеют и картинки по произвольному описанию рисовать

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

а текстовые модели легко сочиняют значения произвольных несуществующих слов

Это галлюцинации. Нейросеть не может не выдать ответа, поэтому она выдет рандомный ответ.

лëгкостью пересказывают «басни Крылова» по произвольному названию

Они пересказывают басни Крылова потому что это было в их обучающем материале, Это бы этого там не было, то они бы не смогли бы это написать, начали бы бред выдумывать.

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

Ну вот смотрите:

Перескажи басню Крылова «линуксоид и мартини».

Пересказ басни «Линуксоид и Мартини»

В басне Ивана Крылова «Линуксоид и Мартини» рассказывается о двух персонажах: Линуксоиде, который представляет собой образ человека, стремящегося к знаниям и новым технологиям, и Мартини, символизирующем традиции и устоявшиеся взгляды. Сюжет начинается с того, что Линуксоид, увлеченный новыми идеями и инновациями, пытается убедить Мартини в необходимости изменений и адаптации к современным условиям. Он говорит о преимуществах новых технологий и о том, как они могут улучшить жизнь. Однако Мартини, придерживаясь своих традиционных взглядов, скептически относится к новшествам. Он считает, что старые методы проверены временем и не нуждаются в изменениях. В результате между ними возникает спор, в котором каждый отстаивает свою точку зрения.

Мораль басни заключается в том, что важно находить баланс между традициями и новыми идеями. Излишний консерватизм может привести к stagnation, в то время как слепое следование новым веяниям может обернуться неудачами. Крылов подчеркивает, что разумный подход к изменениям может принести пользу и улучшить жизнь. Таким образом, басня «Линуксоид и Мартини» учит нас ценить как традиции, так и инновации, находя гармонию между ними.

Ну разве это не прекрасно? Ну и где это было в обучающей выборке? И разве это совсем уж бред? По-моему очень даже прекрасный сюжет вышел.

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Это просто сгенерированный текст. Вот например что у меня выдало

Once upon a time, there was a Linusoid named Linux. Linux was a proud and powerful operating system, but he had one flaw - he loved martinis too much. Every day, after he finished his tasks, he would sit in his folder named «/home/linux» and drink a large martini. One day, after finishing his martini, Linux felt a strange sensation. He looked at his screen and noticed that everything was moving slowly. He couldn't interact with his computer like he used to. Linux panicked. He thought he had a virus or some other malware. He tried rebooting, but it only made things worse. His system crashed, and when it restarted, Linux found himself in a completely different environment. Instead of his usual interface, he was in a new world - the world of MartiniLand. MartiniLand was a magical land where all kinds of alcoholic beverages lived in harmony. The trees were made of wine barrels, the birds sang with the sound of champagne corks popping, and the wind smelled like the finest cognac. In the center of MartiniLand, there was a grand palace made of martini glasses. It was ruled by a powerful spirit named Martini. Martini was the embodiment of all the martinis ever created. He had control over the world of MartiniLand and could grant wishes to anyone who came before him. When Linux met Martini, he was initially confused and scared. But Martini saw something in Linux that none of the other guests had. He saw Linux's true nature - his love for martinis. Martini decided to test Linux by giving him a quest. He told Linux to find the «Perfect Martini,» a rare and powerful martini that could give its drinker any desire they wished for. Linux set out on his journey, exploring all corners of MartiniLand. He met many interesting characters along the way, some who offered him help, while others tried to hinder his progress. But Linux was determined to find the Perfect Martini and return to his home in the computer. After weeks of searching, Linux finally found the Perfect Martini. It was in the highest tower of a castle guarded by a dragon. Linux bravely confronted the dragon and managed to take the Perfect Martini from its claws. When Linux drank the Perfect Martini, he felt a rush of euphoria and power. He was able to control MartiniLand and its inhabitants with a single thought. But instead of using his newfound power for selfish reasons, Linux decided to use it to make MartiniLand an even better place. He fixed the slow movement issue in his original world, so he could still interact with his computer without any problems. But he decided to stay in MartiniLand as well. Linux and Martini became great friends, and they ruled over MartiniLand together, ensuring that the world of alcoholic beverages remained a place of harmony and joy. Linux had learned a valuable lesson from his adventure - it's not always about fulfilling your desires, but sometimes it's better to find a balance between your wants and your responsibilities.

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

Ну а в случае генерации поведения ОС то будет «просто сгенерированное поведение приложения».

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

просто сгенерированное поведение приложения

Нейросеть не понимает что это такое без обучения и будет каждый раз выдаваться рандомная чушь.

Если вы не понимаете про что я говорю, то можете своими руками пощупать, думаю так нагляднее будет. Я выкладывал несколько скринов с нейросетями, там есть и инструкции как с этим работать. Можно легко найти в разделе галерея по тегу «Нейронные Сети».

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Ну вы думаете есть какая-то проблема заменить этот рандом на псевдо-рандом, чтобы одно и тоже название генерировалось каждый раз в одно и тоже приложение? Или в чëм проблема?

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

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

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

Проблема в том что полученный результат будет полным бредом.

Бред, не бред, мне просто интересно само по себе теоретическое сопоставление произвольного идентификатора с законченным приложением. Совсем не обязательно чтобы любой идентификатор приводил к генерации полезного безглючного приложения.

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

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Бред, не бред, мне просто интересно само по себе теоретическое сопоставление произвольного идентификатора с законченным приложением

В теории это должно выглядеть как несогласованный бред, потому что само по себе такое «приложение» это по сути генерация видео на основе обучающих материалов работы с настоящим приложением в реальном времени. Соответсвенно если вы не даете обучающего материала, то ничего нормального выдать оно и не сможет.

vbcnthfkmnth123 ★★★★★
() автор топика
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от unDEFER

Они же умеют и картинки по произвольному описанию рисовать

Нет, ты знаешь что они делают, но не совсем понимаешь как и что на самом деле они делают. Внешность обманчива. Надо наверное статью написать где на пальцах рассказать что там происходит на самом деле.

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

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

Соответсвенно если вы не даете обучающего материала, то ничего нормального выдать оно и не сможет.

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

Для запуска таких сетей нужно от 8шт Nvidia A100 что не оч доступно.

Второй подход заключается в увеличении длины контекста без увеличения весов.

Такие сети хороши в какой-то определённой области, например, Mathstral - сеть с всего лишь 8млрд весов, но 32К контекстом вполне сносно знает математику (тестил локально).

Obezyan
()
Ответ на: комментарий от Obezyan

Не совсем так,

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

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от vbcnthfkmnth123

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

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)

Какодемоны небось шестипалые.

Psilocybe ★★★★★
()

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

Tigger ★★★★★
()
Ответ на: комментарий от Tigger

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

Уже есть генерация текстур по текстовому описанию и генерация 3d моделей (плохенькая). Также есть сети апскейлеры, которые перерисовывают изображение в 2-4 раза больше.

А для генерации «подобных» текстур достаточно обучить LoRA сеть скормив ей 20-30 изображений. Достаточно 10-20 эпох обучения.

Obezyan
()
Ответ на: комментарий от Obezyan

Совершенно праздное любопытство, на самом деле: что за личность скрывается за аватаркой.. но не в смысле имени-фамилии, а в смысле специальности что ли..

Ну, например, разработчик или пользователь нейросети?

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

что за личность скрывается за аватаркой

Системный архитектор, 20+ лет опыта в ИТ и комплексной автоматизации предприятий, могу писать код и управлять командой разработчиков примерно на 20 ЯП, сейчас в основном пишу примерно на 4-5 языках а-ля вебмакака: PHP, JS, Python, Go.

Когда-то дорос от программиста до тех дира, но понял что эта стезя не моё и ушёл работать на себя, о чем не пожалел. ИП, работаю над зарубежными проектами напрямую, без галер. Основная сфера - eCommerce.

Ну, например, разработчик или пользователь нейросети?

По нейронкам - это хобби переросшее в ещё одну часть работы, первую сеть сделал лет 10 назад, ещё на FANN. Современные архитектуры создаю, дообучаю, делаю пайплайны как для одиночных сетей так и их ансамблей, в основном на python или на go если нужна dll/so.

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

То есть чтобы сделать такую «программу» надо иметь на руках нормальную программу и обучить нейросеть на ней.

Не обязательно. Можно иметь созданный в Blender видеоряд игрового процесса несуществующей игры.

atrus ★★★★★
()
Ответ на: комментарий от atrus

а что в популярной нынче project zomboid уже пофиксили монстров которые появляются в зачищенной локации из-за угла откуда ты только что вышел? Вроде нет.

peregrine ★★★★★
()

Очень круто. А что там с внедрением LLM в игры? Появилось что-то интересное?

goingUp ★★★★★
()
Ответ на: комментарий от quwy

Это что за галлюцинации шизофреника?

То, что оно как-то работает без игрового движка уже впечатляет и пугает.

goingUp ★★★★★
()

Какой з*дец. Там же 90% времени галюны, начиная от углов стен и заканчивая текстурами.

PPP328 ★★★★★
()
Ответ на: комментарий от Tigger

Мы и так видим старые игры в текстурах высокого разрешения.

BceM_IIpuBeT ★★☆☆☆
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)