1. 程式人生 > 其它 >Decoupling Value and Policy for Generalization in Reinforcement Learning

Decoupling Value and Policy for Generalization in Reinforcement Learning


發表時間:2021(ICML2021)
文章要點:這篇文章想說,通常在訓練PG這類演算法特別是影象作為輸入的任務的時候,主流的做法是policy和value用一個網路表徵,沒有分開。這會導致policy overfitting,因為學value比學policy需要更多的資訊,如果用一個網路來共享表徵,就會導致policy利用了一些無關資訊而overfitting,導致泛化性變差。作者把這個叫做policy value representation asymmetry。作者舉了一個例子來說明這個問題確實存在,如下圖

這裡有兩個關卡,第一個狀態除了背景顏色外,其他都一樣,理論上來講policy在這的策略應該完全一樣,並且不應該利用背景顏色資訊。但是兩個關卡後面的狀態是不一樣的,這就是說在第一個狀態的value是不一樣的,這說明value function應該利用背景顏色來擬合出不同的value。作者想說這個例子就說明了policy 和value需要的資訊是不一樣多的。
作者提出的解決方法是
1)將policy和value分成兩個單獨的網路,但是隻這麼做的話之前有paper表明反而會導致訓練變差,於是policy網路除了policy外還擬合advantage。作者的解釋是advantage是一個關於動作的相對值,不是關於狀態的絕對的值,不應該利用那些無關資訊過擬合。(可能作者就是想說advantage和policy不存在policy value representation asymmetry)。(Because the advantage is a relative measure of an action’s value while the value is an absolute measure of a state’s value, the advantage can be expected to vary less with the number of remaining steps in the episode. Thus, the advantage is less likely to overfit to such instance specific features.)另一個好處是policy和value的更新頻率可以不一樣了。
整個policy network的目標函式為

第一項就是PPO那個帶clip的目標函式,第二項是entropy,第三項是advantage的loss

Value network的loss就是普通的mse

2)在1)的基礎上,新增輔助任務來避免policy過擬合。用對抗網路的方式訓練一個discriminator,讓discriminator不能區分經過policy編碼過的兩個狀態哪個在前哪個在後。所以discriminator的loss就是區分開哪個在前,哪個在後

Encoder的loss就是不讓discriminator區分開

這裡雖然看起來loss一樣,一個是用cross-entropy loss的方式,給準確的0-1 label來訓ψ,一個是訓練θ使得entropy最大,也就是靠近每個label概率為0.5。整個強化的loss就變成了

總結:

文章提出的這個問題其實感覺有點牽強,不管是舉的那個procedurally generated environments的例子,還是後面說分開了還要再加個advantage的解釋,感覺邏輯上都有點奇怪。不過作者最後自己也說了While our experiments show that predicting the advantage function improves generalization, we currently lack a firm theoretical argument for this. 可能就是這麼做效果足夠好吧。但是看實驗結果,特別是appendix裡面,挺多環境上都沒有超過一個叫PPG的baseline。並且可以想象,作者做了多少實驗,調了多少參。
疑問:
無。