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

時間 2021-05-12 05:21:55

1樓:

我也試圖回答一波吧 . 我覺得大家說的都很有道理,reward,state和exploration我也認為非常的重要。但是這些更多的還是人為的一種設計。

但是根據我的經驗,還有兩個東西我也認為很有意義。可能不是都和bottle neck相關:

1 pretrain:

有些model如果不能從乙個很好的initial的NN出發的話,就需要調了。但是在一些問題中(比如有中止條件,或者用MCTS這種planning的method搜尋足夠多次數可以產生非常高質量樣本的情況),是可以先前產生一些有益的樣本的。這樣不的話不如先做個pretrain的model出來,但是不能擬合的過好。

後面在這個model的基礎上可能RL條參會方便一點。但是對一些非常複雜的問題未必能有這個條件.

2 sampling:

很多時候off policy learning樣本的質量非常關鍵。所以用現成的什麼prioritized一類的取樣我覺得很有必要。

3 大家對於網路的size好像沒什麼看法。可能他們的問題都比較大,對這一點沒什麼影響。我實驗中發現網路合適的size其實很重要。

如果過小,NN不能學到有用的資訊。如果過大,在前期noise比較大的環境下,很容易出現overfiting,這樣就會出現後面reward維持在乙個比較低水平的情況。(當然可以通過learning rate 或者sampling,dropping什麼的方法去調)

2樓:Chersophyte

實驗過程中經驗感受影響比較大的:

learning rate

exploration method

state, reward design,environment information

code optimization

3樓:Merci

卸腰。如果rl演算法能這麼容易就解決不work的問題,那麼還需要演算法工程師幹什麼?(苦笑)

至於具體解決方法,還是使用ml傳統的ablative analysis思路,先去找準達到瓶頸的首要約束條件,再去考慮如何做優化。

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

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

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

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

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

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