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