新聞中心

        EEPW首頁 > 智能計算 > 設計應用 > 人工智能之TD Learning算法

        人工智能之TD Learning算法

        作者: 時間:2018-06-19 來源:網絡 收藏

          機器學習有關算法內容,請參見公眾號“科技優化生活”之前相關文章。之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下算法。 ^_^

        本文引用地址:http://www.104case.com/article/201806/381804.htm

          時序差分學習結合了動態規劃DP和蒙特卡洛MC(請參見(31))方法,且兼具兩種算法的優點,是強化學習的核心思想。

          雖然蒙特卡羅MC方法僅在最終結果已知時才調整其估計值,但時序差分學習調整預測以匹配后,更準確地預測最終結果之前的未來預測。


          TD Learning算法概念:

          TD Learning(Temporal-Difference Learning) 時序差分學習指的是一類無模型的強化學習方法,它是從當前價值函數估計的自舉過程中學習的。這些方法從環境中取樣,如蒙特卡洛方法,并基于當前估計執行更新,如動態規劃方法。

          TD Learning算法本質:

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

          時序差分不好理解。改為當時差分學習比較形象一些,表示通過當前的差分數據來學習。

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

          TD Learning算法描述:

          如果可以計算出策略價值(π狀態價值vπ(s),或者行動價值qπ(s,a)),就可以優化策略。

          在蒙特卡洛方法中,計算策略的價值,需要完成一個情節,通過情節的目標價值Gt來計算狀態的價值。其公式:

          MC公式:

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

          δt=[Gt?V(St)]

          這里:

          δt – MC誤差

          α – MC學習步長

          TD Learning公式:

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

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

          這里:

          δt – TD Learning誤差

          α – TD Learning步長

          γ – TD Learning報酬貼現率

          TD Learning時間差分方法的目標為Rt+1+γ V(St+1),若V(St+1) 采用真實值,則TD Learning時間差分方法估計也是無偏估計,然而在試驗中V(St+1) 用的也是估計值,因此TD Learning時間差分方法屬于有偏估計。然而,跟蒙特卡羅MC方法相比,TD Learning時間差分方法只用到了一步隨機狀態和動作,因此TD Learning時間差分方法目標的隨機性比蒙特卡羅MC方法中的Gt 要小,因此其方差也比蒙特卡羅MC方法的方差小。



          TD Learning分類:

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

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

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

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

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

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

          TD Learning算法流程:

          1)單步TD Learning時序差分學習方法:

          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時序差分學習方法:

          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)動態規劃

          3)信號系統

          TD Learning算法優點:

          1)不需要環境的模型;

          2)可以采用在線的、完全增量式的實現方式;

          3)不需等到最終的真實結果;

          4)不局限于episode task;

          5)可以用于連續任務;

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

          TD Learning算法缺點:

          1) 對初始值比較敏感;

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

          TD Learning算法應用:

          從應用角度看,TD Learning應用領域與應用前景都是非常廣闊的,目前主要應用于動態系統、機器人控制及其他需要進行系統控制的領域。

          結語:

          TD Learning是結合了動態規劃DP和蒙特卡洛MC方法,并兼具兩種算法的優點,是強化學習的中心。TD Learning不需要環境的動態模型,直接從經驗經歷中學習;也不需要等到最終的結果才更新模型,它可以基于其他估計值來更新估計值。輸入數據可以刺激模型并且使模型做出反應。反饋不僅從監督學習的學習過程中得到,還從環境中的獎勵或懲罰中得到。TD Learning算法已經被廣泛應用于動態系統、機器人控制及其他需要進行系統控制的領域。



        關鍵詞: 人工智能 TD Learning

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 额尔古纳市| 偃师市| 吐鲁番市| 宽城| 泰和县| 营口市| 白玉县| 平邑县| 玛多县| 五大连池市| 禹州市| 嘉禾县| 广汉市| 陆良县| 永川市| 同仁县| 二连浩特市| 开阳县| 潜江市| 镇平县| 周口市| 家居| 临西县| 马公市| 潜江市| 通辽市| 楚雄市| 滨州市| 汾阳市| 师宗县| 兰西县| 南部县| 游戏| 宣恩县| 定西市| 阿鲁科尔沁旗| 雷州市| 两当县| 乌鲁木齐县| 阳城县| 苏尼特左旗|