魚羊 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
對超級馬里奧的關卡太熟悉,想玩點刺激的?
現在,漢諾威大學的研究人員推出了一個新的GAN,能夠生成船新、可玩的超級馬里奧關卡。
畫風完美統一,難點出其不意:
並且,僅需要一個示例,就可以進行訓練。
比起我這樣的馬里奧亂造家,看上去有邏輯多了。
並且,他們已經把代碼開源啦。
GAN版馬里奧創作家
在《超級馬里奧製造2》這款遊戲裏,玩家可以組合不同的關卡零件,憑藉自己的靈感創作超級馬里奧關卡。
事實上,這隻名為TOAD-GAN的AI生成關卡的邏輯也與之類似。
TOAD-GAN是基於SinGAN架構的擴展,能夠生成基於token的超級馬里奧關卡。
所謂token長這樣:
通過使用級聯的生成器和判別器,SinGAN可以僅憑單一圖像,訓練生成模型。
基於這個架構,在訓練中,一個關卡被採樣為N個不同的尺寸。
N的選擇標準,是生成器和判別器中卷積濾波器的感受野能夠覆蓋最小尺寸下關卡高度的至少一半。
這樣一來,既可以確保關卡中較大的結構被正確建模,也能保障其全局位置的變化。
在空間下采樣的過程中,一些小但重要的結構可能會丟失。為此,研究人員提出了一種保留重要token的下采樣方法。
具體步驟如下:
首先,在單樣本編碼的訓練關卡上,使用雙線性下采樣來創建所選尺寸的基礎關卡。
針對每個尺寸中的每個像素,選擇值大於0的token。並從該列表中,保留層次結構中等級最高的token,將其餘token設置為0。
然後,在每個像素的所有通道上應用Softmax。
接着,還需要對較小尺寸的輸出進行雙線性上採樣。
這樣,TOAD-GAN就可以通過將預定義輸入注入到生成器級聯中,來執行關卡編寫。
研究人員表示,這種應用對於程序內容生成而言十分有趣,因為給定token,設計者只需指定參考關卡或佈局,生成器就會自動創建其變體,對數據量的要求並不高。
實驗結果
研究人員對TOAD-GAN生成的結果進行了定性對比。
可以看出,與超級馬里奧的原生關卡相比,TOAD-GAN生成的關卡在保留了風格的基礎上,產生了不同的元素組合方式。
與此前的其他方法不同的是,TOAD-GAN是一個生成器對應一個關卡。這也就避免了不同類型的關卡風格被混合到一起,造成混亂。
並且,也不會因為依賴於小樣本的問題,而導致(p)中出現的重複情況。
所以,TOAD-GAN生產成本的遊戲關卡在視覺效果上,更加令人信服。
研究人員還用Baumgarten等人提出的馬里奧通關AI,驗證了生成關卡的有效性。通關AI能在65%的隨機生成關卡中取勝。在原生關卡中,其勝率是52%。
不只是超級馬里奧
其實,不只是超級馬里奧,研究人員也通過實驗證明,TOAD-GAN可以生成任何基於token的遊戲的關卡,比如超級馬里奧賽車。
TOAD-GAN只用原生賽道樣本進行訓練。
對佈局進行種子化處理,就可以保證賽車軌道的連接性和可玩性,還能讓軌道結構與原始樣本產生明顯的不同。
研究人員還表示,下一步他們還會將遊戲機制揉進生成過程中,並將TOAD-GAN應用於Minecraft這樣的像素遊戲,或具有非線性關卡結構的迷宮遊戲。