1. 程式人生 > 其它 >Learning Latent Dynamics for Planning from Pixels

Learning Latent Dynamics for Planning from Pixels


發表時間:2019(ICML 2019)
文章要點:文章提出了一個叫Deep Planning Network (PlaNet)的模型來學習環境的dynamics,然後用online planning的方式在這個模型構建的latent space上進行planning得到action。這裡面的關鍵就是model要能夠準確預測多步的reward(the dynamics model must accurately predict the rewards ahead for multiple time steps),作者的方法同時考慮了dynamics的確定性和隨機轉移,並將目標函式轉換成一個multi-step variational inference objective進行訓練,取得了很好的效果。
具體的,這個PlaNet包含四個model,Transition model,Observation model,Reward model以及Encoder

有了這個model之後,policy就直接用online planning的方式去search得到,就不用網路去學了。作者用的是model-predictive control,具體來說作者用的是cross entropy method,CEM。
至於訓練模型的資料,就是在planning得到的動作基礎上加個噪聲來收集資料。至於訓練,作者用了一個叫recurrent state-space model (RSSM)的模型,之前所有的四個model Transition model,Observation model,Reward model以及Encoder都假設是高斯,encoder就是根據以前的所有觀測和動作來預測狀態,注意這個encoder是基於觀測的,而transition是基於狀態的。訓練的目標函式為

然後作者為了把transition分成確定和不確定,還把Transition model分成了兩個部分

這裡h表示確定性的轉移,s就表示基於h和隨機轉移產生的狀態。
然後目前這個目標函式值考慮了一步的擬合,作者進一步考慮多步的擬合,也就是根據前面d步的狀態,學習下一個狀態

目標函式對應變成

然後再把latent overshooting加進來,這裡latent overshooting我感覺就是之前的訓練只考慮了d步,現在我要考慮任意步數

總結:

感覺這個文章很晦澀,說了很多,但是又好像什麼都沒說,式子裡面也沒有完全體現出各個部分是怎麼訓練的,可能還是我太菜了啊,唉。
疑問:作者把這個訓練的目標叫做latent overshooting,這個overshooting咋理解,就是考慮多步嗎?
Contact dynamics是啥?
cross entropy method,CEM之前看過又忘了,還要再看看。
filtering posterior是啥,不懂。可能需要看看Kalman filter。
雖然目標函式看來是沒啥問題,但是具體寫到網路裡是長啥樣的,輸入輸出啥的還是不清楚,只能看程式碼了。
證明沒有看。