Dynamic Programming
假設(shè)我們知道狀態(tài)轉(zhuǎn)移概率僵驰, bootstrapped 更新:
確定性策略:
簡化:
NOTE:函數(shù)是評價在狀態(tài)下采取不同動作好壞的函數(shù) 负甸,函數(shù)是評價當前狀態(tài)的好壞愿险,此時已經(jīng)選取了一個了(動作已經(jīng)確定了)节榜。一般情況下是選當前策略的平均動作(average action)孝鹊,因此又可以定義為
策略迭代
值迭代
NOTE:其中值迭代算法的第二步就是在進行策略的更新坪圾,選取當前狀態(tài)下可以獲得最大收益的動作讼油,由于該策略是確定性的杰赛,因此,此時值函數(shù)的更新應(yīng)該就是矮台。換句話說在值迭代算法中第二步值函數(shù)的更新就等價為是策略的更新乏屯。
Question
為什么說 Q-learning 是 off-policy ?
因為Q-learning學(xué)習(xí)(近似)的是Q函數(shù)瘦赫,因此在收集數(shù)據(jù)的時候辰晕,策略可以是任意的。為什么要在策略中加入探索确虱?
如果轉(zhuǎn)移概率已知就不需要加入探索含友,直接采用原始值迭代算法即可。但是很多情況是轉(zhuǎn)移概率分布不知道的,這時就需要使用樣本去估計下一個狀態(tài)的轉(zhuǎn)移窘问,因此這個時候如果探索的不充分辆童,將導(dǎo)致較大的估計誤差,最終使得我們估計出來的Q函數(shù)是次優(yōu)的惠赫。Fitted Q-iteration 能保證收斂嗎把鉴?
只要是擬合的Q迭代都不能保證收斂性。因為Q迭代算子是關(guān)于無窮范數(shù)(‘max’范數(shù))的一個壓縮汉形,Q函數(shù)擬合算子則是關(guān)于l2范數(shù)的一個壓縮纸镊,然而這兩個算子同時作用時不是任何范數(shù)的壓縮倍阐,因此收斂性不能保證概疆。
推而廣之,任何同時用到Q函數(shù)擬合峰搪、Q迭代算子的地方岔冀,算法的收斂性都不能保證(e.g 使用了值函數(shù)的Actor-Critic算法)