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

時間 2021-06-08 14:28:59

1樓:

gym環境是乙個通用的遊戲框架,輸入輸出過程量很好定義,而真正用在其他的環境的時候,要弄清楚它的API是什麼,指標以及輸入輸出是什麼。總之,演算法的思想是通用的,具體的實現差別很大。

2樓:Frank Tian

有過一些在mujoco和bullet上訓練的經驗,這兩者的特點是輸入比較簡單,往往就是數十個環境的引數,但是輸出相對複雜,比如12自由度的四足機械人,需要12個連續變數。

總的來說,這樣的小模型不需要太大規模的神經網路,不過如果你的演算法沒有收斂,首先應該檢查一下你的模型容量是不是足夠的。

畢竟cartpole是非常簡單的任務。

接下來,你可以檢查一下你的演算法是否有明顯的問題,以A3C為例,A3C是非常簡單的深度強化學習模型了,但你仍可以檢查一下agent是否從不同的環境中取樣,梯度的計算過程是不是正確的,總之就是查查bug。

接下來你可以檢查一下你的演算法是否有比較好的探索機制,你可以輸出一下actor網路輸出的熵,然後把這個熵作為目標函式的一部分,用來促進探索。

或者嘗試更高階的探索方式,比如OU過程。

總之,在atari這種比較簡單的任務上,A3C不收斂,那應該不是演算法的問題…

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

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

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

jjccero 不是。PPO是在TRPO的基礎上改進的,追溯到TRPO原文第2節裡的說法 當策略發生變化以後,當前狀態以後的所有狀態的訪問概率會發生變化。為了保證on policy,應該對之後所有的狀態進行修正,而這在計算和實現上是比較棘手的。因此做了乙個近似,可以近似的原因是策略的改變很小 不管你...

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

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