強化學習演算法中,PPO演算法是不是就是加了重要性取樣 GAE和梯度裁剪的A2C演算法?

時間 2021-11-02 02:29:40

1樓:jjccero

不是。PPO是在TRPO的基礎上改進的,追溯到TRPO原文第2節裡的說法:

當策略發生變化以後,當前狀態以後的所有狀態的訪問概率會發生變化。為了保證on-policy,應該對之後所有的狀態進行修正,而這在計算和實現上是比較棘手的。因此做了乙個近似,可以近似的原因是策略的改變很小(不管你是用KL散度還是比例裁剪,這是個假設),所以PPO並沒有採取像V-trace那樣複雜而嚴格的重要性取樣。

言外之意是,PPO可以使用舊策略的取樣,好處就是每條軌跡資料可以被反覆使用,這大幅提高了資料的利用率。

而A2C只學習一次取樣資料就丟棄,這區別可不僅僅是重要性取樣和梯度裁剪。

2樓:小錯

這種說法是不對的,PPO屬於policy gradient 方法,而A2C是典型的actor-critic方法,兩類方法不一樣的。actor-critic方法的策略提公升的梯度方向由Q網路(近似的Q函式)直接決定,而policy gradient 則不是。

強化學習演算法如遇到瓶頸(bottleneck)的時候,增大網路size是否有幫助?

我也試圖回答一波吧 我覺得大家說的都很有道理,reward,state和exploration我也認為非常的重要。但是這些更多的還是人為的一種設計。但是根據我的經驗,還有兩個東西我也認為很有意義。可能不是都和bottle neck相關 1 pretrain 有些model如果不能從乙個很好的init...

強化學習裡面的演算法如果通過了Cartpole 是可以直接用於其他專案麼 比如Atari遊戲?

gym環境是乙個通用的遊戲框架,輸入輸出過程量很好定義,而真正用在其他的環境的時候,要弄清楚它的API是什麼,指標以及輸入輸出是什麼。總之,演算法的思想是通用的,具體的實現差別很大。 Frank Tian 有過一些在mujoco和bullet上訓練的經驗,這兩者的特點是輸入比較簡單,往往就是數十個環...

分層強化學習演算法的思想更貼近解決複雜的環境,為什麼這個方向依然這麼冷門?

分層強化學習演算法運用於自動化的交易是非常有效的,我現在就是用這種思路來設計模型的,關鍵是設計者自己對複雜度要有認識,自己的人腦當中要有分層的概念,否則會一團漿糊,越搞越複雜 這是乙個好問題 不分層的強化學習,如果放在人身上,那就是每一時刻我們都要決定控制哪一根肌肉纖維收縮,因為控制肌肉纖維收縮是我...