EXPLORATION BY RANDOM NETWORK DISTILLATION


發表時間:2018(ICLR 2019)
文章要點:文章提出了一個random network distillation (RND)的算法,通過比較一個預測網絡和一個隨機初始化網絡的越策誤差作爲exploration bonus來增加探索。主要思路是說,如果agent去過某個狀態了,那麼預測誤差就會更小,反之就會大。
具體的,先有一個隨機網絡f,然後有一個predictor網絡\(\hat{f}\),學習的目標就是最小化MSE

然後intrinsic reward就是基於這個誤差做個normalization(normalized the intrinsic reward by dividing it by a running estimate of the standard deviations of the intrinsic returns.)。所以如果見過某個狀態,並且更新過,那這個誤差肯定就會變小,相應的intrinsic reward就會更小。
這裏爲啥要對着一個隨機初始化的網絡來算誤差,作者的邏輯是這樣的。Dynamics可能具有隨機性,而通常的model都是輸入狀態動作,預測下一個狀態。那麼因爲這個隨機性,就會產生和預測無關的誤差,因爲不管你預測準不準,隨機性造成的誤差始終存在,無法消除。這個問題叫做noisy-TV

而作者這種方式,避免了和真實的狀態比較誤差,而是和一個隨機網絡去比,就直接拋棄了隨機性造成的誤差。這算是爲啥這麼做的原因了吧。
然後另一個點是把extrinsic reward和intrinsic reward分開訓,value也對應的有兩個

作者這麼做的原因是,在構造intrinsic reward的時候就可以有更多的組合方式了,而且不會影響到extrinsic reward對應的policy。比如作者提到,intrinsic reward可以使用episodic return,也可以使用non-episodic return。如果和extrinsic return合到一起的話,那最後的策略就會受到這些intrinsic reward的影響,比如non-episodic return

拆開的話,就可以避免最終的策略被intrinsic reward影響。整個僞代碼如下

總結:主要的思路就是通過度量prediction error來度量novelty,算是說得通吧。就是感覺受隨機網絡的影響比較大,如果隨機網絡對一些不同狀態的預測沒有區別,那誤差就體現不出來了。另外1.97billion frames的計算量,還是承受不起啊。
疑問:作者雖然說了這個方式可以避免noisy-TV,但是感覺好像也沒有避免啊,比如由隨機性造成的誤差就算通過隨機網絡預測出來了下一個狀態,那這個狀態應該還是不一樣吧?
文章裏面提到的episodic和non-episodic的區別,就是在terminal的時候截斷與否嗎?non-episodic就是不管terminal,繼續算帶discount的return?這個情況下,環境會reset嗎,還是繼續當前位置接着探索?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章