- +1
不吃蘑菇,不撿金幣,我用強(qiáng)化學(xué)習(xí)跑通29關(guān)馬里奧,刷新最佳戰(zhàn)績(jī)
機(jī)器之心報(bào)道
編輯:張倩、蛋醬
看了用強(qiáng)化學(xué)習(xí)訓(xùn)練的馬里奧,我才知道原來這個(gè)游戲的后幾關(guān)長(zhǎng)這樣。

這款游戲承載了一代人的回憶,你還記不記得你玩到過第幾關(guān)?
其實(shí),除了我們這些玩家之外,強(qiáng)化學(xué)習(xí)研究者也對(duì)這款游戲情有獨(dú)鐘。
最近,有人用 PPO 強(qiáng)化學(xué)習(xí)算法訓(xùn)練了一個(gè)超級(jí)馬里奧智能體,已經(jīng)打通了 29 關(guān)(總共 32 關(guān)),相關(guān)代碼也已開源。


使用 PPO 訓(xùn)練的 OpenAI Five 是第一款在電競(jìng)游戲中擊敗人類世界冠軍的 AI。2018 年 8 月,OpenAI Five 與 Ti8Dota2 世界冠軍 OG 戰(zhàn)隊(duì)展開了一場(chǎng)巔峰對(duì)決,最終 OpenAI Five 以 2:0 的比分輕松戰(zhàn)勝世界冠軍 OG。
此前,作者曾經(jīng)使用 A3C 算法訓(xùn)練過用于通關(guān)超級(jí)馬里奧兄弟的智能體。盡管智能體可以又快又好地完成游戲,但整體水平是有限的。無論經(jīng)過多少次微調(diào)和測(cè)試,使用 A3C 訓(xùn)練的智能體只能完成到第 9 關(guān)。同時(shí)作者也使用過 A2C 和 Rainbow 等算法進(jìn)行訓(xùn)練,前者并未實(shí)現(xiàn)性能的明顯提升,后者更適用于隨機(jī)環(huán)境、游戲,比如乒乓球或太空侵略者。
還有三關(guān)沒有過是怎么回事?作者解釋說,4-4、7-4 和 8-4 關(guān)的地圖都包含了一些謎題,智能體需要選擇正確的路徑才能繼續(xù)前進(jìn)。如果選錯(cuò)了路徑,就得重新把走過的路再走一遍,陷入死循環(huán)。所以智能體沒能通過這三關(guān)。
開源項(xiàng)目地址:https://github.com/uvipen/Super-mario-bros-PPO-pytorch
近端策略優(yōu)化算法
策略梯度法(Policy gradient methods)是近年來使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行控制的突破基礎(chǔ),不管是視頻游戲、3D 移動(dòng)還是圍棋控制,都是基于策略梯度法。但是通過策略梯度法獲得優(yōu)秀的結(jié)果是十分困難的,因?yàn)樗鼘?duì)步長(zhǎng)大小的選擇非常敏感。如果迭代步長(zhǎng)太小,那么訓(xùn)練進(jìn)展會(huì)非常慢,但如果迭代步長(zhǎng)太大,那么信號(hào)將受到噪聲的強(qiáng)烈干擾,因此我們會(huì)看到性能的急劇降低。同時(shí)這種策略梯度法有非常低的樣本效率,它需要數(shù)百萬(或數(shù)十億)的時(shí)間步驟來學(xué)習(xí)一個(gè)簡(jiǎn)單的任務(wù)。
2017 年,Open AI 的研究者為強(qiáng)化學(xué)習(xí)提出了一種新型策略梯度法,它可以通過與環(huán)境的交互而在抽樣數(shù)據(jù)中轉(zhuǎn)換,還能使用隨機(jī)梯度下降優(yōu)化一個(gè)「surrogate」目標(biāo)函數(shù)。標(biāo)準(zhǔn)策略梯度法為每一個(gè)數(shù)據(jù)樣本執(zhí)行一個(gè)梯度更新,因此研究者提出了一種新的目標(biāo)函數(shù),它可以在多個(gè) epoch 中實(shí)現(xiàn)小批量(minibatch)更新。這種方法就是近端策略優(yōu)化(PPO)算法。
該算法從置信域策略優(yōu)化(TRPO)算法獲得了許多啟發(fā),但它更加地易于實(shí)現(xiàn)、廣泛和有更好的樣本復(fù)雜度(經(jīng)驗(yàn)性)。經(jīng)過在一組基準(zhǔn)任務(wù)上的測(cè)試,包括模擬機(jī)器人移動(dòng)和 Atari 游戲,PPO 算法展示出了比其他在線策略梯度法更優(yōu)秀的性能,該算法總體上在樣本復(fù)雜度、簡(jiǎn)單性和實(shí)際時(shí)間(wall-time.)中有非常好的均衡。
近端策略優(yōu)化可以讓我們?cè)趶?fù)雜和具有挑戰(zhàn)性的環(huán)境中訓(xùn)練 AI 策略,先看這個(gè) demo 視頻:
如上所示,其中智能體嘗試抵達(dá)粉紅色的目標(biāo)點(diǎn),因此它需要學(xué)習(xí)怎樣走路、跑動(dòng)和轉(zhuǎn)向等。同時(shí)該智能體不僅需要學(xué)會(huì)怎樣從小球的打擊中保持平衡(利用自身的動(dòng)量),在被撞倒后還需要學(xué)會(huì)如何從草地上站起來。
PPO 方法有兩種主要的變體: PPO-Penalty 和 PPO-Clip。
PPO-Penalty 近似求解一個(gè)類似 TRPO 的被 KL - 散度約束的更新,但懲罰目標(biāo)函數(shù)中的 KL - 散度,而不是使其成為優(yōu)化問題的硬約束, 并在訓(xùn)練過程中自動(dòng)調(diào)整懲罰系數(shù),從而適當(dāng)?shù)卣{(diào)整其大小。
PPO-Clip 在目標(biāo)中沒有 KL 散度項(xiàng),也沒有約束。取而代之的是在目標(biāo)函數(shù)上進(jìn)行專門裁剪 (clip), 以消除新策略遠(yuǎn)離舊策略的激勵(lì) (incentives)。
關(guān)于該算法的更多信息可以參考原論文。

網(wǎng)友:馬里奧的奔跑,是我放蕩不羈的青春
項(xiàng)目作者用 Pytorch 實(shí)現(xiàn)的《超級(jí)馬里奧》demo 在 reddit 上引起了上千人圍觀,作者也現(xiàn)身評(píng)論區(qū)答疑解惑。
有人說,「他跑得那么快、那么不管不顧,看得我捏了一把汗?!?/p>







機(jī)器之心聯(lián)合曠視科技開設(shè)線上公開課:零基礎(chǔ)入門曠視天元MegEngine,通過6次課程幫助開發(fā)者入門深度學(xué)習(xí)開發(fā)。
8月4日,曠視研究院深度學(xué)習(xí)框架研究員劉清一將帶來等二課,主要介紹數(shù)據(jù)預(yù)處理、模型搭建與調(diào)參等相關(guān)概念。歡迎大家入群學(xué)習(xí)。
? THE END
轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)
投稿或?qū)で髨?bào)道:content@jiqizhixin.com
原標(biāo)題:《不吃蘑菇,不撿金幣,我用強(qiáng)化學(xué)習(xí)跑通29關(guān)馬里奧,刷新最佳戰(zhàn)績(jī)》
本文為澎湃號(hào)作者或機(jī)構(gòu)在澎湃新聞上傳并發(fā)布,僅代表該作者或機(jī)構(gòu)觀點(diǎn),不代表澎湃新聞的觀點(diǎn)或立場(chǎng),澎湃新聞僅提供信息發(fā)布平臺(tái)。申請(qǐng)澎湃號(hào)請(qǐng)用電腦訪問http://renzheng.thepaper.cn。





- 報(bào)料熱線: 021-962866
- 報(bào)料郵箱: news@thepaper.cn
滬公網(wǎng)安備31010602000299號(hào)
互聯(lián)網(wǎng)新聞信息服務(wù)許可證:31120170006
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:滬B2-2017116
? 2014-2025 上海東方報(bào)業(yè)有限公司




