ppo算法不是深度強化學習嘛_#acer軟件保護卡怎麼解除


一、概述

引用GAE論文的觀點,策略梯度法存在的兩個方面問題:

  • 樣本利用率低,由於樣本利用率低需要大量採樣;
  • 算法訓練不穩定,需要讓算法在變化的數據分佈中穩定提升;

目前比較常用的四種置信域方法TRPO、ACER、ACKTR、PPO,就是圍繞策略梯度法的上述兩方面問題進行改進和優化。



ppo算法不是深度強化學習嘛_ppo算法不是深度強化學習嘛_02


二、算法簡介

2.1 TRPO

由於強化學習中數據分佈是變化的,策略梯度法使用不合適的步長設定會導致訓練很不穩定,TRPO的置信域方法就是為了解決步長設計的問題,通過控制步長最大化優化目標,能保證算法單調,能夠解決算法訓練的穩定性問題。

缺點是需要計算多次Fisher線性矩陣,計算量大,訓練速度慢,無法應用到大規模問題中。



ppo算法不是深度強化學習嘛_算法訓練_03


2.2 ACER

ACER的能進行on-policy和off-policy的更新,大大提高了樣本利用效率,主要使用了四個技術:

  • 截斷重要性採樣,控制方差的同時保證了無偏性;
  • Q_retrace的使用,提高了off-policy值函數估計的穩定性;
  • stochastic dueling network,SDN,用於連續動作控制算法值函數估計;
  • 一種新的置信域方法,計算簡單,適合大規模問題。

具體見我另一篇博客:

yr15:強化學習論文筆記——ACERzhuanlan.zhihu.com


ppo算法不是深度強化學習嘛_ppo算法不是深度強化學習嘛_04


2.3 ACKTR

ACKTR算法的核心是使用KFAC算法進行優化,K-FAC能夠在較短的時間內近似出Fisher矩陣,每次更新所需的時間只比SGD多10~20%,因此能夠使用自然梯度對模型進行更新。自然梯度法是二階優化,相比SGD對單樣本利用率更高,從而提高了樣本利用率。K-FAC分解如下圖所示:



ppo算法不是深度強化學習嘛_強化學習_05


2.4 PPO

PPO使用clip的方法對前後策略變化進行限制,格式簡單且運算效率高,能夠用於大規模問題,對數據的小批量多次更新也提高了數據利用效率,PPO是目前業界比較主流的算法。



ppo算法不是深度強化學習嘛_ppo算法不是深度強化學習嘛_06


這次讀論文的時候發現了,PPO在clip的時候取最小min是因為TRPO的優化目標函數是累計獎勵值的下界,通過最大化下界來最大化累計獎勵值,理論上不能將下界放大,所以取min。因此對騰訊提出的dual PPO就保持懷疑態度,但是由於clip ratio本身也改變了原優化問題的範圍,通過進一步的clip將大的負數部分clip掉對於訓練也是有好處的,可能更加穩定。