若是要讓機器人擁有人的學習能力,應該怎麼作?伯克利 AI 研究院給出了一個很好的答案——元強化學習(meta-RL)。但這一次伯克利 AI 研究院不僅是使用了元強化學習,還考慮POMDP、異步策略梯度等等知識體系,最終獲得了一個高樣本效率、高探索效率的新算法「PEARL」。這一成果不只爲解決 AI 的實際問題提供新的思考角度;同時也是實如今現實系統中規模化應用元強化學習的的第一步。伯克利 AI 研究院發佈博文介紹了這一成果,編譯以下。算法
背景網絡
一個智能體若是要在不斷變化的複雜環境中正常運行,那麼它得到新技能的速度必須足夠快。就像人類在這一方面表現出的非凡能力同樣,好比:人類能夠從某個示例中學習怎樣辨別出一個全新的物體;在幾分鐘內適應不一樣汽車的不一樣駕駛方式;以及聽過某個俚語後,就能在本身的詞典中加上這個詞,等等。app
所以,假設要使智能體來完成諸如人類這樣的學習能力,元學習則是一種能夠參考的方法。使用這一範式,智能體能夠經過充分利用在執行相關任務中積累的豐富經驗,以這些有限的數據爲基礎去適應新的任務。針對這類既須要採起行動又須要積累過往經驗的智能體來講,元強化學習能夠幫助其快速適應新的場景。但美中不足的是,雖然訓練後的策略能夠幫助智能體快速適應新的任務,但元訓練過程須要用到來自一系列訓練任務的大量數據,這就加重了困惱強化學習算法的樣本效率低下問題。所以,現有的元強化學習算法在很大程度上只能在模擬環境中正常運行。在本文中,咱們簡要介紹了元強化學習的研究現狀,而後提出了一種新算法—— PEARL,該算法使得樣本效率獲得數量級的大幅度提高。機器學習
前期回顧:元強化學習的研究進展異步
兩年前,伯克利博客發佈了一篇叫作《Learning to Learn》(文章查閱地址:https://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/)的文章。這篇文章除了提出新的算法外,還對當時人們對元學習的興趣激增作了調查統計,結果代表不管是當時仍是如今,元學習的關鍵思路就是把複雜的問題簡化成咱們已經知道如何解決的問題。在傳統的機器學習中,研究者會給定一組數據點用來匹配模型;而在元學習中,則用一組數據集來替換這些數據點,其中每一個數據集都對應一個學習問題。只要學習這些問題的過程(所謂的「適應」)是可區分的,就能夠像往常同樣,在具備梯度降低的外循環(元訓練)中對其進行優化。一旦通過訓練,適應程序就能夠迅速從少許數據中解決新的相關任務。函數
最近的元強化學習進展(從左到右依次爲:經過元學習對觀察到人類行爲實現單樣本模仿https://arxiv.org/abs/1802.01557、以元強化學習模型爲基礎的斷腿適應https://arxiv.org/abs/1803.11347、用演變的策略梯度來推斷超越訓練任務分佈的狀況https://arxiv.org/abs/1802.04821)性能
當時,大多數元學習工做都集中在小樣本圖像分類上。在此後的幾年裏,元學習應用到了更普遍的問題上,如視覺導航、機器翻譯和語音識別等等。因此,將強化學習運用到元學習方法內是一個具備挑戰性但又振奮人心的任務,由於這樣的結合將有望使智能體可以更快速地學習新的任務,這個能力對於部署在複雜和不斷變化的世界中的智能體來講是相當重要的。學習
由於元學習自己的樣本複雜性問題和深度強化學習緊密相關,所以元學習能夠經過與深度強化學習相結合來解決這個問題。兩年前一些關於元學習的論文(RL2 https://arxiv.org/abs/1611.02779,Wang et al. https://arxiv.org/abs/1611.05763, 和 MAML https://arxiv.org/abs/1703.03400) ,介紹了在策略梯度(policygradient)和密集獎勵(denserewards)的有限環境中將元學習應用於強化學習的初步結果。此後,不少學者對這個方法產生了濃厚的興趣,也有更多論文展現了將元學習理念應用到更普遍的環境中,好比:從人類演示中學習(https://arxiv.org/abs/1802.01557)、模仿學習(https://arxiv.org/abs/1810.03237)以及基於模型的強化學習(https://arxiv.org/abs/1803.11347)。除了元學習模型參數外,咱們還考慮了超參數和損失函數。爲了解決稀疏獎勵設置問題,因而有了一種利用元學習來探索策略的方法。測試
儘管取得了這些進展,樣本效率仍然是一項挑戰。當考慮將 meta-RL 應用於實際中更復雜的任務時,快速適應這些任務則須要更有效的探索策略,所以在實際學習任務中,須要考慮如何解決元訓練樣本效率低下的問題。所以,伯克利 AI 研究院基於這些問題進行了深刻研究,並開發了一種旨在解決這兩個問題的算法。優化
異步策略元強化學習的優點
儘管策略梯度強化學習算法能夠在複雜的高維控制任務(如控制擬人機器人的運行)上實現高性能,但它們的樣本效率仍然很低。好比,最早進的策略梯度法(PPO https://arxiv.org/abs/1707.06347)須要一億個樣原本學習一個良好的類人策略,若是咱們在一個真實的機器人上運行這個算法,並用一個 20 赫茲控制器使其連續運行,在不計算重置時間的狀況下,須要耗費近兩個月的時間來學習。其效率低下的主要緣由是造成策略梯度更新的數據必須從現行策略中取樣,而不是在訓練期間重複使用之前收集的數據。最近的異步策略(off-policy )算法(TD3 https://arxiv.org/abs/1802.09477,SAC https://arxiv.org/abs/1801.01290)與策略梯度算法的性能不相上下,然而須要的樣本數量卻減小了 100 倍。若是研究者可以利用這種算法進行元強化學習,數週的數據收集時間可減小至半天,這就使元學習更高效。異步策略學習在從零開始進行訓練時,除了大大提升了樣本效率外,還有進一步的功能優化——它不光能夠利用之前收集的靜態數據集,還能夠利用其餘機器人在其餘場景中的數據。
非策略強化學習(SAC)比策略梯度(PPO)更有效
在監督元學習中,用於適應新任務的數據是給定的。例如,在小樣本圖像分類中,咱們會爲元學習智能體提供針對咱們但願標註的新的類的圖像和標註。在強化學習中,智能體負責探索和收集自身的數據,所以適應程序必須包括有效的探索策略。「黑盒子」元學習智能體(RL2,and SNAIL https://arxiv.org/abs/1707.03141)能夠學習這些探索策略,由於在遞歸優化中,整個適應過程被視爲一個長序列。相似地,基於梯度的元強化學習方法能夠經過將信用分配給更新前策略收集到的軌跡和更新後策略得到的回報來學習探索策略。雖然理論上是可行的,但實際上這些方法並無學習臨時延伸的探索策略。
爲了解決這個問題,MAESN (https://arxiv.org/abs/1802.07245)以決定策略和經過梯度降低來適應新任務的機率性潛在變量的方式,增長告終構化的隨機性。該模型通過訓練,使先前的樣本對探索軌跡進行編碼,而來自適應變量的樣本則獲得最優的適應軌跡。總的來說,全部這些方案都適用於同步策略(on-policy)強化學習算法,由於它們依賴於從同一現行策略中取樣的探索和適應軌跡,所以須要同步策略採樣。爲了構建同步策略元強化學習算法,咱們將採用不一樣的方法來探索。
經過元學習後驗採樣法探索
在全新的場景中進行探索,一個很是簡單的方法是僞裝它是你已經見過的東西。例如,若是你第一次看到火龍果並想去吃它,你會將它類比成芒果而按照吃芒果的方式用刀來切開它。這是一種很好的探索策略,它可以讓你吃到裏面美味的果肉。而當你發現火龍果的果肉更像獼猴桃後,你可能又會切換到吃獼猴桃的策略,使用勺子挖出果肉吃。
在強化學習的相關文獻中,這樣的探索方法叫作後驗採樣(或 Thompson sampling)。智能體在 MDPs 上有個數據集分佈,而後從該分佈中迭代採樣新的 MDP,並根據它來決定最佳的操做方式,同時使用收集到的數據來完成分佈的更新。隨着收集的數據愈來愈多,後驗分佈縮小,使探索和迭代之間實現穩定的過渡。這一策略看似有限,由於它去掉了採起無目的探索性行爲的可能性;然而此前的一項工做「(More) Efficient Reinforcement Learning via Posterior Sampling」代表,經過後驗採樣確保最壞狀況下累積的遺憾值(regret)接近於當前最佳的探索策略。
經過後驗採樣法吃一個奇怪的新水果
在實際問題中,咱們如何在 Mdps 上表示這種分佈?一種多是保持過渡和獎勵功能的分佈。爲了根據採樣模型進行操做,咱們可使用任何基於模型的強化學習算法。Bootstrapped DQN 將這一想法應用於無模型的深度強化學習中,並在 Q 函數上維持近似後驗。咱們認爲能夠經過學習不一樣任務在Q 函數上的分佈來將這一想法擴展到多任務環境中,而且這種分佈對於新的相關任務中的探索很是有效。
爲了在元強化學習中引入後驗採樣法,咱們先在 Mdps 上對基於 Q 函數的分佈進行建模,經過實例化潛在變量 z,並根據經驗(或語境)來推斷出模型會將 Q 函數做爲輸入來調整其預測 。在元訓練過程當中,學習 z 此前全部的變量來表示元訓練任務的分佈。面對測試時的新任務,智能體從以前的假設中取樣,而後根據選出的這一假設決定在環境中採起什麼樣的行動,以後再經過新的證實來對後驗分佈進行更新。當智能體收集軌跡時,後驗分佈縮小,同時該智能體也會生成對當前任務更好的預測。
將元強化學習視爲 POMDP
運用在元強化學習上的貝葉斯後驗觀點,揭示了元強化學習與partially observed MDPs(部分可觀察的馬爾可夫決策過程)(POMDPs)之間的關係。當建模環境中當前觀察到的事情沒法告知你當前環境中的全部事情時(即只能部分觀察當前狀態),POMDPs 對於這種建模環境來講很是有用。就比如說,當你在一棟樓附近行走,燈光忽然所有熄滅,此時你沒法從黑暗中當即觀察到你在什麼位置,但你仍然會對本身的位置有一個預估,由於你能夠憑藉記憶在燈光熄滅前所看到的場景來預估。而求解 POMDPs 就是類似的原理,它涉及到對觀測歷史信息的集成,從而達到準確地估計當前狀態的目標。
POMDP 的圖像模型
元強化學習則能夠被看做是具備特殊結構的 POMDP,它的任務就是當前狀態中惟一未觀察到的部分。在咱們的示例中,任務可能就是找到一個你從未去過的辦公室。在標準的 POMDP 中,智能體每進行下一步時都必須對狀態進行從新估計,這樣就可以不斷地更新對建築物中位置的估計。而在元強化學習示例中,任務在各個探索軌跡上不會一直變化,即在現實世界中,辦公室的位置不會在尋找過程當中改變。這也表示該方法能夠保持對辦公室位置的估計,而無需擔憂潛在的系統動態在每一個步驟中改變它的實際位置。將元強化學習算法轉換爲 POMDPs 的說法,即智能體要維持任務的信念狀態(belief state )——當在多個探索軌上收集信息時,任務會進行更新。
貝殼中的 PEARL
如何把任務上的信念狀態與現有的異步策略強化學習算法結合起來呢?首先,咱們能夠經過使用以上下文(經驗)爲輸入的編碼器網絡 q(z|c) 推斷出後驗信念的變分近似。爲了保持可操做性,咱們將後驗部分表示爲一個高斯函數 (Gaussian)。對於強化學習算法的智能體,咱們選擇在 Soft Actor-Critic(SAC)的基礎上建模,由於它具備當前最佳的性能和樣本效率。信念狀態中的樣本傳遞給 actor、critic,以便他們可以根據樣本任務進行預測。而後元訓練過程包括學習推導給定上下文的後驗 q(z|c),並根據給定的 z 優化訓練 actor 和 critic。編碼器則是使用 critic 的梯度漸變優化(所以 q(z|c) 表示 Q 函數上的分佈),以及信息瓶頸也是如此。出現這種瓶頸是派生出變分下界的結果,但這也能夠直觀地將其解釋爲上下文和 z 之間信息的最小化,這樣 z 就包含了預測狀態-動做值所需的最小化的信息。
關於這個方案須要注意的一點是,爲訓練 actor 和 critic 而取樣的一批數據與上下文的一批數據會分離。直觀而言,這是有用的:經過明確表示任務的信念狀態,智能體將任務推斷與控制分離,而且可使用徹底不一樣的數據源來學習每一個任務。這與 MAML 和 RL2 等方法造成了鮮明對比,它們將任務推理和控制結合在一塊兒,所以必須同時使用一批數據。
而事實也證實這種分離對於異步策略元訓練很重要。究其緣由,咱們能夠想到,目前的元學習預測基於的假設是:訓練和測試階段應保持一致。例如,在測試時進行新動物物種分類任務的元學習智能體,應該接受在包括動物在內的類分佈上進行訓練。而強化學習中與此相似的是,若是在測試時智能體經過收集同步策略數據來進行調整,那麼它也應該使用策略上的數據進行訓練。所以,在訓練期間使用異步策略數據則會給分佈帶來變化,從而破壞了這一基本假設。在 PEARL 中,咱們能夠經過對同步策略數據進行上下文采樣,同時將異步策略數據用於 actor-critic 的訓練,來減少這一分佈的變化,並大規模使用異步策略數據。
彼時,該算法的一部分仍然是抽象的編碼器體系結構。回顧下,這個編碼器的工做是在上下文中(由狀態、動做、獎勵和下一個狀態組成的一組轉換)進行,並在潛在的上下文變量上生成高斯後驗參數。雖然遞歸神經網絡在這裏看似是一個明智的選擇,但咱們注意到,Markov 的屬性意味着能夠在不考慮它們在軌跡中順序的狀況下對這些轉換進行編碼。基於這一觀察,咱們採用了一個具備排列不變性、能夠獨立地預測每一個轉換的高斯因子的編碼器,並讓這些因子相乘構成後驗採樣。與 RNN 相比,該體系結構在優化方面更快、更穩定,而且能夠適應更大規模的上下文。
準備充分後,PEARL 怎麼工做?
咱們使用 MuJoCo 模擬器在六個基準連續控制域上對 PEARL 進行了測試,該模擬器在不一樣任務之間有不一樣的獎勵或動態功能。例如,對於 Ant 智能體,不一樣的任務對應着在 2D 平面上爲不一樣目標位置導航;而對於 Walker 智能體來講,任務對應於其關節的不一樣參數和其餘物理參數。
咱們將 PEARL 與三種最早進的元強化學習算法進行了比較,即 ProMP、MAML 和 RL2。結果以下圖所示,其中藍色曲線表明 PEARL 的結果。須要注意的是,x 軸的單位(呈對數比例)。該方法經過在元訓練過程當中利用異步策略數據,將樣本效率全面提升了 20-100 倍,而且它的最終表現每每也優於基線。
在稀疏的獎勵域,有效的探索尤爲重要。試想一個點機器人,它必須對半圓上的不一樣目標位置導航,而且只有定位到目標位置的小半徑範圍內(可在藍色區域觀察到)纔會得到獎勵。經過對目標位置的不一樣假設進行採樣並隨後更新其信念狀態,智能體能夠進行有效地探索,直到找到目標位置。咱們經過對 PEARL 與 MAESN 進行比較,MAESN 就是咱們前面討論到的經過潛在變量生成的元學習探索策略,最終發現 PEARL 不只在元訓練中具備更高的採樣效率,還能更有效地進行探索。
點機器人利用後驗採樣來探索和找到稀疏獎勵設置中的目標
將來發展方向
雖然元學習爲智能體如何快速適應新的場景提供了一個可能的解決方案,但它同時也產生了更多的問題!例如,元訓練任務從何而來?它們必須手動設計,仍是能夠自動生成的?雖然元學習從本質上來講是偶然的,但現實世界是一個持續不斷的、永無止境的變化流程——智能體如何處理一直隨時間變化的任務?設計獎勵函數很是困難——相反地,咱們可否在元強化學習算法中同時利用二進制反饋、偏好和演示?咱們認爲 PEARL 中貝葉斯推理方面的研究可以爲解決其中一些問題帶來一個新的視角;同時咱們也相信,PEARL 在學習異步策略上的能力是實如今現實系統中規模化應用元強化學習的的第一步。