Discovering and Achieving Goals via World Models


發表時間:2021(NeurIPS 2021)
文章要點:這篇文章提出Latent Explorer Achiever (LEXA)算法,通過學習world model的imagined rollouts來訓練一個explorer策略和一個achiever策略,通過unsupervised learning學習策略,最後可以zero-shot遷移到其他任務。這個方式的好處在於之前的探索方法只能讓agent返回到之前訪問過的state,而用world model和explorer可以發現沒去過的state,然後就可以生成多種多樣的target作爲訓練目標,實現unsupervised learning和zero-shot遷移到其他任務(Unlike prior methods that explore by reaching previously visited states, the explorer plans to discover unseen surprising states through foresight)。
具體的,分別訓練explorer和achiever,先通過explorer在model裏planning,發現novel state,然後在真正的環境裏執行這個動作序列得到真實的state,最後用這個state作爲achiever的target來學習。學完之後,這個achiever就可以直接用來完成其他任務了(the achiever solves tasks specified as goal images zero-shot without any additional learning)。

而這個world model的訓練用的Recurrent State Space Model (RSSM)(Learning Latent Dynamics for Planning from Pixels)

Explorer的訓練目標是最大化exploration reward,這個reward通過估計model uncertainty獲得。先是訓練一組model來做1-step prediction,然後用這些model的預測方差來作爲reward


然後就在model裏面,再加上這個reward用RL去學policy和value

這個方式和dreamer算法一樣(DREAM TO CONTROL: LEARNING BEHAVIORS BY LATENT IMAGINATION)。完了之後,這個policy會在真實環境中來採樣軌跡到buffer裏用來更新model。
然後achiever會根據採樣的goal,在model裏面訓練achiever的策略

這裏\(x_g\)是從buffer裏採樣的真實環境的goal,然後用encoder得到embedding \(e_g\),這個任務的reward就是一個到goal的距離度量,這個距離可以是當前state和goal state的餘弦值

或者是學的一個和多少步能走到goal state的一個相關值


然後訓練也用dreamer來做。整個算法如下

總結:非常好的一個思路啊,主要的好處就是可以探索沒有去過的state,而之前的探索方法都是先到過,然後通過加reward來重複到。相當於一個是foresight,一個是hindsight。另外他還直接做到了unsupervised learning,用explorer來找新的goal,用achiever來學最優策略,實現了zero-shot,相當於又更進一步了。之前我也想用model uncertainty的方式來找新的狀態,然後做動作去環境裏探索,再用DQN的方式更新,果然很多人都能想到。
疑問:感覺抄的Planning to Explore via Self-Supervised World Models啊,簡直一模一樣。細看了一下作者,居然是一撥人。這,爲啥分開發了兩篇頂會?非要說區別,就是之前那個只做到few-shot,這個做到zero-shot?之前沒有嚴格區別explorer和achiever?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章