為什麼DQN不需要off policy correction

時間 2021-05-06 01:48:49

1樓:「已登出」

從第乙個公式,可以看出1-step的Q值估計和策略π無關。

展開後面的V(s')引入n-step的估計函式,就和π(s, a)有關了。如果這個軌跡不是當前的π取樣的,而是過去的π_old取樣的,那麼這個估計就是錯誤的。

2樓:李子牛

雖然俞老師已經親自回答了,但還是想談談我的理解。

我們知道 是上面方程的唯一解。這樣的話,求解MDP就等價於求解Bellman Optimality Equation。但是問題來了,我們不能直接獲取 ,因此那個期望是無法求解的。

幸運的是,我們可以從MDP中進行sample。

這裡, , 是 的梯度。在SGD裡,我們每次sample乙個 (乙個樣本對應乙個 ),然後進行如下更新:

這個演算法是漸進收斂的,意味著:以概率1,並且 滿足如下的性質, 趨向於 ( ):

現在回到我們的問題,讓我們引入Bellman Optimality Operator :

和Empirical Bellman Optimality Operator :

很顯然, 。這時候Q-Learning[1]就出來了(當時應該還沒有RL這個說法),

其中步長的要求和前面是類似的。此外,我們還要求每乙個 對能夠被無限訪問,以保證uniform convergence。到此,Q-Learning就講完了。

那為什麼,前面提到Generative Model呢?因為Q-Learning 的演算法應該是這樣的:

Initialize q_0.

for k = 0, 1, 2Initialize t

for s in S:

for a in As' = p(s, at(s, a) = r(s, a) + max(\gamma q_k(s', a'q_ = q_k + a_k * t

Output: q_.

這和強化學習有什麼區別呢?在上面這個演算法裡,形式上,我們可以將MDP重置到任意的狀態s, 採取動作a, 得到下乙個狀態s'。但是這一點,在強化學習裡無法做到!

因為要到達乙個未知的狀態,我們必須從初始狀態開始進行planning。也就是說,求解MDP本質上是乙個統計問題;但強化學習還要再引入探索問題。總結一下,Q-Learning 本質上是解決MDP的演算法,而不是強化學習的演算法。

(儘管Q-Learning可以被用來求解強化學習問題,這時候簡單的 -greedy的探索策略被引入進來以確保agent可以「無限「訪問任意的狀態-動作對)。

到此為止,我們就解釋了為什麼Q-Learning演算法的有效性。因此,如果在強化學習的設定下,我們能近似Generative Model的情況下,那麼Q-Learning還是有可能work的。

最後簡單提下n-step Q-Learning,假設n-step Q-learning的估計器用 表示。很顯然, , 這裡的期望是對環境轉移求解。這時候引入importance sampling是為了保證n-step的估計器仍然是無偏的。

3樓:Heeger

因為DQN學的是Q函式,是對環境MDP的認識,認識的目標是計算出每個狀態s的Q函式,和策略本身無關。就像探索戰爭迷霧一樣,乙個英雄探索和十個英雄探索得到的環境都是一樣的,不需要乘係數;

off policy系列的Policy Gradient之所以要importance sampling,是因為計算出來的梯度要對當前的策略網路π進行更新,必須使用π在當前回合得到的經驗來計算。使用別人的、自己過往的經驗來更新當前的π,就必須要乘以係數了。

4樓:佳雨

要回答為什麼不需要進行重要性取樣,得回到強化學習的核心理論上,那就是「期望估計」。

無論是策略梯度方法還是value-based方法,它們的目標都是要「最大化累積獎勵的期望值」,只是兩者實現的方式有所不同。

對於策略梯度來說,是通過梯度下降來更新策略引數,從而最大化此期望值

對於value-based方法來說,是通過記錄每個狀態或每個狀態動作對能得到的預期累積獎勵,來間接記錄最優策略,從而實現最大化此期望值。

既然演算法的核心是期望估計,而這就離不開對樣本的取樣。當取樣分布q和期望對應的原始分布p不一致時,就需要使用重要性取樣,來確保期望估計時的準確性。

但是如果使用了PER,樣本的取樣分布就不再是均勻分布,此時仍需使用important sampling才能準確估計。所以,原始的DQN不需要important sampling,但是加了PER的DQN是需要的。

總結一下:

是否重要性取樣就看兩點:

期望公式裡,估計期望的原始分布是什麼取樣分布和被估計期望的分布是否相同

5樓:

off policy correction其實是important sampling:我們想計算分布p下的期望,但是樣本來自分布q下取樣,因此要做乙個修正,加上係數p/q ,使得在期望上是等價的(然而實際上會有很多不足)。比如1的概率是0.

5,2的概率是0.5,期望是:0.

5 X 1+0.5 X 2;分布變成1的概率0.2,2的概率0.

8,就不是原來的期望了,因此要修正 0.2 X 0.5/0.

2 X 1 + 0.8 X 0.5/0.

8 X 2 ,這樣期望就回來了。

這裡的關鍵在於「我們想算期望」,也就是要相加,但權重不對,因此要修正。如果不要相加,自然就不用修正。Q-learning中,取樣動作a1,得到的結果儲存在 Q(s,a1) 中,取樣動作a2,結果儲存在 Q(s,a2) 中,a1和a2取樣的概率變化了?

沒關係,他們是分開存的,並沒有加在一起,因此不做修正。

順便說一句,off-policy learning的名字看起來挺像offline learning,然而實際上相差很遠。

怎麼才能做到不需要回應,不需要陪伴,不需要與別人交流呢?

Qiuling Peng 愛自己,看清楚自己想要什麼畏懼什麼,看清楚自己真實的樣子,接受自己並不斷去提公升改進。當你做到這些的時候,你提的問題對你來說就不再是問題,你會有讓自己更舒適的心態去面對和解決。 RAYann M 幾乎不可能。就算你再強,事情再多,也多少需要與人交流。只是對於你的重要性以及佔...

有沒有既不需要扒皮也不需要洗也不需要切的水果?

追時光的螞蟻 果叔仔細想了一下,其實樓主的要求難在不用洗,其實還是有很多水果可以的,但是如果樓主不想洗就必須有人幫忙洗,樓主就必須買這個服務,比如車厘子,士多啤梨 藍莓等,對了還有超市的果盤 秦雨貓 反對一切指責題主 懶 的答案。題主沒有明確提及原因,我們無法排除題主是否存在運動障礙 如肌無力等 而...

理解不需要共情,為什麼?

恩悅Dzey 沒問題啊?理解為什麼一定要共情?可以理解是一回事,情感共振是另外一回事,並不衝突很多理性邏輯的東西都是可以理解無法共情的 1 1 2並沒有什麼情緒可共 理解馬加爵殺舍友是忍受不了屈辱,消化情緒能力不強等但也未必和他有情感聯結和共振,甚至加以譴責,因為我們是有良知的共情也不一定是理解的,...