work 馬爾可夫決策過程MDP

2021-08-29 04:51:54 字數 3429 閱讀 3189

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, ?) [注1]

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步的立即回報,常見的值函式有以下三種:

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

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

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

給定策略π和初始狀態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

[注]採用折合因子作為值函式的mdp也可以定義為五元組m=(s, a, p, γ, r)。也有的書上把值函式作為乙個因子定義五元組。還有定義為三元組的,不過mdp的基本組成元素是不變的。

馬爾可夫決策過程 MDP

但是馬爾科夫過程中不存在動作 action 和獎勵 reward 所有馬爾科夫過程不足以描述圖1所示的強化學習過程。將動作 action 和獎勵 reward 考慮到馬爾科夫過程中去就得到了馬爾科夫決策過程。跟馬爾科夫過程不同的是,馬爾科夫決策過程的狀態轉移概率是包含動作的即 pss a p st ...

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

增強學習 二 馬爾可夫決策過程mdp 1.馬爾可夫模型的幾類子模型 大家應該還記得馬爾科夫鏈 markov chain 了解機器學習的也都知道隱馬爾可夫模型 hidden markov model,hmm 它們具有的乙個共同性質就是馬爾可夫性 無後效性 也就是指系統的下個狀態只與當前狀態資訊有關,而...

《強化學習》馬爾可夫決策過程MDP

狀態自動機 mdp和nfa唯一相似的地方就是它們都有狀態轉移,拋掉這一點兩者就八竿子打不著了。我們用貝爾曼期望方程求解在某個給定策略 和環境env下的價值函式 具體解法是 下面是對於v s 的解法 從而對於每乙個特定的 都能得到其對應的價值函式。所以我們可以有一組的 但是我們解決問題的目標是拿到最優...