郭一璞 發(fā)自 北四環(huán)
量子位 報道 | 公眾號 QbitAI
把超級馬里奧玩成下面這樣,算什么水平?
能流暢的行走在妖魔鬼怪之間
能掐準食人花出現(xiàn)的時機
能靈巧的躲過燒火棍
能克服各種變態(tài)的地形
從1-1到7-1,只要一條命,就能全部通過,而且操作幾乎沒有遲疑,如行云流水一般。
別人玩得這么溜,你是不是只能被小烏龜、噴子彈的小怪物、上上下下的地形虐?
不過,這個玩游戲的不是人,是一只通過深度強化學習算法實現(xiàn)的AI。
異步優(yōu)勢演員評論家算法
這個算法已經(jīng)開源,是2016年的論文《Asynchronous Methods for Deep Reinforcement Learning》中提到的算法的實現(xiàn)。
異步一步Q-Learning:每個線程與自己的環(huán)境副本交互,在每一步中計算,用共享的漸變目標網(wǎng)絡Q-Learning損失的梯度,就像DQN訓練模型一樣。
異步多步Q-Learning:在正視圖中通過明確的計算多步返回來運行,因為基于動量的方法反向傳播來訓練神經(jīng)網(wǎng)絡時,用正視圖更容易一些。
異步優(yōu)勢演員評論家算法:這是超級馬里奧AI的核心。智能體中的兩個部分,分別扮演演員和評論家,負責創(chuàng)造和監(jiān)督。
和前面的異步多步Q-Learning一樣,演員和評論家在正視圖中運行,用相同的多步返回組合來更新策略和價值函數(shù)。
演員就像一個小孩子一樣,會探索世界,做各種事情。
評論家則類似于前面小演員的爸爸媽媽,負責監(jiān)督演員的舉動,贊揚他做的好的地方,批評他做的不好的地方,告訴自己孩子:你和其他演員(別人家的孩子)差在哪兒了。
因此,演員希望一直能獲得爸媽的贊揚,獲得積極的反饋,就會根據(jù)爸媽的贊揚和批評不斷修正自己的行為。
而對于異步優(yōu)勢演員評論家算法而言,則是為小演員提供了一所“學校”。如果小演員只在家里學習,可能學到的東西更片面,而且學習速度也比較慢。在異步優(yōu)勢演員評論家算法這所學校里,有“老師”和“同學”能讓演員更快的學習,學到正確的知識。
游戲達人Viet Nguyen
最后,公布這個算法實現(xiàn)的是GitHub用戶Viet Nguyen。
他是一名AI和機器人方向的碩士,畢業(yè)于慕尼黑工業(yè)大學,主要研究自然語言處理和計算機視覺。
現(xiàn)在,他是德國手游公司Popcore的一名數(shù)據(jù)科學家。除了超級馬里奧,他還研究過用Deep-Q-Learning訓練AI玩Flappy Bird。
傳送門
最后,這個項目已經(jīng)開源了,發(fā)布者公布了代碼和模型,針對超級馬里奧的每一關都單獨訓練了模型,在RTX 2080上大概一關費了6~10個小時。
開源代碼
https://github.com/vietnguyen91/Super-mario-bros-A3C-pytorch
論文原文
Asynchronous Methods for Deep Reinforcement Learning
Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu
https://arxiv.org/abs/1602.01783
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節(jié),請在量子位公眾號(QbitAI)對話界面,回復“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
?’?’ ? 追蹤AI技術和產(chǎn)品新動態(tài)