文 | 心緣
智東西5月22日報導,復古經典遊戲《吃豆人》在人工智慧(AI)的幫助下重生了!
剛剛,英偉達(NVIDIA)發布首個用生成式對抗網絡(GAN)模仿計算機遊戲引擎的新AI模型GameGAN,它能在對遊戲規則一無所知的前提下,通過觀察人類玩家玩吃豆人遊戲,自行領悟遊戲規則,進而設計出新的遊戲關卡。
GAN,這個曾因「換臉」而聞名世界的神經網絡,終於進軍遊戲設計領域。而復現遊戲只是第一步, 這種能力不僅可以被遊戲開發者用來自動生成新的遊戲等級關卡,也可以被AI研究者用來更便捷地開發訓練自主機器人和自動駕駛的模擬器系統。
GameGAN相關研究論文將於6月在國際計算機視覺與模式識別會議(CVPR)上發表。
一、用5萬個回合的吃豆人遊戲訓練
1980年,日本南宮夢(Namco)公司推出轟動全球的經典迷宮追蹤街機遊戲《吃豆人》。後來這家公司在2005年和日本萬代公司合併成萬代南宮夢控股公司(BANDAI NAMCO Holdings)。
曾幾何時,吃豆人遊戲的愛好者們揣著硬幣,跑到最近的遊戲廳裡,伴隨著《吃豆人》的原聲音樂,控制吃豆人在紛繁複雜的迷宮中一邊努力吃到更多的豆豆,一邊避開四種顏色的幽靈。
僅在1981年,美國人就投入了幾十億個25美分硬幣來玩像吃豆人這樣的投幣遊戲,時間長達75000小時。之後數十年間,這款熱門遊戲又出現了個人電腦、遊戲機和手機版本。據不完全統計,20世紀足足有超過10億人玩過《吃豆人》遊戲。
如今,這款被列入世界遊戲名作殿堂的經典遊戲藉助AI技術再度重生。
經過5萬個回合的吃豆人遊戲進行訓練,NVIDIA研究院開發了強大的新AI模型NVIDIA GameGAN,它能在不用遊戲引擎的前提下製作了一個全功能版本的吃豆人經典遊戲。
換句話說,即便不了解遊戲的基本規則,該AI模型也能完美再現這款經典遊戲。
▲玩家玩由GAN製作的《吃豆人》遊戲
「這是第一個使用基於神經網絡模擬遊戲引擎的研究,」NVIDIA研究人員、該項目的主要作者Seung-Wook Kim說,「我們想看看AI是否僅通過觀看遊戲中玩家的行為來學習領悟遊戲環境規則,它也確實做到了。」
訓練GameGAN《吃豆人》遊戲數據由遊戲發行商萬代南宮夢娛樂旗下的研發公司萬代南宮夢研究所提供,來自這家公司的Koichiro Tsutsumi說,看到結果後,他們「相當震撼」,「大家無法相信在沒有遊戲引擎的情況下,AI可以再現經典的吃豆人遊戲引擎。」
他認為:「這項研究為幫助遊戲開發者加速創造新關卡布局、角色甚至遊戲提供了令人興奮的可能性。」
二、設計遊戲新關卡,還能換吃豆人形象
據NVIDIA多倫多研究實驗室主任Sanja Fidler介紹,這個用吃豆人遊戲訓練AI的項目大約從8個月前啟動。
用GameGAN版本來生成吃豆人的遊戲環境,靠得不是傳統的遊戲引擎,而是神經網絡。
藉助萬代南宮夢研究所提供的數據,Seung-Wook Kim及其同事在多倫多的NVIDIA AI研究實驗室中在NVIDIA DGX系統上用《吃豆人》遊戲對神經網絡進行了總計幾百萬幀的訓練,同時加入了AI智能體玩吃豆人遊戲的按鍵軌跡數據。
▲該研究的數據集樣本,訓練數據由如紅色方框所示的部分狀態組成(左:吃豆人,中:吃豆人迷宮,右:VizDoom)
基於GAN的模型學習能創建足以媲美原版遊戲內容的新內容。
無論哪個遊戲,GAN都可以通過從過去的遊戲中提取屏幕錄像和玩家按鍵軌跡來學習它的規則。遊戲開發者可通過將原始關卡的遊戲劇本作為訓練數據,藉助這樣的工具為現有遊戲自動設計新的等級關卡。
▲人類玩家和GameGAN一起玩官方版本《吃豆人》遊戲
GameGAN由兩個相互對抗的神經網絡——一個生成器和一個鑑別器組成,包含動態引擎、渲染引擎和內存這三個主要模塊,所有模塊均為經端到端訓練的神經網絡。
其中動態引擎用於根據玩家行為變化更新當前的狀態,外部內存模塊用於在玩家返回到相同位置時保持場景的長期一致性,渲染引擎根據動態引擎的狀態生成輸出圖像。
▲GameGAN由三個主要模塊組成
當一個AI智能體在玩由GAN生成的遊戲時,GameGAN會對智能體的行為做出反應,實時生成遊戲環境框架。如果經由多種關卡或版本的遊戲劇本訓練,GameGAN甚至可以生成從未見過的遊戲關卡。
AI持續追蹤虛擬世界,記住已經生成的內容,以保持幀與幀之間的視覺一致性。
在視覺SLAM中,檢測循環閉合已經是個挑戰,生成一個完整的迷宮就更困難了。遊戲中既有確定性行為也有隨機性行為,而對隨機性行為進行建模亦是一大難題。
▲左圖為GameGAN正確繪製出迷宮邊界,右圖為沒有正確閉合循環的失敗案例
要保持視覺一致性,模型不僅要記住它在隱藏狀態下生成的每個場景,還需設計一個損失來強化這種長期一致性。
對此,NVIDIA研究人員提出了一種由神經圖靈機(NTM)驅動的外部內存模塊,鼓勵模型構建環境內部映射,使得玩家可以返回到此前訪問過的具有高度視覺一致性的位置。
在《吃豆人》遊戲中,統一的迷宮形狀、豆豆、大力丸這些屬於靜態元素,玩家控制的吃豆人還有四處亂轉的幽靈擇屬於動態元素。
研究人員還引入了一個特定的渲染引擎架構,通過學習生成靜態元素和動態元素分離的場景,以確保長期的視覺一致性。
▲GameGAN如何在VizDoom和《吃豆人》遊戲中將靜態和動態元素分離
GameGAN通過對抗訓練來學習環境動力學,得到暫時一致性的模擬結果。而對於某些需要長期一致性的情況,研究人員提出了時間循環損失來將靜態元素和動態元素分離,以學習記住它所生成的內容。
研究人員分別在《吃豆人》和VizDoom環境中對GameGAN等四種模型進行定量和定性的綜合評估。
如下圖所示,Action-LSTM生成的幀缺少豆豆等細節,World Model在保持時間一致性方面存在困難,有時會出現嚴重的不連續,而GameGAN可以生成一致性模擬。
▲基於相同初始屏幕的不同模型表現
GameGAN可學習簡單和複雜的關鍵性遊戲規則。例如,和原版遊戲一樣,吃豆人不能穿過迷宮牆壁;它需要四處走動吃豆豆,如果吃下一個大力丸,幽靈就會變藍逃竄;當吃豆人從一側離開迷宮,它會被傳送到迷宮的另一側;如果它撞上了幽靈,屏幕就會閃一下,然後遊戲結束。
經訓練的GameGAN模型可以創建各種有趣的靜態環境元素和移動元素。
由於該模型能將靜態背景從移動的角色中分離出來,它可以吃豆人、幽靈的形象換成你最喜歡的表情符號,也可以將遊戲中的迷宮替換成綠籬牆式的迷宮,同時無需修改原始遊戲代碼。
▲GameGAN在《吃豆人》和VizDoom中使用隨機圖像交換背景/前景
遊戲開發者可以使用這一功能嘗試新的角色創意或遊戲主題。
三、不止是遊戲,還能模擬機器人和無人車
自主機器人通常是在模擬器中訓練的,在與現實世界中的物體互動之前,AI可以先在模擬器中學習環境的規則。
對於開發人員來說,創建模擬器是一個耗時的過程,他們必須編寫有關如何與目標交互、光線如何在環境中運作等規則。
模擬器被廣泛用於研發各類自主機器,比如學習如何抓握和移動周圍物體的倉庫機器人、在人行道上運輸食品或藥品的送貨機器人等。
而GameGAN提出了這樣一種可能性:未來有一天,訓練神經網絡將能取代為某個特定任務編寫模擬器的工作。
比方說你在一輛車上安裝了一個攝像頭,它可以記錄道路環境或者司機在做什麼,比如轉動方向盤或者在踩油門。這些數據可以用來訓練一個深度學習模型,這個模型能預測在現實世界中,如果人類駕駛員或自動駕駛汽車發生像猛踩剎車之類的行動後會產生什麼後果。
結語:GameGAN只是AI學習模仿現實規律的第一步
「我們最終將訓練出一個AI,它僅通過觀看視頻和觀察目標在環境中採取的行動,就能學習模仿駕駛規則和物理定律。」NVIDIA多倫多研究實驗室主任Sanja Fidler認為,「GameGAN是朝著這個方向邁出的第一步。」
目前該AI系統還不能重新創造聲音,不過Sanja Fidler說,未來他們或將補充這一能力。
NVIDIA將在今年晚些時候在AI PlayGround上發布其致敬遊戲的AI模型,AI PlayGround是一個可供任何人直接體驗研究演示的線上空間。
NVIDIA內容和技術部門副總裁Rev Lebaredian表示,在不遠的將來,研究團隊將用此方法涉足更多的遊戲。
而隨著AI設計遊戲的能力日臻醇熟,這將為模擬充滿不確定性的真實世界中的目標人物或物體行為提供更高效的編程工具。