LAAI
4 min readApr 22, 2020

--

Implementation matters in deep policy gradients: a case study on PPO and TRPO

這是一篇ICLR 2019 Oral paper,來自於MIT Logan Engstrom.

主要貢獻:細部討論PPO以及TRPO的效能差異,點出其差異來自於細微的程市最佳化(code-level optimizations),簡單來說,這篇文章提出許多細節是PPO以及TRPO在實作時有做,但卻沒有講得很清楚的部分.

對於PPO以及TRPO有興趣的,可以參考這幾篇文章,或是

簡單來說,TRPO提出用KL divergence 去限制policy update,如此一來讓新的policy不要更新太多,小心翼翼、一步一步的更新,所以稱之為Trust region policy optimization (TRPO).而PPO原文章的想法是,透過CLIP去限制policy update,一樣想要小心翼翼、一步一步的更新.實驗結果來看,PPO比TRPO更加穩定且效能更佳,原先認為是CLIP所造成的結果,然而這篇2019ICLR文章想要探討更深入

PPO比TRPO好,是因為CLIP,還是另有他因?

前情提要:TRPO with KL constraint on policy update. KL divergence是一種測量兩者distribution不相似程度,而TRPO希望每次更新不要差異太大.

前情提要:PPO with CLIP on policy update

PPO除了使用CLIP,其實還加了許許多多細節的optimization,我們這裡稱之為PPO optimization

為了要比較 CLIP 以及PPO optimization對於policy update的影響,這篇文章比較了以下幾種演算法

PPO: CLIP ✓, PPO optimization ✓
PPO-M: CLIP ✓,PPO optimization ❌
PPO-NoCLIP: CLIP ❌, PPO optimization ✓
TRPO: CLIP ❌, PPO optimization ❌
TRPO+: CLIP ❌, PPO optimization ✓

從下方圖二
Mean Reward: TRPO and PPO-M差不多,顯然得到CLIP沒有效果,並且PPO比較好,顯然得到PPO optimization有幫助
max(.): 不同算法對於policy update的約束能力不同
KL : PPO-M 僅使用CLIP,對於KL並沒有壓制效果,TRPO也是緩慢上升,PPO透過PPO optimization依然可以壓制KL.

Figure 2

下方表2,我們可以看到PPO以及TRPO+效能都比較好,而PPO-M以及TRPO效能比較差,可以得知PPO optimization確實有幫助,而CLIP對於效能差異則沒有關係.

Table 2

下方表3,我們可以看到PPO-M(CLIP✓)以及PPO-NoCLIP(CLIP❌),兩者並沒有太大的差異.

Table 3

因此這篇文章下了總結,一些小細節的最佳化,在RL演算法中可能扮演著很重要的角色,我們需要更小心的分析以及了解其影響的層面像是效能以及行為

--

--