人工智能之TD Learning算法
人工智能機器學(xué)習有關(guān)算法內容,請參見(jiàn)公眾號“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機器學(xué)習主要有三大類(lèi):1)分類(lèi);2)回歸;3)聚類(lèi)。今天我們重點(diǎn)探討一下TD Learning算法。 ^_^
本文引用地址:http://dyxdggzs.com/article/201806/381804.htmTD Learning時(shí)序差分學(xué)習結合了動(dòng)態(tài)規劃DP和蒙特卡洛MC(請參見(jiàn)人工智能(31))方法,且兼具兩種算法的優(yōu)點(diǎn),是強化學(xué)習的核心思想。
雖然蒙特卡羅MC方法僅在最終結果已知時(shí)才調整其估計值,但TD Learning時(shí)序差分學(xué)習調整預測以匹配后,更準確地預測最終結果之前的未來(lái)預測。

TD Learning算法概念:
TD Learning(Temporal-Difference Learning) 時(shí)序差分學(xué)習指的是一類(lèi)無(wú)模型的強化學(xué)習方法,它是從當前價(jià)值函數估計的自舉過(guò)程中學(xué)習的。這些方法從環(huán)境中取樣,如蒙特卡洛方法,并基于當前估計執行更新,如動(dòng)態(tài)規劃方法。
TD Learning算法本質(zhì):
TD Learning(Temporal-DifferenceLearning)時(shí)序差分學(xué)習結合了動(dòng)態(tài)規劃和蒙特卡洛方法,是強化學(xué)習的核心思想。
時(shí)序差分不好理解。改為當時(shí)差分學(xué)習比較形象一些,表示通過(guò)當前的差分數據來(lái)學(xué)習。
蒙特卡洛MC方法是模擬(或者經(jīng)歷)一段序列或情節,在序列或情節結束后,根據序列或情節上各個(gè)狀態(tài)的價(jià)值,來(lái)估計狀態(tài)價(jià)值。TD Learning時(shí)序差分學(xué)習是模擬(或者經(jīng)歷)一段序列或情節,每行動(dòng)一步(或者幾步),根據新?tīng)顟B(tài)的價(jià)值,然后估計執行前的狀態(tài)價(jià)值??梢哉J為蒙特卡洛MC方法是最大步數的TD Learning時(shí)序差分學(xué)習。
TD Learning算法描述:
如果可以計算出策略?xún)r(jià)值(π狀態(tài)價(jià)值vπ(s),或者行動(dòng)價(jià)值qπ(s,a)),就可以?xún)?yōu)化策略。
在蒙特卡洛方法中,計算策略的價(jià)值,需要完成一個(gè)情節,通過(guò)情節的目標價(jià)值Gt來(lái)計算狀態(tài)的價(jià)值。其公式:
MC公式:
V(St)←V(St)+αδt
δt=[Gt?V(St)]
這里:
δt – MC誤差
α – MC學(xué)習步長(cháng)
TD Learning公式:
V(St)←V(St)+αδt
δt=[Rt+1+γV(St+1)?V(St)]
這里:
δt – TD Learning誤差
α – TD Learning步長(cháng)
γ – TD Learning報酬貼現率
TD Learning時(shí)間差分方法的目標為Rt+1+γ V(St+1),若V(St+1) 采用真實(shí)值,則TD Learning時(shí)間差分方法估計也是無(wú)偏估計,然而在試驗中V(St+1) 用的也是估計值,因此TD Learning時(shí)間差分方法屬于有偏估計。然而,跟蒙特卡羅MC方法相比,TD Learning時(shí)間差分方法只用到了一步隨機狀態(tài)和動(dòng)作,因此TD Learning時(shí)間差分方法目標的隨機性比蒙特卡羅MC方法中的Gt 要小,因此其方差也比蒙特卡羅MC方法的方差小。

TD Learning分類(lèi):
1)策略狀態(tài)價(jià)值vπ的時(shí)序差分學(xué)習方法(單步多步)
2)策略行動(dòng)價(jià)值qπ的on-policy時(shí)序差分學(xué)習方法: Sarsa(單步多步)
3)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習方法: Q-learning(單步),Double Q-learning(單步)
4)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習方法(帶importance sampling): Sarsa(多步)
5)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習方法(不帶importance sampling): Tree Backup Algorithm(多步)
6)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習方法: Q(σ)(多步)
TD Learning算法流程:
1)單步TD Learning時(shí)序差分學(xué)習方法:
InitializeV(s) arbitrarily ?s∈S+
Repeat(for each episode):
?Initialize S
?Repeat (for each step of episode):
?? A←actiongiven by π for S
??Take action A, observe R,S′
??V(S)←V(S)+α[R+γV(S′)?V(S)]
?? S←S′
?Until S is terminal

2)多步TD Learning時(shí)序差分學(xué)習方法:
Input:the policy π to be evaluated
InitializeV(s) arbitrarily ?s∈S
Parameters:step size α∈(0,1], a positive integer n
Allstore and access operations (for St and Rt) can take their index mod n
Repeat(for each episode):
?Initialize and store S0≠terminal
? T←∞
? Fort=0,1,2,?:
?? Ift<tt<t, p="" then:
???Take an action according to π( ˙|St)
???Observe and store the next reward as Rt+1 and the next state as St+1
???If St+1 is terminal, then T←t+1
?? τ←t?n+1(τ is the time whose state's estimate is being updated)
?? Ifτ≥0τ≥0:
??? G←∑min(τ+n,T)i=τ+1γi?τ?1Ri
???if τ+n≤Tτ+n≤T then: G←G+γnV(Sτ+n)(G(n)τ)
???V(Sτ)←V(Sτ)+α[G?V(Sτ)]
?Until τ=T?1

注意:V(S0)是由V(S0),V(S1),…,V(Sn)計算所得;V(S1)是由V(S1),V(S1),…,V(Sn+1)計算所得。
TD Learning理論基礎:
TD Learning理論基礎如下:
1)蒙特卡羅方法
2)動(dòng)態(tài)規劃
3)信號系統
TD Learning算法優(yōu)點(diǎn):
1)不需要環(huán)境的模型;
2)可以采用在線(xiàn)的、完全增量式的實(shí)現方式;
3)不需等到最終的真實(shí)結果;
4)不局限于episode task;
5)可以用于連續任務(wù);
6)可以保證收斂到 vπ,收斂速度較快。
TD Learning算法缺點(diǎn):
1) 對初始值比較敏感;
2) 并非總是用函數逼近。
TD Learning算法應用:
從應用角度看,TD Learning應用領(lǐng)域與應用前景都是非常廣闊的,目前主要應用于動(dòng)態(tài)系統、機器人控制及其他需要進(jìn)行系統控制的領(lǐng)域。
結語(yǔ):
TD Learning是結合了動(dòng)態(tài)規劃DP和蒙特卡洛MC方法,并兼具兩種算法的優(yōu)點(diǎn),是強化學(xué)習的中心。TD Learning不需要環(huán)境的動(dòng)態(tài)模型,直接從經(jīng)驗經(jīng)歷中學(xué)習;也不需要等到最終的結果才更新模型,它可以基于其他估計值來(lái)更新估計值。輸入數據可以刺激模型并且使模型做出反應。反饋不僅從監督學(xué)習的學(xué)習過(guò)程中得到,還從環(huán)境中的獎勵或懲罰中得到。TD Learning算法已經(jīng)被廣泛應用于動(dòng)態(tài)系統、機器人控制及其他需要進(jìn)行系統控制的領(lǐng)域。
評論