你沒有聽錯!
一提到游戲引擎,你肯定會聯想到虛幻5(不自主地再提一次《黑神話:悟空》),Unity,Cocos,但你會想到用來生成圖像的擴散模型也被認為是一種游戲引擎嗎?
昨晚,谷歌DeepMind發布了一款GameNGen的神經模型,給出的生成效果,讓人們驚呼:世界模型要來了!
據介紹,GameNGen,是首個完全由神經模型驅動的游戲引擎,它能夠在長軌跡中以高質量實現與復雜環境的實時交互。
厲害之處在于,僅僅在單個TPU上,GameNGen就能以每秒超過20幀的速度對經典游戲《毀滅戰士》(DOOM)進行交互式模擬。畫面沉浸感十足!
下一幀預測實現了29.4的峰值信噪比(PSNR),與有損JPEG壓縮相當。在區分游戲短片段與模擬短片段時,人類評分者的表現僅略優于隨機猜測。
馬斯克聽說后,也來迅速圍觀,果斷表示支持:特斯拉也可以利用real world video來做類似的事情。
一個名為“PRIMEX ”賬號生成所有帖子都是AI制作的,并由Gork提供支持。緊接著就回復道:
Tesla FSD已經在現實世界的模擬中運行,而且比Doom更準確,幀率更高。
甚至有網友直接幫馬斯克的Grok出主意:Grok要是可以模擬暗黑破壞神并創造無限世界時,這就很瘋狂了。
01 這款神經模型驅動的游戲引擎 谷歌如何做到的?來看看DeepMind團隊是怎樣精心設計的。
首先是無法大規模進行人類數據收集的難題,這是他們遇到的第一個挑戰。最后他們訓練了可以自動打游戲的Agent(RL Agent),讓這個Agent去打游戲,并保存其訓練過程中的動作和觀察結果,這樣用來訓練模型的數據解決了。
其次,如何保持前后幀之間的視覺穩定性問題?這一點就不得不提他們做了一個精心的挑選,他們沒有用最新的Stable Diffusion 版本,而是選擇v1.4,并進行了技術處理,使其基于一系列之前的動作和觀察結果(幀)進行條件生成。
此外,為了減輕推理過程中的自回歸漂移,研究者還發現了一個有效的方法:在訓練期間向編碼幀添加高斯噪聲,從而破壞上下文幀,可以讓網絡能夠糾正之前幀中采樣的信息,這對于長時間保持視覺穩定性至關重要。
最后,解決圖像偽影問題。他們最后采用了潛在解碼器微調的方法。Stable Diffusion v1.4的預訓練自編碼器將8x8像素塊壓縮為4個潛在通道,但在預測游戲幀時會產生明顯的偽影問題,影響了小細節,特別是底部欄的HUD問題。
為此,研究團隊使用與目標幀像素計算得出的均方誤差(MSE)損失來訓練潛在自編碼器的解碼器,這樣既利用了預訓練知識,同時也提高了圖像質量。
概括來說,GameNGen訓練比較簡單,分為兩個步驟:(1)一個強化學習(RL)代理學習玩游戲,并記錄訓練過程;(2)訓練一個擴散模型來生成下一幀,該模型基于過去幀序列和動作進行條件生成。條件增強功能可實現長軌跡上的穩定自回歸生成。
02 游戲圈內人士看上頭了一位圈內人士看罷Demo后,認為這個技術太厲害了,不管是在幀之間的“因”、“果”、“順序”方面都大大超出了預期,并盛贊了開放模型的意義,甚至對于云壟斷的谷歌而言也不可或缺。
回到GameNGen,并認為有兩處值得注意:
1)他們通過玩Doom毀滅戰士的Agent獲得了無限的訓練數據,這一點非常有意義;
2)他們在源幀中添加了高斯噪聲并獎勵Agent“糾正”連續幀,并說這對于從模型中獲得長期穩定的“渲染”至關重要。這一點很有趣——模型需要進行錯誤修正/引導它以保持穩定。
當然,他也提到了對于大模型作為渲染引擎的難題:
“這個模型是否容易進行微調以實現“照片真實感”/光線追蹤重塑——我非常好奇”,畢竟懂得如何微調大模型的人很少,如果視為某種Doom的基礎模型,從這個模型中獲得“更漂亮”的渲染得有多難。
當然,也有游戲開發人員,這個新模型的演示存在不少問題,比如模型雖然能夠記住玩家轉身后灰色的墻,這當然很棒,但墻完全改變了位置和方向就有點不合理了。有人反駁:這也會現在盜夢空間題材類的游戲中,因為玩家的任務就是強迫模型生成它,同時又不會在游戲的“夢境”中Over,并表示“我會玩這個游戲玩到零血”。
03 Jim Fan的評價:什么是真正有用的神經模型?數據是關鍵“黑客們喜歡在各種稀奇古怪的地方運行《DOOM》已經成為一種傳統:恒溫器、“智能”烤面包機,甚至自動取款機。現在,他們僅用擴散模型就能運行《DOOM》。每一個像素都是生成的。之前我說過“Sora是一個數據驅動的物理引擎”,其實不完全對,因為Sora無法與之互動。你只能設置初始條件(一個文本或初始幀),然后被動地觀看模擬過程。
上圖:網友在游戲《我的世界》中運用《DOOM》
GameNGen 是一個真正的神經世界模型。它將過去的幀(狀態)和用戶的動作(鍵盤/鼠標)作為輸入,并輸出下一幀。它在《DOOM》中的表現是我見過的最令人印象深刻的。
然而,這也帶來了重大缺陷。讓我們深入探討一下:
1. GameNGen 在單個游戲上極度過擬合,它通過訓練 9 億幀(!!)實現了這一點。這個數字極其龐大,幾乎是訓練 Stable Diffusion v1 數據集的 40%。在這種情況下,它很可能記住了《DOOM》在各種場景下的渲染方式。畢竟,《DOOM》本身的內容并不多。
2. GameNGen 更像是一個被吹捧的 NeRF,而不是一個視頻生成模型。NeRF 利用從不同視角拍攝的場景圖像,重建該場景的 3D 表示。NeRF 的基礎版本沒有泛化能力,也就是說,它無法“想象”出新場景。GameNGen 不像Sora:設計上,它無法合成新游戲或交互機制。
3. 這篇論文的難點不在于擴散模型,而在于數據集。作者首先訓練了強化學習(RL)代理在不同技能水平下玩游戲,并收集了 9 億對(幀,動作)用于訓練。大多數在線視頻數據集并不包含動作信息,這意味著這種方法無法外推。數據始終是動作驅動的世界模型的瓶頸。
4. 我認為游戲世界模型有兩個實際用例:(1)編寫提示詞來創建可玩的世界,這些世界通常需要游戲工作室多年才能制作完成;(2)使用世界模型來訓練更好的具身 AI。兩個用例都無法實現。用例(2)不可行,因為用 GameNGen 訓練代理并沒有比直接使用《DOOM》模擬器更有優勢。如果神經世界模型可以模擬傳統手工制作圖形引擎無法實現的場景,那會更有趣。
什么是真正有用的神經世界模型? @elonmusk 在回復中說過“特斯拉可以用真實世界視頻做類似的事情”。這并不令人意外:Autopilot 團隊可能擁有數萬億對(攝像頭畫面,方向盤動作)。再一次,數據是關鍵!有如此豐富的真實世界數據,完全有可能學習一個涵蓋各種邊緣案例的通用駕駛模擬器,并用它來部署和驗證新的 FSD 構建,而不需要實際的汽車。
GameNGen 仍然是一個非常出色的概念驗證。至少我們現在知道,9 億幀是將高分辨率《DOOM》壓縮到神經網絡中的上限。”
可以看出,GameNGen 讓我們看來了一個新的游戲生成方式,數據不夠就讓AI智能體幫產生數據,效果不夠就挑選合適的方案來提升。“什么是真正有用的神經世界模型”,這一點很有提醒意義。也許很快我們就能看到以擴散模型為游戲引擎的爆款游戲問世了!