GPT「攻陷」畫師、寫手等行業,遊戲領域也危險了

現在,無論你是不是相關從業人員,你一定已經聽過「ChatGPT」的大名了。作為美國人工智慧研究實驗室 OpenAI 開發的人工智慧模型,ChatGPT 能夠通過人類自然對話方式進行互動,「理解」使用者輸入的文字資訊,並根據使用者的指令完成多種不同的任務,例如自動文字生成、自動問答、自動摘要等。

不僅如此,ChatGPT 還能寫出媲美真人作者的專業文章,用清晰詳細的答案解答使用者提出的問題,甚至還能編寫和調試計算機程序。《紐約時報》稱之為「有史以來向公眾發佈的最強 AI 聊天機器人」。利用 OpenAI 最新放出的 ChatGPT API,程式設計師只需一行程式碼,即可將 AI 嵌入網頁、應用程序中。

而這一切,都有賴於 ChatGPT 背後的大型語言模型——基於轉換器的生成式預訓練模型(Generative Pre-trained Transformer,GPT)。

按照《中國科技術語》副主編,計算語言學家馮志偉教授的說法,「ChatGPT 通過大規模的機器學習,把能獲取到的人類書籍、學術論文、新聞、高質量的各種資訊作為學習內容……從語言大資料中獲取豐富的詞彙、語法和語義知識,是深度學習時代自然語言處理研究的最重要的神經網路模型。」

01

GPT 終於進入遊戲領域了

隨著 ChatGPT 被越來越多的開發者應用,現在它還能用於音樂、繪畫、乃至醫學研究等不同領域。當然,除了這些,遊戲也是開發者們重點關注的一大領域。

近日,來自哥本哈根資訊技術大學(IT University of Copenhagen)的研究者發表了一項新的研究成果,為 ChatGPT 模型在程序化內容生成(Procedural Content Generation,PCG)領域開闢了一個新的方向——利用大型語言模型,將自然語言的描述文字轉換成實際可玩的「超級馬力歐兄弟(Super Mario Bros.)」遊戲關卡。

無獨有偶,幾乎在同一天,紐約大學坦登工程學院(NYU Tandon School of Engineering)的研究人員為了驗證此類語言模型在生成非語言類作品方面的潛力,也發佈了一篇利用大型語言模型自動生成」推箱子「遊戲關卡的論文。

02

GPT 是如何做遊戲的?

哥本哈根資訊技術大學的研究者以 GPT-2 模型為基礎,利用它預測、生成後續文字的能力,將原版」超級馬力歐兄弟「1 代、2 代中的 37 個關卡作為訓練資料「喂」給 AI,訓練出熟悉超級馬力歐遊戲關卡組合特徵的「MarioGPT」AI 模型。

在這個模型中,遊戲關卡中的各類元素都被編碼為不同的字符,每個元素佔據遊戲中的一個方格,而關卡內容以一個方格寬的豎列為單位,從左往右組合成完整的關卡。

遊戲關卡內各類元素的編碼及對應圖示,圖片來源:參考資料[1]

在生成關卡時,研究者先將一個包含頭 50 列內容的「種子」輸入 AI,由 AI 根據給定的「提示詞(Prompt )」,按照現有內容,從左往右逐列生成各類地形。

研究者展示的關卡生成過程,圖片來源:Github

提示詞就是普通英語單詞,描述關卡中敵人、管道、磚塊的數量,以及關卡地形的總體高度差變化水平大小等。

給定的提示詞將影響處理過程中各類元素的權重,進而影響最後出現在關卡中的地形特徵、管道數量、敵人的分佈,最終生成使用者所指定的關卡風格。

不同提示詞下生成的地圖,a. 許多管道、許多敵人、較少方塊,高度差小;b. 較少管道、較少敵人、許多方塊,高度差大;c. 許多管道、一些敵人;d. 沒有管道、沒有敵人、許多方塊。圖片來源:參考資料[1]

最後,為了評估 AI 生成的關卡質量,研究者對生成關卡的準確性和可玩性進行了定量分析。以往用其他深度學習方式生成的關卡,其準確率僅有約 46%,而 MarioGPT 生成內容與輸入的提示詞相符的比例超過 90%。利用第三方AI對關卡可玩性進行評估的結果顯示,88.33% 的關卡都是實際可過關的。

利用研究人員發佈的開源 MarioGPT 程式碼生成的部分關卡。圖片來源:羅澍

為了讓大家實際體驗 MarioGPT 設計關卡的效果,研究者還在網上發佈了一個線上示例,任何人都可以在頁面上直接下命令實時生成關卡,甚至還能試著親手闖關。

研究者發佈的示例頁面截圖

研究者發佈的示例頁面截圖

與之類似,紐約大學坦登工程學院的研究者也將 282 個人類設計的推箱子關卡(Microban)錄入AI的訓練資料,輔以 43.8 萬個利用深度學習製造的 10×10 關卡(Boxoban),讓 AI 生成與訓練資料完全不同,但確實有解的推箱子游戲關卡。

左邊是生成的新關卡,和右邊的訓練資料略有不同,但也有解。圖片來源:參考資料[2]

03

在 AI 介入前

遊戲也有自動生成關卡

對於大部分遊戲玩家來說,「自動生成遊戲內容」「自動生成遊戲關卡」並不是什麼陌生的事情。比如 2016 年推出的一款太空探索遊戲《無人深空》,就是自動生成遊戲內容的最大案例。它使用程序生成演算法,動態生成一個據稱可包括數以億計可探索行星的開放式宇宙。遊戲中的星系、行星及其生態系統、動植物及其行為模式、人造結構,外星派系及其航天飛船等幾乎所有遊戲元素都由程序生成。

但這個生成系統的模式是固定的,不同玩家在離線狀態訪問同一個座標位置的行星時,系統生成的將是各種屬性都相同的行星。此外,許多批評者認為,遊戲中生成的行星雖然外觀貼圖千變萬化,但遊戲性同質化嚴重,內容簡陋,除了貼圖外基本千篇一律。

無人深空遊戲截圖

《無人深空》遊戲截圖

暴雪娛樂 2000 年發售的經典動作角色扮演遊戲《暗黑破壞神 2》,在各個關卡的大部分地區內,地圖場景都是隨機生成的,每次讀檔進遊戲都會生成一套新的迷宮地圖,在保證每個大章節內部野外區域無縫聯通的情況下,儘可能增加了支路和地下城內部場景的多樣性。之後的續作《暗黑破壞神 3》也很好地繼承了這一特性。

暗黑破壞神 2第三幕的部分地圖

《暗黑破壞神 2》第三幕的部分地圖

此外,各種沙盒建造類遊戲,例如《泰拉瑞亞》《我的世界》等,每個新的「世界」存檔,都會根據隨機「種子」生成包含各類元素的完整遊戲世界,等待玩家前去探索。

泰拉瑞亞遊戲截圖

《泰拉瑞亞》遊戲截圖

04

GPT 生成的遊戲場景

有何創新之處?

雖然利用 GPT 模型生成隨機場景的人工智慧模型目前還處於初級階段,但它已經在程序化內容生成方面展現出自己的無限潛力。

首先,以往的遊戲中採用純隨機的方式生成遊戲內容,往往不太合理。如早期的《無人深空》中,生成的生物千奇百怪,但零件拼湊的痕跡相當明顯。而使用 GPT 模型生成內容時,藉助語言模型對上下文的理解和對關聯性的預測能力,可以生成相對合理、符合一定特徵的內容。因此在使用 GPT 生成遊戲內容時,可以更加穩定地輸出合理化的場景、生物。

無人深空遊戲截圖

《無人深空》遊戲截圖

其次,GPT 模型生成場景的豐富度遠超固定隨機演算法。通過將新穎性搜尋(Novelty Search)演算法納入機器學習中,可以有效地讓人工智慧在保證合理性的前提下,儘可能創造出更豐富的變化。

同時,比起只能簡單調整出現比例的隨機演算法,GPT 能讓使用者以自然語言的方式描述所需的結果,直觀快速地讓最終輸出的內容符合使用者的要求。

最後,GPT 模型可以方便地進行微調,以適用於不同的任務。過去使用深度學習生成內容的生成式對抗網路(Generative Adversarial Network,GAN)演算法,在訓練時需要更大量的學習、迭代,同時需要調整神經網路學習過程中的各類底層參數。而如今 GPT 模型僅需要相對少量的訓練資料,就能實現對模型的微調與定製,快速生成任務所需的人工智慧模型。

05

ChatGPT

程序生成遊戲的未來?

以 ChatGPT 為代表的大型語言模型,不但具有強大的處理人類語言資料的能力,還具有高度的通用性,只需經過微調,就能夠勝任許多不同領域的程序化內容生成工作。

不過,在遊戲行業,GPT 是否能夠勝任除了程序生成以外的遊戲,目前還需觀望。我們知道,遊戲作為一種互動、內容的展現形式,其中還夾雜了遊戲設計者的創新和巧思。僅靠 GPT 或許並無法實現一款大型的遊戲設計,但 MarioGPT 的出現,或多或少還是為遊戲行業帶來了新的思路。

我們可以想見,未來不僅在遊戲行業,此類人工智慧未來還有可能推廣到園林景觀設計、城市區域規劃等與每個人生活息息相關的領域,為我們的生活增光添彩。

參考資料:

[1] https://doi.org/10.48550/arXiv.2302.05981

[2] https://doi.org/10.48550/arXiv.2302.05817

[3] https://www.linkresearcher.com/theses/992e7524-7a45-4f87-8454-f809f307c011

[4] https://mp.weixin.qq.com/s/RCLuUThxw3_4Y_OL9L8Xdg

[5] https://zh.wikipedia.org/wiki/GPT-3

[6] https://zhuanlan.zhihu.com/p/350017443

[7] https://zhuanlan.zhihu.com/p/399295895

[8] https://github.com/shyamsn97/mario-gpt

[9] https://huggingface.co/spaces/multimodalart/mariogpt

[10] https://www.zhihu.com/question/35430956