用文字生成游戲關卡自己玩是一種什么樣的體驗?
GitHub 今日熱榜項目《GPT 版馬里奧》了解一下~
瞧,你只需在文本框中輸入“多點管道,多點敵人,少點障礙物,elevation 低點”:
點擊“Generate level”,就能獲得自己的馬里奧游戲了:
左邊是玩耍區,按方向鍵和 a、s、d 鍵進行控制就能直接玩,右邊則是根據你的要求生成的整體效果圖。
隨意設置這幾個選項,還能解鎖更多樣式。
比如障礙物少一點的:
又或者是管道少一點、障礙物多一點的:
……
這一波,簡直童年回憶拉滿,媽媽再也不用擔心我無聊了
不得不提的是,以上你看到的這些效果,都是基于 GPT-2 完成的 ——
大語言模型又立功了~
用 GPT2 生成馬里奧關卡
該項目背后的模型名叫 MarioGPT。
它是首個基于文本生成游戲關卡的模型,在 GPT2(distilgpt2)上微調而成,作者來自哥本哈根信息技術大學。
其訓練素材包括《超級馬里奧兄弟》和《超級馬里奧兄弟:失落的關卡》,由視頻游戲關卡語料庫提供。
具體原理如下圖所示:
和 GPT2 一樣,MarioGPT 能夠對下一個 token 序列進行預測。
其中的關卡被表示為字符串,它會經過一個字節對編碼器進行 tokenize。
關卡是被按列進行分解的,并展平為單個向量。
為了將用戶輸入的信息進行合并,作者給 MarioGPT 安排了一個凍結文本編碼器,它以預訓練的雙向 LLM形式出現。
與此同時,在這里輸出模型前向傳播的平均隱藏狀態。
最后,將輸出的狀態用于 GPT2 架構的交叉注意力層,并與傳遞到模型中的實際關卡序列進行結合就可以了。
對于 MarioGPT 的效果,作者則表示很驚訝,因為它最終生成的結果中,有 88% 都是可以用來實際進行闖關的。
怎么玩?
由于 MarioGPT 已經開源,大家也可以自己下載體驗一把。
確保電腦安裝了 3.8 + 版本的 python 后,使用 pip 命令或者 git 一下:
生成關卡最少只需要下面這些代碼:
作者在項目中也提供了更深入的教程。
要想自己上手試一試生成的關卡,可以:
去 Huggingface 上的 demo 上玩。它甚至可以不用你輸入文本,直接在每個元素上選擇“多”或者“少”等選項生成任意關卡。
通過代碼控制:使用 play 和 astar 函數,前提是你電腦安裝了 Java 8+。
感興趣的朋友快去試試吧~目前 MarioGPT 已經有超過 500 + 人標星了。
論文地址:
項目地址:
HF 試玩地址:
聲明:本網轉發此文章,旨在為讀者提供更多信息資訊,所涉內容不構成投資、消費建議。文章事實如有疑問,請與有關方核實,文章觀點非本網觀點,僅供讀者參考。
猜你喜歡
-
游客在進入北京環球度假區時須核驗北京健康
具體如下:北京環球度假區繼續按照相關政府部門的限流要求,以預約入園的形式加強人流動態監測和...詳情
2022-04-28
-
杭州湘湖的草坪人氣很高不少人在這里搭帳篷
湘湖邊亂搭帳篷,煞了春日風景景區出臺最新政策,將設置臨時帳篷搭建區,后續還要增設露營服務區...詳情
2022-04-14
-
南非徐霞客在云南:從行萬里路到吃百碗米線
題:南非徐霞客在云南:從行萬里路到吃百碗米線的文化之旅杜安睿來自南非,是一名國際注冊會計師...詳情
2022-04-10
-
廣州新增3例本土確診病例雙層觀光巴士全部
廣州新增3例本土確診病例雙層觀光巴士全部停運廣州市政府新聞辦公室21日公布的信息顯示,過去...詳情
2022-03-22