《蒙特祖瑪?shù)膹?fù)仇》被公認(rèn)為是Atari中最難的游戲之一,是AI的一大挑戰(zhàn)。今天,OpenAI宣布他們的AI僅通過一次人類演示,就在蒙特祖瑪?shù)膹?fù)仇游戲中獲得了74500分的成績(jī),比以往公布的任何結(jié)果都要好。而且,這次的成果使用了PPO算法,這正是不久前OpenAI在Dota2 5v5中戰(zhàn)勝人類的AI的算法。
《蒙特祖瑪?shù)膹?fù)仇》(Montezuma’s Revenge)被認(rèn)為是Atari中最難的幾個(gè)游戲之一。2015年,DeepMind提出著名的DQN算法,使用強(qiáng)化學(xué)習(xí)系統(tǒng)來學(xué)習(xí)如何玩49個(gè)Atari游戲,該系統(tǒng)在大多數(shù)游戲中都能達(dá)到人類水平的表現(xiàn),但在蒙特祖瑪?shù)膹?fù)仇游戲中幾乎沒有任何進(jìn)展。
DQN在蒙特祖瑪?shù)膹?fù)仇游戲中幾乎沒有任何進(jìn)展
在“蒙特祖瑪?shù)膹?fù)仇”游戲中,目標(biāo)是找到埋在充滿危險(xiǎn)機(jī)關(guān)的金字塔里的寶藏。要達(dá)到目標(biāo),玩家必須達(dá)成許多個(gè)次級(jí)的小目標(biāo),例如找到打開門的鑰匙。這個(gè)游戲的反饋也不像“Breakout”之類的游戲那么即時(shí),例如,在一個(gè)地方找到的鑰匙可能能打開的是另一個(gè)地方的門。最終找到寶藏的獎(jiǎng)勵(lì)是之前的數(shù)千次動(dòng)作的結(jié)果。這意味著網(wǎng)絡(luò)很難將原因和結(jié)果聯(lián)系起來。
這次,OpenAI的研究團(tuán)隊(duì)訓(xùn)練了一個(gè)智能體,僅通過一次人類demo,就在蒙特祖瑪?shù)膹?fù)仇游戲中獲得了74500分的成績(jī),比以往公布的任何結(jié)果都要好。
強(qiáng)化學(xué)習(xí)算法PPO
研究人員說,這一算法很簡(jiǎn)單:智能體從demo中仔細(xì)選擇狀態(tài),然后從這些狀態(tài)開始玩一系列游戲,使用PPO算法(Proximal Policy Optimization)來優(yōu)化游戲得分并從中學(xué)習(xí)。PPO是一個(gè)強(qiáng)化學(xué)習(xí)算法,同樣也用在打Dota2的 OpenAI Five中。
我們的智能體在玩蒙特祖瑪?shù)膹?fù)仇。在大約12分鐘的游戲中,智能體的最終得分是74500分(視頻為雙倍速)。雖然智能體的大部分游戲操作模仿了我們的demo,但通過在沿途撿到更多鉆石,智能體的得分最終超過了demo游戲的71500分。此外,智能體還學(xué)會(huì)了利用模擬器中的一個(gè)缺陷,使鑰匙在視頻的4分25秒處再次出現(xiàn),而這在demo中是不存在的。
探索與學(xué)習(xí)
為了在強(qiáng)化學(xué)習(xí)問題上取得成功,AI需要解決兩個(gè)問題:
找到一系列能夠帶來積極獎(jiǎng)勵(lì)的行動(dòng)。這是探索問題(explorationproblem)。
記住要采取的行動(dòng)的順序,并推廣到相關(guān)但略有不同的情況。這是學(xué)習(xí)問題(learningproblem)。
在蒙特祖瑪?shù)膹?fù)仇游戲中,探索問題大部分可以通過重置demo里的狀態(tài)來繞過。通過從demo里的狀態(tài)開始,與從每章游戲的開頭開始相比,智能體需要執(zhí)行的探索更少。這樣做可以讓我們分開探索過程和學(xué)習(xí)過程。我們的研究結(jié)果表明,探索是蒙特祖瑪?shù)膹?fù)仇以及類似的雅達(dá)利游戲(例如PrivateEye)中最難解決的問題。
為什么探索很困難?
Model-free的RL方法,例如策略梯度和 Q-learning,通過隨機(jī)采取行動(dòng)進(jìn)行探索。如果隨機(jī)行為偶然導(dǎo)致獎(jiǎng)勵(lì),它們就會(huì)被強(qiáng)化,并且智能體未來會(huì)更傾向于采取這些有利的行為。如果獎(jiǎng)勵(lì)足夠密集,隨機(jī)行動(dòng)能夠?qū)е潞侠砀怕实莫?jiǎng)勵(lì),那么這種方法會(huì)很有效。但是,很多更復(fù)雜的游戲需要很長(zhǎng)的特定動(dòng)作的序列才能獲取獎(jiǎng)勵(lì),這樣的序列隨機(jī)發(fā)生的可能性非常低。
一個(gè)智能體采用隨機(jī)行動(dòng)來玩蒙特祖瑪?shù)膹?fù)仇游戲。如上面的視頻所示,隨機(jī)的探索不太可能導(dǎo)致智能體在蒙特祖瑪?shù)膹?fù)仇游戲中得到積極獎(jiǎng)勵(lì)。
考慮這樣一個(gè)游戲,它需要N個(gè)特定動(dòng)作的精確序列才能體驗(yàn)到第一個(gè)獎(jiǎng)勵(lì)。如果其中每個(gè)動(dòng)作被采取的概率都是固定的,那么一個(gè)隨機(jī)智能體要想獲得第一個(gè)獎(jiǎng)勵(lì),游戲時(shí)間需要擴(kuò)展到exp(N)。
在蒙特祖瑪?shù)膹?fù)仇游戲中,得到第一個(gè)鑰匙的概率可以分解為:
p(get key) = p(get down ladder 1) * p(get down rope) * p(get down ladder 2) * p(jump over skull) * p(get up ladder 3).
通過將N個(gè)概率相乘,我們得到的結(jié)果概率p(get key)比任何單個(gè)輸入的概率都要小。隨著問題變得更具挑戰(zhàn)性,以指數(shù)級(jí)縮小的算法很快就會(huì)崩潰,這限制了當(dāng)前強(qiáng)化學(xué)習(xí)技術(shù)所能解決的任務(wù)。
通過demo簡(jiǎn)化探索問題
盡管 model-free 的RL方法很難找到長(zhǎng)序列的動(dòng)作,但對(duì)于較短的動(dòng)作序列,它們可以表現(xiàn)很好。我們的主要觀點(diǎn)是,可以通過將任務(wù)分解為需要短動(dòng)作序列的子任務(wù)的curriculum來簡(jiǎn)化探索任務(wù);我們通過從demo狀態(tài)開始每個(gè)RL episode來構(gòu)建這個(gè)curriculum。
我們的方法通過讓每個(gè)RL episode從先前錄制的demo中的一個(gè)狀態(tài)開始。在訓(xùn)練初期,智能體在demo結(jié)束時(shí)開始一個(gè)episode。一旦智能體能夠擊敗demo或至少與demo的分?jǐn)?shù)持平,我們就慢慢地將起點(diǎn)往回移動(dòng)。這個(gè)過程一直持續(xù),直到智能體的起點(diǎn)回到游戲開始時(shí),完全不使用demo程序,這時(shí)我們得到一個(gè)RL訓(xùn)練的智能體在整個(gè)游戲中擊敗人類專家或與人類專家的表現(xiàn)持平。
通過將起始狀態(tài)從demo的結(jié)尾慢慢移動(dòng)到起點(diǎn),我們確保智能體在每個(gè)點(diǎn)上面臨的探索問題都很容易解決,因?yàn)樗呀?jīng)學(xué)會(huì)解決大部分剩余的游戲。我們可以將這種解決RL問題的方法解釋為一種動(dòng)態(tài)規(guī)劃(dynamic programming)的形式。如果需要一個(gè)特定的N個(gè)動(dòng)作的序列達(dá)到一個(gè)獎(jiǎng)勵(lì),現(xiàn)在這個(gè)序列可以在一個(gè)線性的時(shí)間里學(xué)習(xí),而非指數(shù)的時(shí)間。
從demo狀態(tài)的重置(resetting)開始episodes的想法以前也有提出過,但是沒有提出構(gòu)建一個(gè)將起始狀態(tài)逐步從demo的結(jié)尾回到開頭的curriculum。當(dāng)與模仿學(xué)習(xí)(imitation learning)相結(jié)合時(shí),一些研究人員報(bào)告說這種方法是有益的。對(duì)于我們的用例,我們發(fā)現(xiàn)這樣的curriculum對(duì)于從demo中獲得益處是至關(guān)重要的。
在蒙特祖瑪?shù)膹?fù)仇游戲中,利用強(qiáng)化學(xué)習(xí)和從demo的狀態(tài)開始每一個(gè)episode,我們的智能體學(xué)習(xí)到達(dá)了第一把鑰匙的位置。當(dāng)智能體開始玩游戲時(shí),我們將它放在鑰匙的正前方,要求它紙條一次就能成功找到鑰匙。在它學(xué)會(huì)這樣做之后,我們慢慢地將起點(diǎn)往回移動(dòng)。然后,智能體發(fā)現(xiàn)自己處于通往鑰匙的梯子的中間。一旦它學(xué)會(huì)了在哪個(gè)地方爬上梯子,我們就再退回一步,讓它從需要調(diào)過頭骨的地方開始。當(dāng)它學(xué)會(huì)后,我們?cè)僮屗鼜睦K子的位置開始,一直退回到從房間的地板開始,等等。最終,智能體回到了游戲的初始狀態(tài),并且學(xué)會(huì)了自己到達(dá)鑰匙的位置。
與基于模擬的方法(imitation-based)的比較
近期,DeepMind通過模擬學(xué)習(xí)(imitation learning)的方法展示了學(xué)習(xí)《蒙特祖瑪?shù)膹?fù)仇》的智能體。利用通過觀看YouTube視頻的方法[1]訓(xùn)練一個(gè)智能體,讓它能夠達(dá)到Y(jié)ouTube視頻中《蒙特祖瑪?shù)膹?fù)仇》里的狀態(tài);DeepMind最新的成果[2]則采用在與demo高度相似的操作中結(jié)合較復(fù)雜的Q-learning。這些方法的優(yōu)點(diǎn)是,它們不像我們的方法一樣需要控制很多的環(huán)境因素:除了游戲的起始狀態(tài),它們不需要重置環(huán)境的狀態(tài),他們不認(rèn)為可以獲得在demo中遇到的所有游戲狀態(tài)。我們的方法所優(yōu)化的并不是我們最關(guān)心的分?jǐn)?shù),而是讓智能體模擬demo;因此,我們的方法將不會(huì)跟可能存在的次優(yōu)demo過擬合,并且可以在多人游戲中提供便利:在這樣的場(chǎng)景中,我們希望可以優(yōu)化性能來對(duì)抗其它對(duì)手,而不僅僅是demo中的對(duì)手。
接下來的挑戰(zhàn)
雖然我們的智能體一步一步的學(xué)習(xí)要比從頭學(xué)起要簡(jiǎn)單得多,但這并非是沒有價(jià)值的。我們RL智能體所面臨的一個(gè)挑戰(zhàn)是當(dāng)它從demo一個(gè)較早的狀態(tài)開始時(shí)通常無法達(dá)到確切的狀態(tài)。這是因?yàn)橹悄荏w玩游戲的框架與我們用于記錄demo的框架是不同的,但這也是由于操作的隨機(jī)性,使得它不可能精確地再現(xiàn)任何操作的特定序列。因此,智能體將需要在非常相似但不相同的狀態(tài)之間進(jìn)行歸納。我們發(fā)現(xiàn)這對(duì)《蒙特祖瑪?shù)膹?fù)仇》非常有效,但對(duì)于我們嘗試過的其它Atari游戲就沒有那么的有效(例如《地心引力》(Gravitar)和《陷阱》(Pitfall))。其中一個(gè)可能的原因是,后者這些游戲需要解決更為困難的視覺問題:我們發(fā)現(xiàn)這些游戲在下采樣(down-sampled)的屏幕上很難操作,而當(dāng)我們使用更大、更深入的神經(jīng)網(wǎng)絡(luò)時(shí),會(huì)出現(xiàn)一些改進(jìn)。
我們遇到的另外一個(gè)挑戰(zhàn)是像策略梯度(policy gradients)這樣的標(biāo)準(zhǔn)RL算法需要再探索和利用之間進(jìn)行仔細(xì)的衡量:如果智能體的操作過于隨機(jī),當(dāng)游戲從頭開始時(shí),它會(huì)犯過多的錯(cuò)誤以至于無法達(dá)到最終所要求的分?jǐn)?shù);如果智能體的操作太具有確定性,那么智能體由于不再探索其它的行為而停止學(xué)習(xí)。因此,要實(shí)現(xiàn)《蒙特祖瑪復(fù)仇》報(bào)告中的結(jié)果,需要仔細(xì)調(diào)整PPO中使用的熵值系數(shù),并結(jié)合其它超參數(shù)(如學(xué)習(xí)率和scaling of rewards)。對(duì)于像《地心引力》和《陷阱》我們無法找到能夠完整訓(xùn)練的超參數(shù)。算法還展示了隨著運(yùn)行過程中產(chǎn)生的大量變化,有些過程并沒有達(dá)到《蒙特祖瑪?shù)膹?fù)仇》的要求。我們希望未來RL的進(jìn)展將產(chǎn)生對(duì)隨機(jī)噪聲和超參數(shù)選擇更健壯的算法。
最后,就像強(qiáng)化學(xué)習(xí)中經(jīng)常出現(xiàn)的情況一樣,我們發(fā)現(xiàn)我們訓(xùn)練過的神經(jīng)網(wǎng)絡(luò)策略還沒有在人類玩家的層面推廣。測(cè)試泛化能力的一種方法是通過使動(dòng)作具有粘性并在每一幀中以0.25的概率重復(fù)最后一個(gè)動(dòng)作來擾亂策略。使用這種評(píng)估方法,我們的訓(xùn)練策略在《蒙特祖瑪?shù)膹?fù)仇》中平均得分達(dá)到了10000分?;蛘?,我們可以采用概率為0.01的隨機(jī)操作(重復(fù)4幀分割步驟),這將導(dǎo)致我們的策略平均得分為8400。有趣的是,我們發(fā)現(xiàn)這樣的干擾也顯著地降低了人類玩家在《蒙特祖瑪?shù)膹?fù)仇》中的得分。就我們所知,我們才用干擾策略所產(chǎn)生的結(jié)果比所有已有的結(jié)果都要好。用0到30個(gè)隨機(jī)停止操作指令(no-op)來干擾學(xué)習(xí)策略不會(huì)讓結(jié)果產(chǎn)生明顯的變化,而且大多數(shù)的結(jié)果都達(dá)到了demo中獲得的最終分?jǐn)?shù)。
在過去的研究中,大多數(shù)的關(guān)注點(diǎn)都集中在了模仿上,這就造成了與demo中完全相同的行為,我們已經(jīng)證明了通過直接優(yōu)化返回值(returns)可以達(dá)到較好的結(jié)果。這就允許智能體與demo中的行為有一定的偏差,使智能體能夠找到人類演示者沒有考慮的,且更好的解決方案。通過在子任務(wù)上進(jìn)行訓(xùn)練(通過重新設(shè)定demo狀態(tài)獲得),我們使用這種技術(shù)解決了一個(gè)需要長(zhǎng)序列操作的困難的強(qiáng)化學(xué)習(xí)問題。
-
算法
+關(guān)注
關(guān)注
23文章
4552瀏覽量
92020 -
智能體
+關(guān)注
關(guān)注
1文章
119瀏覽量
10537 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
263瀏覽量
11157
原文標(biāo)題:DeepMind都拿不下的游戲,剛剛被OpenAI玩出歷史最高分
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論