? PPO:? A2C算法的改進版,主要是為了解決 ‘learning rate 不易設置的問題’棒动, DPPO是 PPO的distributed版本恋博, 比如10個worker,每個worker都有獨立的experience涨冀。? 由于可以避免experience間的相關性填硕,所以DPPO明顯優(yōu)于PPO。
注: PPO已經(jīng)是OpenAI的默認強化學習算法鹿鳖!
DPPO是PPO的分布式多worker版本扁眯。這里主要討論PPO。?
PPO其實就是為了解決learning rate不易控制的問題翅帜,主要是如果將learning rate設置得過小姻檀,訓練時間太長,效率太差涝滴! 如果設置得過大绣版,又容易錯過最優(yōu)解。 PPO其實就是一種可以 自適應 learning rate的AC算法歼疮。 critic訓練的標準仍然是最小化s-v值的TD_error杂抽。而在actor端,更新的標準不再是固定的 P(s-a)*vt韩脏, 而是改寫成? P*At? ? (其中At指的是s下獲得的advantage)缩麸,而且這個P,不再是固定的從神經(jīng)網(wǎng)絡中得到赡矢,而是 考慮 舊P和新P之間的差異杭朱,并且按照這種差異作出自適應的調整阅仔, DeepMind用的是一個懲罰函數(shù) KL,而OpenAI用的方法是可以將new P比舊P的更新幅度限定在某個程度范圍內弧械。
具體的介紹八酒,參見:https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/
具體的代碼,參見:https://github.com/MorvanZhou/Reinforcement-learning-with-tensorflow/blob/master/contents/12_Proximal_Policy_Optimization/DPPO.py