《蒙特祖瑪?shù)膹?fù)仇》是一個出了名困難的游戲,是強化學(xué)習(xí)的一大挑戰(zhàn)。本文作者長期從事深度強化學(xué)習(xí)研究,他認為DeepMind和OpenAI攻克蒙特祖瑪?shù)膹?fù)仇并沒有看上去意義那么重大,深度強化學(xué)習(xí)的長期目標是讓智能體具備先驗知識,可以從零開始玩游戲。
最近,DeepMind和OpenAI都宣布他們開發(fā)了可以學(xué)習(xí)完成Atari 2600游戲《蒙特祖瑪?shù)膹?fù)仇》第一關(guān)的智能體。他們這些宣稱很重要,因為《蒙特祖瑪?shù)膹?fù)仇》這個游戲?qū)τ贏I研究來說很重要。與街機學(xué)習(xí)環(huán)境(Arcade Learning Environment,ALE)里的絕大多數(shù)游戲不同,大多數(shù)游戲現(xiàn)在很容易被利用深度學(xué)習(xí)的agent解決掉,達到超越人類水平的表現(xiàn)。但《蒙特祖瑪?shù)膹?fù)仇》一直沒有被深度強化學(xué)習(xí)方法解決,而且被一些人認為在未來的幾年里都無法解決。
蒙特祖瑪?shù)膹?fù)仇的第一個房間
蒙特祖瑪?shù)膹?fù)仇與ALE中其他游戲的區(qū)別在于,它的獎勵(rewards)相對少。這意味著agent只在長時間完成特定的一系列動作之后才會收到獎勵信號。在蒙特祖瑪?shù)膹?fù)仇的第一個房間里(見上圖1),這意味著agent要從梯子上下來,用繩子跳過一個空地,從另一個梯子下來,跳過一個會移動的敵人,最后還要爬上另一個梯子。所有這些只是為了在第一個房間里拿到第一把鑰匙!
在游戲的第一關(guān),有23個這樣的房間,agent要在這些房間里拿到所有鑰匙,才能完成這個關(guān)卡(見圖2)。更復(fù)雜的是,游戲中導(dǎo)致失敗的條件也相當嚴格,agent會由于很多可能的事件導(dǎo)致死亡,其中最累人的是從高的地方墜落。不熟悉這個游戲的人可以試著玩一下,看看你要花多長時間才能通過第一個房間,更不用說通過第一個關(guān)卡了。
蒙特祖瑪?shù)膹?fù)仇第一關(guān)
由于難度太高,《蒙特祖瑪?shù)膹?fù)仇》游戲被視為Deep RL方法的一大挑戰(zhàn)。事實上,這款游戲激發(fā)了一些更有趣的方法的開發(fā),這些方法可以對傳統(tǒng)的Deep RL算法進行增強或重構(gòu),利用新的方法進行分層控制、探索和體驗回放。因此,當DeepMind和OpenAI各自聲稱已經(jīng)開發(fā)出能夠如此出色地玩這個游戲的算法時,就成了大新聞(至少在有些領(lǐng)域是如此)。
DeepMind和OpenAI在這個游戲到底達到了多厲害的水平呢?是這樣先前的技術(shù)最高水平是2600分(DeepMind的FuN模型),而新方法可以達到數(shù)萬分。從工程和理論的角度來看,所有這三種方法都得到了令人印象深刻的結(jié)果,所有方法都需要學(xué)習(xí)。
但是,用深度強化學(xué)習(xí)來解決蒙特祖瑪?shù)膹?fù)仇的說法并不像它們看起來的那樣。在這三種情況下(DeepMind的兩篇論文和OpenAI的一篇博客文章),使用人類專家演示都是他們的算法的一個組成部分,這從根本上改變了學(xué)習(xí)問題的本質(zhì)。
在這篇文章中,我想討論的是,這些方法是為了解決蒙特祖瑪?shù)膹?fù)仇游戲的第一個關(guān)卡,以及為什么在游戲環(huán)境以及Deep RL的長期目標中,這些方法并沒有看上去意義重大。最后,我將簡要地討論一下這個出了名困難的游戲中真正重大的結(jié)果是什么,這將為這個領(lǐng)域指明前進的方向。
DeepMind的結(jié)果:從YouTube學(xué)習(xí)和Q-Learning
從YouTube學(xué)習(xí)
DeepMind在5月份發(fā)布了一篇引人注目的論文“通過觀看YouTube來玩困難的探索游戲”(Playing hard exploration games by watching YouTube),里面提出了我們今天介紹的解決蒙特祖瑪?shù)膹?fù)仇的三種方法中最有趣的一種。正如題目所示,研究小組設(shè)計了一種方法,可以使用專業(yè)玩家通關(guān)游戲第一關(guān)的視頻來輔助學(xué)習(xí)過程。
“從視頻學(xué)習(xí)”這個問題本身就是一個有趣的挑戰(zhàn),完全超出了游戲本身的挑戰(zhàn)。正如作者所指出的,在YouTube上發(fā)現(xiàn)的視頻包含了各種各樣的artifacts,它們可以阻止在視頻中發(fā)生的事情與在ALE中玩游戲的agent可能觀察到的事情之間進行映射。為了解決這一“差距”,他們創(chuàng)建了一種方法,能夠?qū)τ螒驙顟B(tài)(視覺的和聽覺的)的觀察結(jié)果嵌入到一個共同的嵌入空間中。
不同的演示視頻和模擬器圖像的比較
然后,利用這個嵌入空間為學(xué)習(xí)智能體提供獎勵。agent不再只接受原始游戲提供的稀疏獎勵,而是還能獲得中間獎勵,該中間獎勵對應(yīng)于沿著專家玩家提供的路徑到達檢查點。通過這種方式,agent可以獲得更強的學(xué)習(xí)信號,最終以41000的分數(shù)通過了游戲的第一關(guān)。
Q-Learning
大約在YouTube論文發(fā)表的同時,DeepMind分享了另一組實驗的結(jié)果,這次的論文標題不那么引人注目:“Observe and Look Further: Achieving Consistent Performance on Atari”。
在論文中,他們提出一系列有趣的算法改進Deep Q-learning,提高算法的穩(wěn)定性和能力。第一個是在Q-update中增加折扣因子(discount factor),這樣就可以學(xué)習(xí)更長期的時間依賴性,而不需要考慮高折扣因子的典型缺點。第二種方法是使Deep Q-learning能夠解釋不同數(shù)量級的獎勵信號,從而使算法能夠解決最優(yōu)策略涉及學(xué)習(xí)這些不同獎勵的任務(wù)。
除了這兩項改進之外,他們還建議使用人類演示(human demonstrations)作為增強探索過程的一種手段,自動向網(wǎng)絡(luò)提供專業(yè)玩家會遵循的狀態(tài)空間軌跡的信息。結(jié)合這三種改進,作者最終得到一個能夠以38000分的成績完成蒙特祖瑪?shù)膹?fù)仇第一關(guān)的agent。值得注意的是,只使用前兩項改進(沒有人類演示)不足以在游戲中獲得矚目的表現(xiàn),得分只有2000多分。
OpenAI的結(jié)果:近端策略優(yōu)化
訓(xùn)練期間使用restart
在DeepMind的結(jié)果發(fā)表幾周后,OpenAI發(fā)布了一篇博客文章,描述了一種也可以訓(xùn)練智能體完成蒙特祖瑪?shù)膹?fù)仇第一關(guān)的方法。該方法也依賴于人類的演示,但他們的方法與DeepMind的方法稍有不同。
在OpenAI的方法中,人類演示不是作為獎勵或?qū)W習(xí)信號的一部分,而是作為智能體重新啟動(restart)的一種手段。在游戲中給定人類專家的移動軌跡,agent在游戲接近尾聲時啟動,然后在每次重新啟動的過程中緩慢地往回移動軌跡。這樣做的好處是,僅將agent暴露給游戲中人類玩家已經(jīng)探索過的部分,并隨著agent本身變得更強而擴大范圍。因為使用了默認的近端策略優(yōu)化(PPO算法),這種方法對實際學(xué)習(xí)算法沒有任何改變。只要在“正確”的位置啟動agent,就足以確保它找到正確的解決方案,最終,該方法獲得了歷史最高的74500分。
模仿學(xué)習(xí)的局限性
上述所有方法都有一個共同點,就是它們都使用了一組人類專家的演示。第一種方法利用演示來學(xué)習(xí)獎勵信號,第二種方法利用演示來學(xué)習(xí)更準確的Q值,第三種方法利用演示來更智能地重新啟動agent。在這三種情況下,演示對學(xué)習(xí)過程都至關(guān)重要。一般來說,使用演示是為agent提供關(guān)于任務(wù)的有意義的知識的好方法。實際上,這就是我們?nèi)祟惸軌驅(qū)W習(xí)無數(shù)任務(wù)的方法。人類從演示中學(xué)習(xí)的能力的關(guān)鍵是,我們能夠?qū)蝹€演示進行抽象和歸納,并在新的情況中利用。就《蒙特祖瑪?shù)膹?fù)仇》這個游戲而言,與其開發(fā)一種通用的游戲解決方案(如DeepMind的兩篇論文所指出的那樣),真正被開發(fā)出來的是一種利用游戲的關(guān)鍵弱點作為實驗平臺的聰明方法:游戲的確定性(determinism)。
不管是人類還是AI智能體,每次玩《蒙特祖瑪?shù)膹?fù)仇》時,都會看到很多完全相同的房間,每個房間都有完全相同的障礙和謎題。因此,對每個房間里的動作進行簡單的記憶就足以讓你獲得高分,并且能夠通過這一關(guān)。雖然如果智能體被迫從頭開始學(xué)習(xí)不一定是明顯的缺陷,但當這種情況加入了專家演示時,就變成了一個缺陷。這三種解決方案都利用了游戲的確定性,使智能體能夠更輕松地學(xué)習(xí)解決方案的路徑。最終它學(xué)到的不是如何玩困難的游戲,而是如何執(zhí)行預(yù)先確定的一套動作,以完成特定的游戲。
OpenAI的博客文章簡要地提到了確定性的問題,但它是在Atari 模擬器本身的層面,而不是在特定的游戲?qū)用?。他們的解決方案是使用一個隨機的跳幀控制(frame-skip)來阻止agent記住軌跡。雖然這阻止了agent記憶一系列的動作,但它并不阻止通過狀態(tài)空間來記憶一般軌跡。
在所有這些情況下,《蒙特祖瑪?shù)膹?fù)仇》這個游戲不再是稀疏獎勵問題的一個很難解決的問題,而是變成了通過固定的狀態(tài)空間學(xué)習(xí)軌跡一個更容易的問題。這是令人遺憾的,因為在最初的構(gòu)想中,這個游戲仍然可能為深度強化學(xué)習(xí)的研究者提供更具吸引力的挑戰(zhàn)。
解決蒙特祖瑪?shù)膹?fù)仇——艱難的道路
幾年來,我一直密切關(guān)注著蒙特祖瑪?shù)膹?fù)仇的結(jié)果,因為我把它們看作是一種試金石,用來檢驗深度強化學(xué)習(xí)是否開始顯示出更一般的推理和學(xué)習(xí)能力的跡象。許多結(jié)果表明,給定足夠的計算能力,深度強化學(xué)習(xí),甚至隨機搜索都能解決簡單的優(yōu)化問題。然而,許多研究人員對人類水平的智能感興趣,而這不僅是簡單的優(yōu)化。它涉及在多個抽象層次上學(xué)習(xí)和推理概念,包括將從一個問題空間學(xué)到的概念知識以一種可適應(yīng)的方式推廣到許多問題空間。
當你把蒙特祖瑪?shù)膹?fù)仇的第一個房間呈現(xiàn)給任何人,并問他們需要做什么時,他們很快就會開始向你描述一系列的行動和觀察,這表明人類對游戲可能的動態(tài)有復(fù)雜的理解。最明顯的表現(xiàn)他們會認識到鑰匙是理想的物體,骷髏頭是需要避免的東西,梯子是有活動能力的東西。然后鑰匙暗示打開鎖著的門的能力,突然出現(xiàn)復(fù)雜的多步驟計劃以及如何完成關(guān)卡的方式。這種推理和計劃不僅適用于游戲的某個特定關(guān)卡,還適用于我們所遇到的任何類似的關(guān)卡或游戲。這些技能對于人類智能而言至關(guān)重要,而且對于那些試圖將深度強化學(xué)習(xí)推廣到一套簡單的優(yōu)化算法之外的人來說也很感興趣。然而,在確定性環(huán)境中使用人類演示完全繞過了對這些技能的需要。
如果沒有用來解釋視覺場景的先驗知識,像《蒙特祖瑪?shù)膹?fù)仇》這類游戲看起來可能是這樣的
當然,這些技能也是最難以用算法形式表達的,尤其是它們的人類表現(xiàn)形式尚沒有被完全理解。特別是在概念學(xué)習(xí)的情況下,通常需要把外部的一般知識引入到新的問題上。正如伯克利的一個研究團隊所指出的那樣,如果我們沒有先驗知識(無論是與生俱來來說后天學(xué)習(xí)的),許多我們認為理所當然的視頻游戲會變得更加復(fù)雜。
然后問題就變成了,AI智能體如何才能自然地學(xué)習(xí)像《蒙特祖瑪?shù)膹?fù)仇》這樣的游戲所需要的先驗知識。此外,這些習(xí)得的先驗知識如何不僅僅被用于玩一個特定游戲的特定關(guān)卡,而是可以玩任何類似游戲的任何關(guān)卡。表示學(xué)習(xí)和概念基礎(chǔ)方面正在進行一些有趣的工作,我認為這對解決這些問題是至關(guān)重要的。還有一些工作正在開發(fā)更多的隨機環(huán)境,以更好地測試智能體的泛化能力,其中最引人注目的是GVGAI競賽(通用視頻游戲AI競賽)。
我熱切地期待有一天我們可以毫無疑問地說,AI智能體可以學(xué)會從頭開始玩《蒙特祖瑪?shù)膹?fù)仇》。當那一天到來時,會有很多令人興奮的事情。
-
智能體
+關(guān)注
關(guān)注
1文章
144瀏覽量
10575 -
強化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
266瀏覽量
11246
原文標題:深度強化學(xué)習(xí)試金石:DeepMind和OpenAI攻克蒙特祖瑪復(fù)仇的真正意義
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論