強化學習中,off policy和on policy方法有優劣之分嗎?
off policy的方法和on policy方法的根本區別在哪裡?在什麼情況下應該使用哪種呢?是否off policy的方法適用範圍更廣,如果是的話,其優越性體現在哪裡?
另外,為什麼on policy的演算法不能使用experience replay?例如在A3C中,如果我拿到過去的經驗(s, a, r, s),然後根據當前的policy想像我下面將要採取的行動,用這種方法標記V(s)的值,從而update兩個網路的話,這樣做有什麼問題?on policy不能使用experience replay,會是它的一種劣勢嗎?
剛入門RL的新人一點淺薄的理解。
off-policy和on-policy的根本區別在於off-policy學習的policy和agent實際執行的policy並不相同。雖然看起來很trivial,但這給了off-policy極大的發揮空間,使RL有能力做knowledge representation。假設有一個機器人在地面上行走,我們想知道在某個狀態時如果機器人停止動力系統,需要多久才能完全停下來。我們可以構造一個policy,action永遠都是停止動力系統,reward是每個time step為-1,那很顯然在某個state下機器人停止所需的時間就是在我們構造的這個policy下的v(state)。我們可以有很多類似的問題,同樣我們需要構造很多類似的policy來回答這些問題。這些policy的value function一般稱作GVF(general value function),可以作為knowledge representation。但問題在於怎樣學習這些policy,由於數量巨大,顯然不可能對每個GVF進行on-policy的學習,此時便可以利用一個exploration很強的behaviour policy進行off-policy學習。
這個framework叫作Horde, 是rich在2011年提出的(http://webdocs.cs.ualberta.ca/~sutton/papers/horde-aamas-11.pdf)它的核心是(https://pdfs.semanticscholar.org/08f9/91c35f2b3d67cfe219f19e4e791b049f398d.pdf)謝邀。
理想情況下,強化學習應該直奔最優策略而去--確定性的「狀態-最優行為選擇」。我們稱之為target policy。
這是on-policy的目標,但在實施時,會遭遇探索-利用的矛盾:光利用目前已知的最優選擇,可能學不到最優解,收斂到局部最優;而加入探索又降低了學習效率。epsilon-greedy 演算法是這種矛盾下的折衷。為避免on policy的問題,off policy索性把問題一分為二,採取了從行為策略來學習目標策略的辦法,兩者可以互不干擾。具體來說:先產生某概率分布下的大量行為數據(behavior policy),意在探索。從這些偏離(off)最優策略的數據中尋求target policy。當然這麼做是需要滿足數學條件的:假設π是目標策略, μ是行為策略,那麼從μ學到π的條件是:π(a|s) &> 0 必然有 μ(a|s) &> 0成立。兩種學習策略的關係是:on-policy是off-policy 的特殊情形,其target policy 和behavior policy是一個。on-policy優點是直接了當,速度快,劣勢是不一定找到最優策略。off-policy劣勢是曲折,收斂慢,但優勢是更為強大和通用。其強大是因為它確保了數據全面性,所有行為都能覆蓋。甚至其數據來源可以多樣,自行產生、或者外來數據均可。北京深極智能科技在用深度強化學習做網遊虛擬玩家時,部分數據來源於人類玩家行為埋點,這就是一種典型off-policy 方法。
這兩種方法無絕對優劣之分,看不同的環境來選擇最優辦法。「DQN之前:曾經有一段時間大家普遍認為online的TD方法只有在on-policy情況下才有收斂性保證。而off-policy方法(如Q-learning)雖然在tabular情況下可以保證收斂,但是在有linear FA情況下就無法保證收斂。而least-squares方法(如LSTD, LSPI)雖能解決off-policy和linear FA下的收斂性問題,但計算複雜度比較高。Sutton和Maei等人提出的GTD(Gradient-TD)系方法(如Greedy-GQ)解決了off-policy,FA,online演算法的收斂性問題。它最小化目標MSPBE(mean-squared projected Bellman error),通過SGD優化求解。但因為它仍是TD方法,因此仍然逃不了TD方法在上面提到的固有缺點。要避免這些缺點,一般的做法是用PG演算法(如AC演算法)。在Degris等人的論文《Off-Policy Actor-Critic》中將AC演算法擴展到off-policy場景,提出了OffPAC演算法,它是一種online, off-policy的AC演算法。 OffPAC中的critic部分採用了上面提到的GTD系方法-GTD(λ)演算法。
DQN之後:傳統經驗認為,online的RL演算法在和DNN簡單結合後會不穩定。主要原因是觀察數據往往波動很大且前後sample相互關聯。像Neural fitted Q iteration和TRPO方法通過將經驗數據batch,或者像DQN中通過experience replay memory對之隨機採樣,這些方法有效解決了前面所說的兩個問題,但是也將演算法限定在了off-policy方法中。本文提出了另一種思路,即通過創建多個agent,在多個環境實例中並行且非同步的執行和學習。於是,通過這種方式,在DNN下,解鎖了一大批online/offline的RL演算法(如Sarsa, AC, Q-learning)。」
轉自: 深度增強學習(DRL)漫談 - 從AC(Actor-Critic)到A3C(Asynchronous Advantage Actor-Critic)
推薦閱讀: