時序差分學習(Temporal-Difference Learning)

時序差分學習(Temporal-Difference Learning)結合了動態規劃和蒙特卡洛方法,是強化學習的核心思想。

蒙特卡洛的方法是模擬(或者經歷)一段序列,在序列結束後,根據序列上各個狀態的價值,來估計狀態價值。 
時序差分學習是模擬(或者經歷)一段序列,每行動一步(或者幾步),根據新狀態的價值,然後估計執行前的狀態價值。 
可以認爲蒙特卡洛的方法是最大步數的時序差分學習。

DP,MC和TD的區別

DP:已知轉移概率p(s,r|s,a)Rt+1是精確算出來的,用的vπ(st+1)是當前的估計值。 
這裏寫圖片描述 
MC:用多個episode的Gt˜近似Gt 
TD:Rt+1vπ(st+1)用的都是當前的估計值 
這裏寫圖片描述

本章介紹的是時序差分學習的單步學習方法。多步學習方法在下一章介紹。主要方法包括:

  • 策略狀態價值vπ的時序差分學習方法(單步\多步)
  • 策略行動價值qπ的on-policy時序差分學習方法: Sarsa(單步\多步)
  • 策略行動價值qπ的off-policy時序差分學習方法: Q-learning(單步)
  • Double Q-learning(單步)
  • 策略行動價值qπ的off-policy時序差分學習方法(帶importance sampling): Sarsa(多步)
  • 策略行動價值qπ的off-policy時序差分學習方法(不帶importance sampling): Tree Backup Algorithm(多步)
  • 策略行動價值qπ的off-policy時序差分學習方法: Q(σ)(多步)

策略狀態價值vπ的時序差分學習方法(單步\多步)

單步時序差分學習方法 
這裏寫圖片描述 
算法就通過當前狀態的估計與未來估計之間差值來更新狀態價值函數的。即R+γV(S)V(S) 
相比DP,TD不需要知道p(s,r|s,a)Rt+1;相比MC,TD不需要等到序列結束才更新狀態值函數,另外MC趨向於擬合樣本值,會表現出類似過擬合的性質,TD在估值前會對潛在的Markov過程建模,然後基於該模型估值。例如下面的例子: 
這裏寫圖片描述

多步時序差分學習方法 
單步的報酬爲:G(1)t=Rt+1+γVt(St+1) 
其中Vt在這裏是在時刻t對vπ的估計,而γVt(St+1)表示對後面時刻的估計,即γRt+2+γ2Rt+3++γTt1RT,由此可以得到n步的報酬: 

G(n)t=Rt+1+γRt+2++γn1Rt+n+γnVt+n1(St+n),n1,0t<Tn

則更新公式爲: 
Vt+n(St)=Vt+n1(St)+α[G(n)tVt+n1(St)]

n-step TD就是利用值函數Vt+n1來不斷估計不可知的報酬Rt+n,則整體框架如下: 
這裏寫圖片描述

策略行動價值qπ的on-policy(即同策略)時序差分學習方法: Sarsa(單步\多步)

單步: 
這裏寫圖片描述 
Sarsa在選取動作和更新動作狀態值函數時都時利用加探索的形式(ϵgreedy

多步: 
類似n-step TD,報酬的形式只是從狀態值函數改爲了動作狀態值函數: 

G(n)t=Rt+1+γRt+2++γn1Rt+n+γnQt+n1(St+n,At+n),n1,0t<Tn

則更新形式爲: 
Qt+n(St,At)=Qt+n1(St,At)+α[G(n)tQt+n1(St,At)],0t<T

整體框架爲: 
這裏寫圖片描述

策略行動價值qπ的off-policy時序差分學習方法: Q-learning(單步)

Q-learning 算法可進行off-policy學習。 

Q(St,At)Q(St,At)+α[Rt+1+γmaxa Q(St+1,a)Q(St,At)]

這裏寫圖片描述 
Q-learning在更新動作狀態值函數時只有利用,沒有探索,更適用於完全貪婪的動作挑選。 
Q-learning使用了max,會引起一個最大化偏差(Maximization Bias)問題。可以用Double Q-Learning來解決。 
這裏寫圖片描述 
例如圖中從A出發,向右可以直接到達終點,而向B運動,報酬均值爲-0.1,則有可能存在大於0的報酬,這樣會使得算法採取向B運動的結果,期望獲得大於0的報酬,而這不是最佳策略。

Double Q-learning

這裏寫圖片描述 
挑選動作的策略,既可來自於Q1和Q2的組合,例如求和或者均值,又可只來自於Q1或Q2。

策略行動價值qπ的off-policy時序差分學習方法(帶importance sampling): Sarsa(多步)

考慮到重要樣本,把ρ帶入到Sarsa算法中,形成一個off-policy的方法。 
ρ - 重要樣本比率(importance sampling ratio) 

ρi=τ+1min(τ+n1,T1)π(At|St)μ(At|St)(ρ(τ+1)τ+n)

這裏寫圖片描述

策略行動價值qπ的off-policy時序差分學習方法(不帶importance sampling): Tree Backup Algorithm(多步)

Tree Backup Algorithm的思想是每步都求行動價值的期望值.

這裏寫圖片描述 
更新公式與n-step Sarsa相同: 

Qt+n(St,At)=Qt+n1(St,At)+α[G(n)tQt+n1(St,At)],0t<T

則整體程序框架爲: 
這裏寫圖片描述

策略行動價值qπ的off-policy時序差分學習方法: Q(σ)(多步)

Q(σ)結合了Sarsa(importance sampling), Expected Sarsa, Tree Backup算法,並考慮了重要樣本。 
當σ=1時,使用了重要樣本的Sarsa算法。 
當σ=0時,使用了Tree Backup的行動期望值算法。 
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章