訂閱
糾錯(cuò)
加入自媒體

人工智能之TD Learning算法

人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,請(qǐng)參見(jiàn)公眾號(hào)“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機(jī)器學(xué)習(xí)主要有三大類(lèi):1)分類(lèi);2)回歸;3)聚類(lèi)。今天我們重點(diǎn)探討一下TD Learning算法。 ^_^

TD Learning時(shí)序差分學(xué)習(xí)結(jié)合了動(dòng)態(tài)規(guī)劃DP蒙特卡洛MC(請(qǐng)參見(jiàn)人工智能(31))方法,且兼具兩種算法的優(yōu)點(diǎn),是強(qiáng)化學(xué)習(xí)的核心思想

雖然蒙特卡羅MC方法僅在最終結(jié)果已知時(shí)才調(diào)整其估計(jì)值,但TD Learning時(shí)序差分學(xué)習(xí)調(diào)整預(yù)測(cè)以匹配后,更準(zhǔn)確地預(yù)測(cè)最終結(jié)果之前的未來(lái)預(yù)測(cè)。

TD Learning算法概念:

TD Learning(Temporal-Difference Learning) 時(shí)序差分學(xué)習(xí)指的是一類(lèi)無(wú)模型的強(qiáng)化學(xué)習(xí)方法,它是從當(dāng)前價(jià)值函數(shù)估計(jì)的自舉過(guò)程中學(xué)習(xí)的。這些方法從環(huán)境中取樣,如蒙特卡洛方法,并基于當(dāng)前估計(jì)執(zhí)行更新,如動(dòng)態(tài)規(guī)劃方法。

TD Learning算法本質(zhì)

TD Learning(Temporal-DifferenceLearning)時(shí)序差分學(xué)習(xí)結(jié)合了動(dòng)態(tài)規(guī)劃和蒙特卡洛方法,是強(qiáng)化學(xué)習(xí)的核心思想。

時(shí)序差分不好理解。改為當(dāng)時(shí)差分學(xué)習(xí)比較形象一些,表示通過(guò)當(dāng)前的差分?jǐn)?shù)據(jù)來(lái)學(xué)習(xí)。

蒙特卡洛MC方法是模擬(或者經(jīng)歷)一段序列或情節(jié),在序列或情節(jié)結(jié)束后,根據(jù)序列或情節(jié)上各個(gè)狀態(tài)的價(jià)值,來(lái)估計(jì)狀態(tài)價(jià)值。TD Learning時(shí)序差分學(xué)習(xí)是模擬(或者經(jīng)歷)一段序列或情節(jié),每行動(dòng)一步(或者幾步),根據(jù)新?tīng)顟B(tài)的價(jià)值,然后估計(jì)執(zhí)行前的狀態(tài)價(jià)值?梢哉J(rèn)為蒙特卡洛MC方法是最大步數(shù)的TD Learning時(shí)序差分學(xué)習(xí)。

TD Learning算法描述:

如果可以計(jì)算出策略?xún)r(jià)值(π狀態(tài)價(jià)值vπ(s),或者行動(dòng)價(jià)值qπ(s,a)),就可以?xún)?yōu)化策略。

在蒙特卡洛方法中,計(jì)算策略的價(jià)值,需要完成一個(gè)情節(jié),通過(guò)情節(jié)的目標(biāo)價(jià)值Gt來(lái)計(jì)算狀態(tài)的價(jià)值。其公式:

MC公式:

V(St)←V(St)+αδt

δt=[Gt?V(St)]

這里:

δt – MC誤差

α – MC學(xué)習(xí)步長(zhǎng)

TD Learning公式:

V(St)←V(St)+αδt

δt=[Rt+1+γV(St+1)?V(St)]

這里:

δt – TD Learning誤差

α – TD Learning步長(zhǎng)

γ – TD Learning報(bào)酬貼現(xiàn)率

TD Learning時(shí)間差分方法的目標(biāo)為Rt+1+γ V(St+1),若V(St+1) 采用真實(shí)值,則TD Learning時(shí)間差分方法估計(jì)也是無(wú)偏估計(jì),然而在試驗(yàn)中V(St+1)  用的也是估計(jì)值,因此TD Learning時(shí)間差分方法屬于有偏估計(jì)。然而,跟蒙特卡羅MC方法相比,TD Learning時(shí)間差分方法只用到了一步隨機(jī)狀態(tài)和動(dòng)作,因此TD Learning時(shí)間差分方法目標(biāo)的隨機(jī)性比蒙特卡羅MC方法中的Gt 要小,因此其方差也比蒙特卡羅MC方法的方差小

TD Learning分類(lèi):

1)策略狀態(tài)價(jià)值vπ的時(shí)序差分學(xué)習(xí)方法(單步多步)

2)策略行動(dòng)價(jià)值qπ的on-policy時(shí)序差分學(xué)習(xí)方法: Sarsa(單步多步)

3)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習(xí)方法: Q-learning(單步),Double Q-learning(單步)

4)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習(xí)方法(帶importance sampling): Sarsa(多步)

5)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習(xí)方法(不帶importance sampling): Tree Backup Algorithm(多步)

6)策略行動(dòng)價(jià)值qπ的off-policy時(shí)序差分學(xué)習(xí)方法: Q(σ)(多步)

TD Learning算法流程:

1)單步TD Learning時(shí)序差分學(xué)習(xí)方法:

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é)習(xí)方法:

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, 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)計(jì)算所得;V(S1)是由V(S1),V(S1),…,V(Sn+1)計(jì)算所得。

TD Learning理論基礎(chǔ):

TD Learning理論基礎(chǔ)如下:

1)蒙特卡羅方法

2)動(dòng)態(tài)規(guī)劃

3)信號(hào)系統(tǒng)

TD Learning算法優(yōu)點(diǎn):

1)不需要環(huán)境的模型;

2)可以采用在線(xiàn)的、完全增量式的實(shí)現(xiàn)方式;

3)不需等到最終的真實(shí)結(jié)果;

4)不局限于episode task;

5)可以用于連續(xù)任務(wù)

6)可以保證收斂到 vπ,收斂速度較快

TD Learning算法缺點(diǎn):

1)    對(duì)初始值比較敏感;

2)    并非總是用函數(shù)逼近。

TD Learning算法應(yīng)用:

從應(yīng)用角度看,TD Learning應(yīng)用領(lǐng)域與應(yīng)用前景都是非常廣闊的,目前主要應(yīng)用于動(dòng)態(tài)系統(tǒng)、機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。

結(jié)語(yǔ):

TD Learning結(jié)合了動(dòng)態(tài)規(guī)劃DP蒙特卡洛MC方法,并兼具兩種算法的優(yōu)點(diǎn),是強(qiáng)化學(xué)習(xí)的中心TD Learning不需要環(huán)境的動(dòng)態(tài)模型,直接從經(jīng)驗(yàn)經(jīng)歷中學(xué)習(xí);也不需要等到最終的結(jié)果才更新模型,它可以基于其他估計(jì)值來(lái)更新估計(jì)值。輸入數(shù)據(jù)可以刺激模型并且使模型做出反應(yīng)。反饋不僅從監(jiān)督學(xué)習(xí)的學(xué)習(xí)過(guò)程中得到,還從環(huán)境中的獎(jiǎng)勵(lì)或懲罰中得到。TD Learning算法已經(jīng)被廣泛應(yīng)用于動(dòng)態(tài)系統(tǒng)機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。

------以往文章推薦------

機(jī)器學(xué)習(xí)

深度學(xué)習(xí)

人工神經(jīng)網(wǎng)絡(luò)

決策樹(shù)

隨機(jī)森林

強(qiáng)化學(xué)習(xí)

遷移學(xué)習(xí)

遺傳算法

樸素貝葉斯

支持向量機(jī)

蒙特卡羅方法

馬爾科夫模型

Hopfield神經(jīng)網(wǎng)絡(luò)

回歸模型

K鄰近算法

卷積神經(jīng)網(wǎng)絡(luò)

受限玻爾茲曼機(jī)

循環(huán)神經(jīng)網(wǎng)絡(luò)

長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)

Adaboost算法

ID3算法

CART算法

K-Means算法

Apriori算法

PCA算法

ICA算法

聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)