【花師小哲】鑒定網(wǎng)絡熱門(?)AI(3)——GPT制作馬里奧關(guān)卡?
又有人拿大語言模型整花活了,這次是GPT幫你生成馬里奧關(guān)卡。

好吧,雖然用的是GPT-2(畢竟也要考慮微調(diào)成本嘛,作者好像就用了一塊顯卡,很可能硬件條件就那樣了),在現(xiàn)在這個階段,GPT-2的參數(shù)量可能都算不上是大模型了(特別是,如果GPT-4真的有一百萬億參數(shù),那真的是降維打擊現(xiàn)在的“大模型”了),但論文這樣說那就這樣吧

1.語言模型制作游戲
有人會說,哎,語言模型怎么生成關(guān)卡啊,特別用的還是只有解碼器的GPT族,它的輸出不都是下一個詞嗎。
別說,還真的可以,如下是整個項目的關(guān)卡生成架構(gòu):

可以看到,其實算法生成的是字符串,然后再直接轉(zhuǎn)化為關(guān)卡。不得不說,想法挺好的。
這也說明語言模型能做的事情比我們想象的多很多(維特根斯坦狂喜)。

2.生成質(zhì)量如何
以下是論文中的部分展示:

據(jù)說生成的關(guān)卡88%都是可以玩的,已經(jīng)很不錯了。不過嘛,由于是大語言模型直接生成關(guān)卡的樣式,有貼圖錯誤是不可避免的:

畢竟,保留了一部分bug才知道底層模型是GPT。關(guān)于MarioGPT的更多演示,我之后可能會出一期視頻(來蹭熱度(bushi))

3.遺傳算法新穎性搜索
為了讓生成的關(guān)卡具有更強的可玩性,作者還使用了新穎性搜索算法,可以看做是遺傳算法的一種改進版本。
這篇專欄之所以出現(xiàn)在鑒定系列中而不是在煉金術(shù)系列中,是因為想再提一嘴遺傳算法。遺傳算法其實之前就有專欄講過:
【花師小哲】遺傳算法PID自整定(2)-遺傳算法介紹與自整定思路
不過這里再說明一下。簡單來說,遺傳算法就是模擬自然界的種群。在自然界中,適應環(huán)境的群體更容易存活并獲得更多的后代,使得后代更適應環(huán)境。于是我們可以定義一個適應性函數(shù),并對當前“種群”進行雜交、變異等操作,最終不斷提高種群質(zhì)量。
但傳統(tǒng)的遺傳算法存在一定的問題,例如適應度函數(shù)是死的、容易陷入局部最優(yōu)等。就像自然界的種群也有可能演化著演化著就進入死胡同了。
那我們?yōu)槭裁床患みM一些呢?自然界的種群不一定總是朝著一個方向演化,有時候開拓新的生態(tài)位可能更有優(yōu)勢。于是,我們可以允許一些更“奇怪”的個體出現(xiàn),這就是新穎性搜索的核心思想。(不一定很準確,畢竟我不是專門搞這方面的,雖然本科確實跟著師兄搞過一段時間)
一般來說,新穎性搜索的速度是比傳統(tǒng)遺傳算法優(yōu)秀的。
遺傳算法是我非常喜歡的算法,相比于神經(jīng)網(wǎng)絡,遺傳算法對我來說是更加有趣的。其實很多傳統(tǒng)AI算法都是很巧妙很有趣的,現(xiàn)在都被神經(jīng)網(wǎng)絡這個黑盒給掩蓋住了。

4.單向自回歸吊打雙向模型?
新穎性搜索的框架如下:

可以看到,除了GPT還出現(xiàn)了BERT(BERT的主要目的是使得整個關(guān)卡更協(xié)調(diào))。不僅是BERT,模型還使用了其他輔助模型,例如BART。
BERT和BART都是雙向語言模型。按理說,雙向語言模型似乎更加復雜,但GPT的單向、自回歸、單純解碼器架構(gòu)在目前看來似乎吃香的多了,有點諷刺的意味。