效率提高50倍!谷歌提出從影象中學習世界的強化學習新方法
近日,谷歌 AI 和 DeepMind 合作建立了深度規劃網路(PlaNet)智慧體,僅基於影象輸入就能學習世界模型,並利用該模型規劃未來。與谷歌一年前提出的 世界模型 相比,PlaNet 的執行不需要策略網路,它對動作的選擇僅依靠 規劃 。此外,它在多項任務上的效能可媲美無模型方法,但平均資料效率是後者的 50 倍。
關於人工智慧體如何隨時間推移提升自己決策的研究正藉助強化學習(RL)取得快速進展。在這項技術中,智慧體在選擇動作(如運動指令)時觀察一系列感官輸入(如相片),有時會因為達到某個特定目標而得到獎勵。RL 無模型方法旨在從感官觀察結果中直接預測良好的動作,使得 DeepMind 的 DQN 可以玩 Atari 遊戲、其它智慧體能夠控制機器人。然而,這種黑箱方法通常需要經過數週的模擬互動才能通過反覆試驗來學習,這限制了它在實踐中的應用。
相比之下,基於模型的 RL 嘗試讓智慧體學習世界的普遍規律。它沒有將觀察結果直接對映到動作上,而是允許智慧體提前進行顯式規劃,從而通過「想象」其長期結果來更謹慎地選擇動作。基於模型的方法已經取得了很大的成功,包括 AlphaGo。AlphaGo 根據已知的遊戲規則,在虛擬的棋盤上想象出一系列動作。然而,為了在未知的環境中利用規劃(如在僅給定畫素作為輸入的情況下控制智慧體),智慧體必須從經驗中學習規則或動態變化情況。由於這種動態模型原則上允許更高的效率和自然的 多工學習 ,因此建立足夠精確的模型以成功地進行規劃是 RL 的長期目標。
為了推進這一研究挑戰的進展,谷歌 AI 和 DeepMind 合作建立了深度規劃網路(Deep Planning Network,PlaNet)智慧體,該智慧體僅從影象輸入中學習世界模型併成功地利用該模型進行規劃。PlaNet 解決了一系列基於影象的控制任務,在最終效能上可以媲美先進的無模型智慧體,且平均資料效率是後者的 50 倍。PlaNet 的程式碼已開源。
程式碼地址: https://github.com/google-research/planet
PlaNet 智慧體通過 2000 次嘗試,從輸入影象中學會解決多種連續控制任務。之前不學習環境模型的智慧體通常需要上述資料 50 倍的嘗試才能達到同樣的效能。
PlaNet 工作原理
PlaNet 在給定影象輸入的情況下學習動態模型,並利用該模型進行高效規劃以收集新的經驗。與之前在圖片上進行規劃的方法不同,谷歌依賴一個緊湊的隱藏或潛在狀態序列。谷歌將其命名為潛在動態模型:他們預測未來的潛在狀態,而不是直接從一個影象預測到下一個影象。接下來,從相應的潛在狀態中生成每一步的影象和獎勵。通過這樣壓縮影象,智慧體能夠自動學習更多的抽象表徵,如目標的位置和速度,這樣就可以更容易地預測下一步,而無需生成影象。
學習到的潛在動態模型:在潛在動態模型中,利用編碼器網路(灰色梯形)將輸入影象的資訊整合到隱藏狀態(綠色部分)中。然後將隱藏狀態向前投影,以預測未來的影象(藍色梯形)和獎勵(藍色矩形)。
為了學習準確的潛在動態模型,谷歌引入了:
-
迴圈狀態空間模型:這是一個含有確定和隨機成分的潛在動態模型,允許預測魯棒規劃所需的各種未來狀態,同時記住多個時間步上的資訊。實驗表明,兩種成分對於規劃效能的高低都至關重要。
-
Latent Overshooting 目標:谷歌將標準訓練目標泛化到潛在的動態模型,以通過強化潛在空間中一步和多步預測之間的一致性來訓練多步預測。這產生了一個快速、有效的目標,提高了長期預測,並與任何潛在序列模型相容。
雖然預測未來影象允許我們教模型學習,但編碼和解碼影象(上圖梯形)需要大量計算,這拖慢了規劃的速度。但是,在緊湊潛在狀態空間中的規劃速度很快,因為我們只需要預測未來獎勵(而不是影象)來評估動作序列。例如,智慧體可以在不看到場景的情況下,想象球的位置和球與目標的距離會因為某些動作如何變化。這允許研究人員在每次智慧體選擇一個動作時,對比 10000 個想象的動作序列和大批量。然後執行最優序列的第一個動作,再在下一步重新進行規劃。
潛在空間中的規劃:將之前的影象(灰色梯形)編碼為當前隱藏狀態(綠色)。之後高效預測多個動作序列的未來獎勵。然後執行最優序列的第一個動作(紅框)。
與谷歌之前的世界模型研究相比,PlaNet 的執行不需要策略網路——它對動作的選擇僅依靠規劃,因此可立即從模型改進中受益。技術細節參見相關論文《Learning Latent Dynamics for Planning from Pixels》。
PlaNet vs. 無模型方法
谷歌研究人員在連續控制任務上對 PlaNet 進行了評估。評估中只提供影象觀察結果和獎勵,評估包含以下不同任務:
-
cartpole 上翻任務:該任務使用固定攝像機,因此小車可能會超出視野。因此,智慧體必須消化並記住多個幀上的資訊。
-
手指轉球任務:需要預測兩個不同的物體以及二者之間的互動。
-
獵豹奔跑任務:包括與地面的接觸(準確預測的難度很高),需要模型預測多個可能的未來狀態。
-
cup 任務:僅在球被抓到的時候提供稀疏獎勵訊號。這要求對未來進行準確的預測,以規劃精確的動作序列。
-
walker 任務:模擬機器人最初狀態是躺在地上,因此在行走之前它必須學習站立。
PlaNet 智慧體在多個基於影象的控制任務上進行訓練。該動圖展示的是智慧體解決任務時的輸入影象。這些任務的難度在於:部分可觀測、接觸地面、稀疏獎勵、控制兩足機器人。
該研究初步展示了:在基於影象的任務中,在學得模型上進行規劃的方法優於無模型方法。下表對比了 PlaNet 與 A3C 智慧體、D4PG 智慧體(它們結合了無模型強化學習的近期進展)。這些基線數字來自於《 DeepMind Control Suite 》。我們可以明確看到,PlaNet 在所有任務上都優於 A3C,最終效能逼近 D4PG,而 PlaNet 與環境的平均互動數量只是這兩個無模型智慧體的 1/50。
一個智慧體解決所有任務
谷歌研究人員訓練了一個 PlaNet 智慧體,可解決全部六項任務。該智慧體在不瞭解任務的情況下被隨機放置在不同的環境中,因此它需要根據影象觀測結果來推斷任務內容。無需改變任何超引數,該多工智慧體的效能與任務特定單個智慧體的平均效能達到相同水平。儘管 PlaNet 智慧體在 cartpole 任務中學習速度較慢,但它在需要探索的較難 walker 任務中學習速度很快,且達到了較高的最終效能。
在多個任務上訓練的 PlaNet 智慧體的視訊預測結果。上面一行是智慧體的 holdout episode,下面一行是開環智慧體(open-loop agent)的幻覺。該智慧體以觀察到的前 5 幀作為背景,進而推斷任務和狀態,並基於動作序列準確預測接下來的 50 步。
結論
研究結果表明,學習動態模型對於構建自動強化學習智慧體大有用處。谷歌研究人員希望有更多研究聚焦在更高難度的任務上學習準確的動態模型,如 3D 環境和現實世界機器人任務。可以使用 TPU 的算力來擴充套件這些研究。這打開了基於模型的強化學習的可能性,包括多工學習、層級規劃(hierarchical planning)等。
論文:Learning Latent Dynamics for Planning from Pixels
論文地址: https://planetrl.github.io/
摘要:規劃在已知環境動態的控制任務中非常有用。要想在未知環境中利用規劃技術,智慧體需要從與世界的互動中學習環境動態。然而,學習足夠準確的動態模型一直是一項難題,尤其是在基於影象的領域中。我們提出了深度規劃網路(PlaNet),這是一個完全基於模型的智慧體,它從影象中學習環境動態,並通過在潛在空間中進行快速線上規劃來選擇動作。為了獲得高效能,動態模型必須準確預測未來多個時間步的獎勵。我們使用具備確定轉移(deterministic transition)和隨機轉移(stochastic transition)元件的潛在動態模型和多步變分推斷目標函式 latent overshooting 來解決這個問題。在僅有畫素觀測結果的情況下,我們的智慧體可解決具備接觸動態、部分可觀測性、稀疏獎勵難題的連續控制任務,這些任務的難度超過使用學得模型進行規劃的之前研究的任務難度。PlaNet 使用的訓練 episode 遠遠少於無模型演算法,但其最終效能接近甚至超過強大的無模型演算法。
原文連結: https://ai.googleblog.com/2019/02/introducing-planet-deep-planning.html?m=1