天天看點

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

Google Brain,Deepmind 提出的 PlaNet

論文位址:https://danijar.com/publications/2019-planet.pdf

源碼位址:https://github.com/google-research/planet

摘要

planning(規劃)對已知環境轉移動态的控制任務非常成功,如需在未知環境中使用 planning,則 agent 需要通過環境互動學習轉移動态。然而,學到足夠精确支援 planning 的轉移動态模型是一項長期挑戰,特别是在圖像領域。

本文提出 Deep Planning Network (PlaNet),是一個model-based agent,能夠:

  1. 從圖像中學習環境轉移動态;
  2. 通過在隐空間進行快速線上 planning 來選擇動作。

要實作高性能,轉移動态模型必須能精确預測多個時間步之後的 reward。為達成這一目标,本文使用了一個隐動态模型,包含确定性和随機性元件。同時,本文還提出了一個多步變分推斷目标,記為 latent overshooting.

本文所提出的 agent 僅使用像素觀察,來解決部分可觀測,稀疏 reward 的控制問題,超出了以往 model-based方法解決問題的難度。其表現與 model-free 方法相當,而樣本量更少。

背景介紹

學習轉移動态模型最主要的困難包括:模型的準确性,多步預測累積的誤差,未能捕獲未來豐富的可能性,以及對訓練分布的過拟合造成的泛化失敗。

使用學習得到的模型進行 planning,相比 model-free 方法有以下幾點好處:

  1. model-based planning 方法更加 data-efficient(資料依賴小),因為它對訓練信号的使用更充分,并且不需要通過貝爾曼方程傳遞 reward;
  2. 以增加對 action 的搜尋為計算代價,planning 提高了agent 的表現
  3. 學到的模型獨立于特定任務,有潛力通過轉化服務于相同/似環境下的其他任務。

近期的工作已經展示了在簡單低維情形下學習轉移動态的優勢,但這些工作都假定已知環境的底層狀态和明确的reward函數,這在現實應用中并不可行。在高維情形下,我們希望在一個緊湊的隐空間學習轉移動态以保證快速 planning。這種隐空間模型已經在簡單任務上取得了成功。

一句話總結:PlaNet 發展了model-based planning 方法,解決了更困難的基于像素的連續控制問題。

主要貢獻:潛空間planning,循環狀态空間模型,latent overshooting(給出多步預測變分下界,改善多步預測結果).

潛空間planning

Framework

假設已有學到的轉移動态模型,算法架構如下:

由于單一圖像無法反映環境狀态的全部資訊,将問題模組化為一個POMDP(部分可觀測 markov 決策過程), s t s_t st​為底層狀态, o t o_t ot​為環境觀測, a t a_t at​為連續動作向量。

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

注意到PlaNet所有的模組化都隻針對環境,而後在環境中進行規劃,并沒有政策網絡/值網絡。同時,在互動過程中,每一步都重新做planning,以保證能夠根據新的觀測作出調整(與MPC類似)。

Planning 算法

Planning算法使用了CEM (cross entropy method), CEM是一種基于群體的優化方法,它能夠推斷出動作序列的最優分布。

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

模型

本文提出一個循環狀态空間模型 (RSSM) 在隐空間進行前向預測,這一模型可被看作非線性Kalman濾波器或者序列VAE.

SSM

潛狀态空間模型如下圖b所示,下面所涉及的模型都是由神經網絡參數化的高斯分布。

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗
強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

由于模型都是非線性的,是以無法直接計算出參數學習所需的狀态後驗。是以,本文使用編碼器 q ( s 1 : T ∣ o 1 : T , a 1 : T ) = ∏ t = 1 T q ( s t ∣ s t − 1 , a t − 1 , o t ) q\left(s_{1 : T} | o_{1 : T}, a_{1 : T} \right)=\prod_{t=1}^{T} q\left(s_{t} | s_{t-1}, a_{t-1}, o_{t}\right) q(s1:T​∣o1:T​,a1:T​)=∏t=1T​q(st​∣st−1​,at−1​,ot​)來從過去的觀測和動作中近似推斷狀态後驗,其中 q ( s t ∣ s t − 1 , a t − 1 , o t ) q\left(s_{t} | s_{t-1}, a_{t-1}, o_{t}\right) q(st​∣st−1​,at−1​,ot​)是一個由“卷積網絡+前向網絡”參數化的對角高斯分布。

為使用編碼器,本文建立了一個基于資料對數似然的變分下界 (Jensen 不等式):

ln ⁡ p ( o 1 : T ∣ a 1 : T ) ≜ ln ⁡ ∫ ∏ t p ( s t ∣ s t − 1 , a t − 1 ) p ( o t ∣ s t ) d s 1 : T ≥ ∑ t = 1 T ( E q ( s t ∣ o ≤ t , a < t ) [ ln ⁡ p ( o t ∣ s t ) ] ⎵  reconstruction  − E q ( s t − 1 ∣ o ≤ t − 1 , a < t − 1 ) [ K L [ q ( s t ∣ o ≤ t , a < t ) ∥ p ( s t ∣ s t − 1 , a t − 1 ) ] ] ⎵  complexity  ) . \ln p\left(o_{1 : T} | a_{1 : T}\right) \triangleq \ln \int \prod_{t} p\left(s_{t} | s_{t-1}, a_{t-1}\right) p\left(o_{t} | s_{t}\right) d s_{1 : T}\geq \sum_{t=1}^{T}\left(\underbrace{\mathrm{E}_{q\left(s_{t} | o _{\leq t}, a_{<t}\right)}\left[\ln p\left(o_{t} | s_{t}\right)\right]}_{\text { reconstruction }} -\underbrace{\mathrm{E}_{q\left(s_{t-1} | o _{\leq t-1}, a_{<t-1}\right)}\left[\mathrm{KL}\left[q\left(s_{t} | o_{ \leq t}, a_{<t}\right) \| p\left(s_{t} | s_{t-1}, a_{t-1}\right)\right]\right]}_{\text { complexity }}\right). lnp(o1:T​∣a1:T​)≜ln∫∏t​p(st​∣st−1​,at−1​)p(ot​∣st​)ds1:T​≥∑t=1T​⎝⎜⎛​ reconstruction 

Eq(st​∣o≤t​,a<t​)​[lnp(ot​∣st​)]​​− complexity 

Eq(st−1​∣o≤t−1​,a<t−1​)​[KL[q(st​∣o≤t​,a<t​)∥p(st​∣st−1​,at−1​)]]​​⎠⎟⎞​.

推導比較簡單,包含重要性采樣和Jensen不等式的使用兩個步驟,包含在附錄中,關于變分下界的推導也可參考變分自編碼器VAE(Variational Autoencoders)及示例代碼。使用重參數化技巧保證了随機梯度下降可以順利使用。

RSSM

盡管随機模型具有很強的泛化能力,然而,純粹的随機模型難以記住多個時間步驟所包含的資訊。理論上,某些情況下政策方差可以設定為0(确定性政策),然而上述優化過程難以收斂到這類結果。這促使本文引入了一個确定性激活向量序列 { h t } t = 1 T \left\{h_{t}\right\}_{t=1}^{T} {ht​}t=1T​ 允許模型确定地通路所有先前的狀态。于是就有了本文所使用的模型 RSSM,如上圖c所示。

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

其中 f ( h t − 1 , s t − 1 , a t − 1 ) f\left(h_{t-1}, s_{t-1}, a_{t-1}\right) f(ht−1​,st−1​,at−1​)是一個RNN。直覺地,我們可以了解為該模型将狀态劃分為一個随即部分 s t s_t st​和一個确定狀态 h t h_t ht​,它們由之前時間步的随即部分和确定部分決定。本文使用編碼器 q ( s 1 : T ∣ o 1 : T , a 1 : T ) = ∏ t = 1 T q ( s t ∣ h t , o t ) q\left(s_{1 : T} | o_{1 : T}, a_{1 : T}\right)=\prod_{t=1}^{T} q\left(s_{t} | h_{t}, o_{t}\right) q(s1:T​∣o1:T​,a1:T​)=∏t=1T​q(st​∣ht​,ot​)來參數化近似狀态後驗。

Latent Overshooting

Motivation

在上一部分,本文建立了在隐序列空間進行學習和推斷的标準變分下界,包含一個針對觀測的重構項和一個針對近似後驗的KL散度正則項。這個變分推斷目标的一個缺陷是:轉移機率函數 p ( s t ∣ s t − 1 , a t − 1 ) p\left(s_{t} | s_{t-1}, a_{t-1}\right) p(st​∣st−1​,at−1​)的随機部分僅被KL正則中的單步預測所訓練,梯度經過 p ( s t ∣ s t − 1 , a t − 1 ) p\left(s_{t} | s_{t-1}, a_{t-1}\right) p(st​∣st−1​,at−1​)後直接進入 q ( s t − 1 ) q(s_{t-1}) q(st−1​),而不進入 p ( s t − 1 ∣ s t − 2 , a t − 2 ) p\left(s_{t-1} | s_{t-2}, a_{t-2}\right) p(st−1​∣st−2​,at−2​)進而周遊多個 p ( s t i ) p(s_{t_i}) p(sti​​). 在這一部分,我們将标準變分下界推廣到 latent overshooting,可在潛空間訓練所有的多步預測。

事實上,如果模型能夠做完美的單步預測,那麼它也能做出完美的多步預測。然而,通常使用的模型都容量有限并且限制在确定的分布族上,将模型單步訓練至收斂,與多步預測所需的最佳模型并不一緻。成功規劃需要精确的多步預測,并在所有的多步預測資料上訓練模型。本文把這一想法推廣到潛序列模型,表明多步預測也可以被潛空間上的loss來優化,而不需要添加額外的圖像。

固定距離 d d d的多步預測

我們開始把上面訓練單步預測的标準變分下界推廣到固定距離 d d d的多步預測情形。為省略起見,省略了 s t s_t st​關于 a t a_t at​的先驗。則:

p ( s t ∣ s t − d ) ≜ ∫ ∏ τ = t − d + 1 t p ( s τ ∣ s τ − 1 ) d s t − d + 1 : t − 1 = E p ( s t − 1 ∣ s t − d ) [ p ( s t ∣ s t − 1 ) ] \begin{aligned} p\left(s_{t} | s_{t-d}\right) &amp; \triangleq \int \prod_{\tau=t-d+1}^{t} p\left(s_{\tau} | s_{\tau-1}\right) d s_{t-d+1 : t-1} \\ &amp;=\mathrm{E}_{p\left(s_{t-1} | s_{t-d}\right)}\left[p\left(s_{t} | s_{t-1}\right)\right] \end{aligned} p(st​∣st−d​)​≜∫τ=t−d+1∏t​p(sτ​∣sτ−1​)dst−d+1:t−1​=Ep(st−1​∣st−d​)​[p(st​∣st−1​)]​

于是,關于多步預測分布 p d p_{d} pd​ 的變分下界為:

ln ⁡ p d ( o 1 : T ) ≜ ln ⁡ ∫ ∏ t = 1 T p ( s t ∣ s t − d ) p ( o t ∣ s t ) d s 1 : T ≥ ∑ t = 1 T ( E q ( s t ∣ o ≤ t ) [ ln ⁡ p ( o t ∣ s t ) ] ⎵  reconstruction  − E p ( s t − 1 ∣ s t − d ) q ( s t − d ∣ o ≤ t − d ) [ K L [ q ( s t ∣ o ≤ t ) ∥ p ( s t ∣ s t − 1 ) ] ] ⎵  multi-step prediction  ) \ln p_{d}\left(o_{1 : T}\right) \triangleq \ln \int \prod_{t=1}^{T} p\left(s_{t} | s_{t-d}\right) p\left(o_{t} | s_{t}\right) d s_{1 : T}\geq \sum_{t=1}^{T}\left(\underbrace{\mathrm{E}_{q\left(s_{t} | o _{\leq t}\right)}\left[\ln p\left(o_{t} | s_{t}\right)\right]}_{\text { reconstruction }}-\underbrace{\mathrm{E}_{p\left(s_{t-1} | s_{t-d}\right) q\left(s_{t-d} | o_{ \leq t-d}\right)}\left[\mathrm{KL}\left[q\left(s_{t} | o_{ \leq t}\right) \| p\left(s_{t} | s_{t-1}\right)\right]\right]}_{\text { multi-step prediction }}\right) lnpd​(o1:T​)≜ln∫∏t=1T​p(st​∣st−d​)p(ot​∣st​)ds1:T​≥∑t=1T​⎝⎜⎛​ reconstruction 

Eq(st​∣o≤t​)​[lnp(ot​∣st​)]​​− multi-step prediction 

Ep(st−1​∣st−d​)q(st−d​∣o≤t−d​)​[KL[q(st​∣o≤t​)∥p(st​∣st−1​)]]​​⎠⎟⎞​

推導和上一部分類似,最大化這一目标就能使多步預測的準确性得到訓練。這一反應了在多步預測中,模型無需通路先前的所有觀測,僅在潛空間就可進行預測。

Latent overshooting:可變距離多步預測

Latent overshooting就是再把多步預測變分下界從固定 d d d步推廣到 1 ≤ d ≤ D 1\le d \le D 1≤d≤D:

1 D ∑ d = 1 D ln ⁡ p d ( o 1 : T ) ≥ ∑ t = 1 T ( E q ( s t ∣ o ≤ t ) [ ln ⁡ p ( o t ∣ s t ) ] ⎵  reconstruction  − 1 D ∑ d = 1 D β d E p ( s t − 1 ∣ s t − d ) q ( s t − d ∣ o ≤ t − d ) [ K L [ q ( s t ∣ o ≤ t ) ∥ p ( s t ∣ s t − 1 ) ] ] ⎵  latent overshooting  ) \frac{1}{D} \sum_{d=1}^{D} \ln p_{d}\left(o_{1 : T}\right) \geq \sum_{t=1}^{T}\left(\underbrace{\mathrm{E}_{q\left(s_t | o _{\leq t}\right)}\left[\ln p\left(o_{t} | s_{t}\right)\right]}_{\text { reconstruction }}-\underbrace{\frac{1}{D} \sum_{d=1}^{D}\beta_d\mathrm{E}_{p\left(s_{t-1} | s_{t-d}\right) q\left(s_{t-d} | o_{ \leq t-d}\right)}\left[\mathrm{KL}\left[q\left(s_{t} | o_{ \leq t}\right) \| p\left(s_{t} | s_{t-1}\right)\right]\right]}_{\text { latent overshooting }}\right) D1​∑d=1D​lnpd​(o1:T​)≥∑t=1T​⎝⎜⎜⎜⎜⎛​ reconstruction 

Eq(st​∣o≤t​)​[lnp(ot​∣st​)]​​− latent overshooting 

D1​d=1∑D​βd​Ep(st−1​∣st−d​)q(st−d​∣o≤t−d​)​[KL[q(st​∣o≤t​)∥p(st​∣st−1​)]]​​⎠⎟⎟⎟⎟⎞​

Latent overshooting 可以被看作潛空間的正則項,鼓勵單步和多步預測之間的一緻性,因為這兩者在資料集上的期望應該是相等的。同時引入了權重因子 { β d } d = 1 D \{\beta_d\}^D_{d=1} {βd​}d=1D​,可以被調整來決定是更多關注短期預測還是長期預測。

對比

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

如上圖所示,a為标準變分下界,包含下方的重構loss,和上方單步預測的KL正則;b為觀測overshooting,将潛空間展開預測多步重構loss,但是在圖像領域計算代價過于昂貴;c可以看作以上兩者的結合和擴充。

從附錄結果看,latent overshooting 對于 RSSM 提升不顯著,對于确定性模型可能意義更大。

實驗

強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗
強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗
強化學習論文(5): Learning Latent Dynamics for Planning from Pixels摘要背景介紹潛空間planning模型Latent Overshooting實驗

繼續閱讀