《超級馬里奧兄弟》你能玩到第幾關?
說起這款FC時代的經(jīng)典游戲,大家可能再熟悉不過了,大鼻子、留胡子,永遠穿著背帶工裝服的馬里奧大叔,成為了很多80/90后的童年回憶。
看著畫面中熟悉的馬里奧大叔一路跌跌撞撞,躲避半路殺出來的毒蘑菇,錘子烏龜,頭盔兔子、食人花,感覺又回到了小時候。
最早發(fā)行的這版《超級馬里奧兄弟》設置8個場景,每個場景分為4關,共32個關卡,相信很多朋友至今還沒有完全通關。
Viet Nguyen就是其中一個。這位來自德國的程序員表示自己只玩到了第9個關卡。因此,他決定利用強化學習AI算法來幫他完成未通關的遺憾。
現(xiàn)在他訓練出的AI馬里奧大叔已經(jīng)成功拿下了29個關卡。
不過,遺憾的是第4、7、8場景中的第4關卡未通過。Viet Nguyen解釋說,這與游戲規(guī)則的設置有關。在一場游戲結束后,玩家可以自行選擇通關路徑,但這可能出現(xiàn)重復訪問同一關卡的情況,所以AI未成功進入到這三關游戲之中。
Viet Nguyen使用的強化學習算法正是OpenAI研發(fā)的近端策略優(yōu)化算法(Proximal Policy Optimization,簡稱PPO),他介紹,此前使用A3C代碼訓練馬里奧闖關,效果遠不及此,這次能夠達到29關也是超出了原本的預期。
現(xiàn)在Viet Nguyen已經(jīng)將基于PPO編寫的完整Python代碼發(fā)布到了Github上,并給出了詳細的使用說明,感興趣的朋友可以體驗一下:
Github地址:https://github.com/uvipen/Super-mario-bros-PPO-pytorch
還會玩Dota的AI算法:PPO
據(jù)了解,PPO是OpenAI在2017年開發(fā)的算法模型,主要用來訓練虛擬游戲玩家OpenAI Five,這位虛擬玩家在2018年的Dota2人機對抗賽中,戰(zhàn)勝過世界頂級職業(yè)選手,同時能夠打敗99.95%的普通玩家。
復雜的游戲環(huán)境一直被研究人員視為AI訓練的最佳場景。為了讓AI掌握游戲規(guī)則,學會運用策略,強化學習是研究人員常用的機器學習方法之一,它能夠描述和解決AI智能體(Agent)在與環(huán)境交互過程中通過學習策略實現(xiàn)特定目標的問題。
近端策略優(yōu)化算法(PPO)已成為深度強化學習基于策略中效果最優(yōu)的算法之一。有關該算法的論文已經(jīng)發(fā)布在arXiv預印論文庫中。
論文中指出,PPO是一種新型的策略梯度(Policy Gradient)算法,它提出新的“目標函數(shù)”可以進行多個訓練步驟,實現(xiàn)小批量的更新,解決PG算法中步長難以確定的問題。固定步長的近端策略優(yōu)化算法如下:
(每次迭代時,N個actor中的每個都收集T個時間步長的數(shù)據(jù)。 然后在這些NT時間步長的數(shù)據(jù)上構建替代損失,并使用 minibatch SGD 進行K個epochs的優(yōu)化。)
研究人員表明,該算法具有信任區(qū)域策略優(yōu)化(TRPO)的一些優(yōu)點,但同時比它實施起來更簡單,更通用,具有更好的樣本復雜性(憑經(jīng)驗)。為了證實PPO的性能,研究人員在一些基準任務上進行了模擬測試,包括人形機器人運動策略和Atari游戲的玩法。
PPO算法的基準任務測試
在游戲角色的AI訓練中,一種基本的功能是具備連續(xù)性的運行和轉向,如在馬里奧在遇到諸如地面或者空中障礙時,能夠以此為目標進行跳轉和躲避。論文中,研究人員為了展示PPO的高維連續(xù)控制性能,采用3D人形機器人進行了測試,測試任務分別為:
(1)僅向前運動;(2)每200個時間步長或達到目標時,目標位置就會隨機變化;(3)被目標擊倒后,需要從地面站起來。以下從左至右依次為這三個任務的學習曲線。
研究人員從以上學習曲線中,隨機抽取了任務二在某一時刻的性能表現(xiàn)。如下圖,
可以看出,在第六幀的放大圖中,人形機器人朝目標移動,然后隨機改變位置,機器人能夠跟隨轉向并朝新目標運行。說明PPO算法在連續(xù)轉控方面具備出色的性能表現(xiàn)。
那么它在具體游戲中“獲勝率”如何呢?研究人員運用Atari游戲合集(含49個)對其進行驗證,同時與A2C和ACER兩種算法進行了對比。為排除干擾因素,三種算法全部使用了相同的策略網(wǎng)絡體系,同時,對其他兩種算法進行超參數(shù)優(yōu)化,確保其在基準任務上的性能最大化。
如上圖,研究人員采用了兩個評估指標:(1)在整個訓練期間每集的平均獲勝數(shù);(2)在持續(xù)100集訓練中的每集的平均獲勝數(shù)。 前者更適合快速學習,后者有助于最終的比賽表現(xiàn)??梢钥闯鯬PO在指標一種的獲勝次數(shù)達到了30,在小樣本下有更高的勝率。
最后研究人員還強調(diào),PPO近端策略優(yōu)化的優(yōu)勢還在于簡潔好用,僅需要幾行代碼就可以更改為原始策略梯度實現(xiàn),適用于更常規(guī)的設置,同時也具有更好的整體效果。
更多論文詳細內(nèi)容,請參見地址:https://arxiv.org/abs/1707.06347
最后一問:
《雪人兄弟》《綠色兵團》《忍者神龜》《雙截龍》《魂斗羅》等眾多經(jīng)典FC游戲中,你最喜歡哪一個,是否全部通關了呢?