LEARNING TO SAMPLE WITH LOCAL AND GLOBAL CONTEXTS FROM EXPERIENCE REPLAY BUFFERS


發表時間:2021(ICLR 2021)
文章要點:這篇文章想說,之前的experience replay的priority比如PER,都是單個transition獨立設置的,並沒有考慮transition之間的關係。這篇文章提出了一個叫Neural Experience Replay Sampler (NERS) 的learning-based sampling method。這個方法用強化的方式來學採樣,它的輸入同時考慮了單個的transition的特徵和全局的特徵(design a novel permutation-equivariant neural architecture that takes contexts from not only features of each transition (local) but also those of others (global) as inputs)。這個方式可以採到diverse並且meaningful的transition,提高了sample efficiency。
作者首先舉了個Pendulum的例子來說明rule-based方法的問題在哪

圖裏三個方法分別基於TD error,Q-value和random。作者想說,TD error大的地方基本上都是棍子朝下的時候,也就是遊戲差不多剛開始的時候 。Q-value採到的樣本基本都是快成功的時候。這些狀態單個來看都是meaningful的,一類是TD error大,一類是return很高,都有助於學習,但是合到一起看樣本多樣性太少,冗餘度太高。然後random採到的樣本,diversity夠了,但是經常會採到一些和訓練無關的transition,比如圖中紅框標出的樣本TD error和return都很小。
然後作者的出發點就是設計一個sample method採樣diverse並且meaningful的樣本,這就需要考慮採樣出來的batch裏面的樣本多樣性(measure the relative importance among sampled transitions since the diversity should be considered in them, not all in the buffer)。作者提出的NERS就是通過學習的方式來度量相對重要性。
具體來說,作者存的transition爲

含義分別是{狀態,動作,回報,下一個狀態,timestep,TD error,估計的Q value}
然後有三個網絡\(f_l\),\(f_g\),\(f_s\)\(f_l\),\(f_g\)分別考慮local和global的特徵,\(f_s\)用來計算最後的score用來採樣。把transition作爲特徵輸入到網絡裏面,先過\(f_l\),\(f_g\),再到\(f_s\)得到score,

然後就用PER的方式計算採樣概率和權重修正


接着的問題是這個網絡如何訓練,作者定義了一個replay reward來度量performance gain,其實就是當前policy和前一個policy的期望回報的差

然後就用REINFORCE訓練。
這裏另一個問題是replay reward怎麼來,通常重新evaluate會更準,不過作者實驗發現直接從buffer裏面找之前的transition也可以,影響不大。
最後結果如下


總結:從效果上看,在某一些任務上有一定的提升,但是也不是很明顯其實,而且這個過程多了好多計算量啊。
疑問:是不是可以直接搞一個rule based方式來考慮TD error,reward,diversity之類的,這樣計算量也少。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章