增強學習(二)----- 馬爾可夫決策過程MDP

1. 馬爾可夫模型的幾類子模型

大家應該還記得馬爾科夫鏈(Markov Chain),瞭解機器學習的也都知道隱馬爾可夫模型(Hidden Markov Model,HMM)。它們具有的一個共同性質就是馬爾可夫性(無後效性),也就是指系統的下個狀態只與當前狀態信息有關,而與更早之前的狀態無關。

馬爾可夫決策過程(Markov Decision Process, MDP)也具有馬爾可夫性,與上面不同的是MDP考慮了動作,即系統下個狀態不僅和當前的狀態有關,也和當前採取的動作有關。還是舉下棋的例子,當我們在某個局面(狀態s)走了一步(動作a),這時對手的選擇(導致下個狀態s’)我們是不能確定的,但是他的選擇只和s和a有關,而不用考慮更早之前的狀態和動作,即s’是根據s和a隨機生成的。

我們用一個二維表格表示一下,各種馬爾可夫子模型的關係就很清楚了:

  不考慮動作 考慮動作
狀態完全可見 馬爾科夫鏈(MC) 馬爾可夫決策過程(MDP)
狀態不完全可見 隱馬爾可夫模型(HMM) 不完全可觀察馬爾可夫決策過程(POMDP)

2. 馬爾可夫決策過程

一個馬爾可夫決策過程由一個四元組構成M = (S, A, Psa, R) 

MDP 的動態過程如下:某個智能體(agent)的初始狀態爲s0,然後從 A 中挑選一個動作a0執行,執行後,agent 按Psa概率隨機轉移到了下一個s1狀態,s1∈ Ps0a0。然後再執行一個動作a1,就轉移到了s2,接下來再執行a2…,我們可以用下面的圖表示狀態轉移的過程。

如果回報r是根據狀態s和動作a得到的,則MDP還可以表示成下圖:

3. 值函數(value function)

上篇我們提到增強學習學到的是一個從環境狀態到動作的映射(即行爲策略),記爲策略π: S→A。而增強學習往往又具有延遲迴報的特點: 如果在第n步輸掉了棋,那麼只有狀態sn和動作an獲得了立即回報r(sn,an)=-1,前面的所有狀態立即回報均爲0。所以對於之前的任意狀態s和動作a,立即回報函數r(s,a)無法說明策略的好壞。因而需要定義值函數(value function,又叫效用函數)來表明當前狀態下策略π的長期影響。

用Vπ(s)表示策略π下,狀態s的值函數。ri表示未來第i步的立即回報,常見的值函數有以下三種:

a)

b)

c)

其中:

a)是採用策略π的情況下未來有限h步的期望立即回報總和;

b)是採用策略π的情況下期望的平均回報;

c)是值函數最常見的形式,式中γ∈[0,1]稱爲摺合因子,表明了未來的回報相對於當前回報的重要程度。特別的,γ=0時,相當於只考慮立即不考慮長期回報,γ=1時,將長期回報和立即回報看得同等重要。接下來我們只討論第三種形式,

 

現在將值函數的第三種形式展開,其中ri表示未來第i步回報,s'表示下一步狀態,則有:

給定策略π和初始狀態s,則動作a=π(s),下個時刻將以概率p(s'|s,a)轉向下個狀態s',那麼上式的期望可以拆開,可以重寫爲:

上面提到的值函數稱爲狀態值函數(state value function),需要注意的是,在Vπ(s)中,π和初始狀態s是我們給定的,而初始動作a是由策略π和狀態s決定的,即a=π(s)

定義動作值函數(action value functionQ函數)如下:

給定當前狀態s和當前動作a,在未來遵循策略π,那麼系統將以概率p(s'|s,a)轉向下個狀態s',上式可以重寫爲:

在Qπ(s,a)中,不僅策略π和初始狀態s是我們給定的,當前的動作a也是我們給定的,這是Qπ(s,a)和Vπ(a)的主要區別。

知道值函數的概念後,一個MDP的最優策略可以由下式表示:

即我們尋找的是在任意初始條件s下,能夠最大化值函數的策略π*。

4. 值函數與Q函數計算的例子

上面的概念可能描述得不夠清晰,接下來我們實際計算一下,如圖所示是一個格子世界,我們假設agent從左下角的start點出發,右上角爲目標位置,稱爲吸收狀態(Absorbing state),對於進入吸收態的動作,我們給予立即回報100,對其他動作則給予0回報,摺合因子γ的值我們選擇0.9。

爲了方便描述,記第i行,第j列的狀態爲sij, 在每個狀態,有四種上下左右四種可選的動作,分別記爲au,ad,al,ar。(up,down,left,right首字母),並認爲狀態按動作a選擇的方向轉移的概率爲1。

1.由於狀態轉移概率是1,每組(s,a)對應了唯一的s'。回報函數r(s'|s,a)可以簡記爲r(s,a)

如下所示,每個格子代表一個狀態s,箭頭則代表動作a,旁邊的數字代表立即回報,可以看到只有進入目標位置的動作獲得了回報100,其他動作都獲得了0回報。 即r(s12,ar) = r(s23,au) =100。

 

2. 一個策略π如圖所示:

 

3. 值函數Vπ(s)如下所示

根據Vπ的表達式,立即回報,和策略π,有

Vπ(s12) = r(s12,ar) = r(s13|s12,ar) = 100

 Vπ(s11)= r(s11,ar)+γ*Vπ(s12) = 0+0.9*100 = 90

Vπ(s23) = r(s23,au) = 100

 Vπ(s22)= r(s22,ar)+γ*Vπ(s23) = 90

 Vπ(s21)= r(s21,ar)+γ*Vπ(s22) = 81

4. Q(s,a)值如下所示

有了策略π和立即回報函數r(s,a), Qπ(s,a)如何得到的呢?

對s11計算Q函數(用到了上面Vπ的結果)如下:

Qπ(s11,ar)=r(s11,ar)+ γ *Vπ(s12)  =0+0.9*100 = 90

Qπ(s11,ad)=r(s11,ad)+ γ *Vπ(s21)  = 72

 

至此我們瞭解了馬爾可夫決策過程的基本概念,知道了增強學習的目標(獲得任意初始條件下,使Vπ值最大的策略π*),下一篇開始介紹求解最優策略的方法。

PS:發現寫東西還是蠻辛苦的,希望對大家有幫助。另外自己也比較菜,沒寫對的地方歡迎指出~~

 

[注]採用摺合因子作爲值函數的MDP也可以定義爲五元組M=(S, A, P, γ, R)。也有的書上把值函數作爲一個因子定義五元組。還有定義爲三元組的,不過MDP的基本組成元素是不變的。

參考資料:

[1] R.Sutton et al. Reinforcement learning: An introduction , 1998

[2] T.Mitchell. 《機器學習》,2003

[3] 金卓軍,逆向增強學習和示教學習算法研究及其在智能機器人中的應用[D],2011

[4] Oliver Sigaud et al,Markov Decision Process in Artificial Intelligence[M], 2010


文章來源:http://blog.csdn.net/zz_1215/article/details/44138823

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