13年前「變態」級難度的遊戲QWOP被AI攻破了!

13年前「變態」級難度的遊戲QWOP被AI攻破了!

ADVERTISEMENT

13年以前,有這樣一款「變態」級難度的遊戲曾風靡一時。

它的名字簡單粗暴—— QWOP。意思是讓玩家用這四個鍵位控制遊戲人物的左右大腿和小腿,以最快的速度跑完100米。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

實際上,大部分玩家剛上手的時候,可能連起點線都邁不過去就Game Over了。 

13年前「變態」級難度的遊戲QWOP被AI攻破了!

如果你能跑出幾米遠,絕對算是一個高手,甚至能在朋友面前炫耀一番。

13年前「變態」級難度的遊戲QWOP被AI攻破了!QWOP的難點在於,一旦角色失去平衡就很難再挽回,需要在100公尺的距離內一直保持重心不過於向前後傾斜。

當你經過苦練第一次跑起來時,又會被50公尺處作者故意設置的欄杆擺一道:說好的100米短跑怎麼變跨欄了?

某人當年的遊戲截圖

在那個小遊戲盛行的年代,這款也被戲稱為「是男人就跑100米」。因為難度過於「變態」,QWOP開發者曾收到過很多辱罵郵件。

雖然絕大部分人難以跑到終點,但仍有一批骨灰級玩家樂此不疲,他們不僅能輕鬆跑完,至今還為競爭世界排名而不斷挑戰。

2個月前,一位日本玩家創造了新的世界紀錄:48.34秒

13年前「變態」級難度的遊戲QWOP被AI攻破了!

看到這款遊戲,你是不是會想到強化學習來訓練雙足機器人的畫面? 

13年前「變態」級難度的遊戲QWOP被AI攻破了!

一位來自波士頓諮詢的數據分析師Wesley Liao也是這麼想的。

不過別以為「變態」難度的遊戲到了AI面前就變成了毛毛雨。

Liao綜合了之前多種強化學習演算法,最後甚至請來了「世界名師」教學,費了好大一番功夫,才終於讓AI在上週打破人類玩家的記錄。

可見這款遊戲的難度一點都不比圍棋低啊。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

小試牛刀

一開始,Liao使用OpenAI Gym強化學習環境來訓練AI,先設定好遊戲的狀態、操作和獎懲機制。

狀態包括每個身體部位和關節的位置、速度和角度。操作方式限定為11種:4個QWOP按鍵、6種兩兩按鍵組合以及不按任何鍵。

用來訓練AI的演算法是ACER(具有經驗重播能力的Actor-Critic)。這種演算法的優點是,不僅可以從其最近獲得的經驗中學習,也可以學習儲存數據中更早的經驗。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

由於ACER非常複雜,Liao使用了別人的實現程式碼「Stable Baselines」。

Liao首先嘗試了讓AI自己學習。經過多次實驗後,他發現AI只學會了「蹭膝蓋」這種方式跑過終點,速度很慢。 

13年前「變態」級難度的遊戲QWOP被AI攻破了!

這和許多人類普通玩家以及其他強化學習演算法是一樣的,離高手的水準還差很遠,更不用談打破紀錄了。

仔細分析可以發現,AI根本沒有學習到跨步機制,只是學習到了最安全、最慢的方法來到達終點。

看來靠AI完全自學是不行了。

學會奔跑

類似於DeepMind用頂級棋手教AlphaGo下棋,Liao想到是不是也可以讓人類玩家來教一下AI。

但是Liao本人的技術和頂級玩家差距太大,自己最多也只能跑到28公尺。

這都不重要,重要的是起碼Liao跨出更大步伐的技巧,只能寄希望於AI能從「渣技術」裡學到一點奔跑的技巧吧。

但是結果很不幸,AI很好地詮釋了「邯鄲學步」:不僅沒掌握跑步技巧,反而在起點就跌倒了。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

然後Liao讓AI自己繼續訓練。所謂師父領進門,修行在個人,AI能否將人類技術和自學能力結合起來?

結果令人興奮,經過90個小時的訓練,AI終於學會了像人一樣奔跑!

13年前「變態」級難度的遊戲QWOP被AI攻破了!

最終成績是1分25秒,已經能跑進全球排行榜的前15名,離超過人類不遠了。

接下來要做的就是再向AI教授更多技巧,奈何本人技術太渣。

所以要想進一步提高AI的水準,必須找頂級高手來幫忙。

頂級高手助陣

Liao觀察快速通關排行榜上的錄影,發現頂級玩家的技巧是把左腿抬高可以跑得更快。

排名第一玩家gunmaneko的踢腿技巧他開始全球排名前二的玩家gunmaneko和Kurodo請教踢腿技巧的操作。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

兩位玩家熱情地回答了他的問題。其中Kurodo指出這個技巧的關鍵在於減少遊戲角色在縱向的移動,並提出把保持身體高度加入AI的獎勵函數。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

Liao向Kurodo分享了他的程式碼,Kurodo慷慨地使用程式碼記錄了50次自己遊戲時的按鍵記錄發給Liao。

Liao嘗試使用這些數據對AI進行預訓練,但效果並不好。AI還沒來得及學會踢腿技巧,倒先把基本的跑步方法忘記了。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

Liao不得不改變方法,他把Kurodo的數據注入到AI的重播快取*(Replay Buffer)*中。這相當於修改AI的記憶,使AI有一半的記憶是自己的,另一半來自Kurodo。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

並且是AI每自己玩一次,就灌入一次Kurodo的數據,保證AI隨機從記憶中選取一段來學習時選到兩種記憶的概率相同,避免在學習新技巧的過程中把基本操作忘掉。

AI使用Kurodo的數據訓練了15個小時,終於學會了踢腿,但因為兩種記憶無法協調在一起,跑時間長了動作會不穩定。

Liao此時把Kurodo的記憶移除,又讓AI自己訓練了25小時,總訓練時間達到了65小時。

最終AI的成績達到1分08秒,終於進入前十。

打破世界紀錄

Liao把教AI玩這個遊戲的過程做成影片發在網上。一個月前,外媒Gismodo問他:為什麼AI還沒有打破世界紀錄?

13年前「變態」級難度的遊戲QWOP被AI攻破了!

於是Liao重新訓練了一個只為最佳化速度而存在的新AI。

新AI改用Prioritized DDQN演算法,因為這種演算法會給學習效率更高的狀態增加權重而不是均勻採樣,能使新AI迅速學會舊AI已經掌握了的技巧。

並且,新AI的獎勵函數去掉了身體高度,膝蓋彎曲角度等參數,改成只和前進速度相關。

新AI先用已有數據進行只有幾分鐘的預訓練,隨後是40小時的自訓練。最終,新AI每秒所做的動作數在訓練環境中由9提高到18,並在測試環境中達到25。

新AI對踢腿技巧的掌握非常穩定,即使被障礙物影響也能迅速恢復。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

快速高效的動作使AI的成績提高到47.34秒,比人類最高紀錄48.34秒剛好快1秒。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

這才終於算是,在人工智能超越人類的遊戲列表中又增加了一項。

One More Thing

你以為這就完了?

跑完100米不算完,這款遊戲還有一種世界級難度—— 「是男人就跑完馬拉松」。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

為Liao提供幫助的玩家Kurodo最近剛剛提交了世界紀錄,全球也只有兩人完成了這項壯舉。

很難想像他們在電腦前連續按幾個小時QWOP的畫面。

另外,QWOP的開發者Bennett Foddy一直在堅持開發這類「變態」難度的獨立小遊戲

13年前「變態」級難度的遊戲QWOP被AI攻破了!

有一款Getting Over It with Bennett Foddy名氣頗高,玩法就是一個裝在壇子裡的人不停用錘子讓自己升高。

13年前「變態」級難度的遊戲QWOP被AI攻破了!

Foddy曾經在普林斯頓大學和牛津大學擔任博士後研究員,現在是一名獨立遊戲設計師。QWOP就是他在普林斯頓大學時期開發的。

QWOP線上遊戲地址:
http://www. foddy.net/Athletics.htm l

Qbitai
作者

量子位(Qbitai)專注於人工智慧及前沿科技領域,提供技術研發趨勢、科技企業動態、新創公司報道等最新資訊,以及機器學習入門資源、電腦科學最新研究論文、開源程式碼和工具的相關報導。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則