markov chain, MRP MDP
在強化學習中,馬爾科夫決策過程(Markov decision process, MDP)是對完全可觀測的環境進行描述的,也就是說觀測到的狀態內容完整地決定了決策的需要的特征。幾乎所有的強化學習問題都可以轉化為MDP。本講是理解強化學習問題的理論基礎。
1. 馬爾科夫過程 Markov Process
1.1 馬爾科夫性 Markov Property
某一狀態信息包含了所有相關的歷史,只要當前狀態可知,所有的歷史信息都不再需要,當前狀態就可以決定未來,則認為該狀態具有馬爾科夫性。
可以用下面的狀態轉移概率公式來描述馬爾科夫性:
下面狀態轉移矩陣定義了所有狀態的轉移概率:
式中n為狀態數量,矩陣中每一行元素之和為1.
1.2 馬爾科夫過程 Markov Property
馬爾科夫過程 又叫馬爾科夫鏈(Markov Chain),它是一個無記憶的隨機過程,可以用一個元組<S,P>表示,其中S是有限數量的狀態集,P是狀態轉移概率矩陣。
1.3 示例——學生馬爾科夫鏈
本講多次使用了學生馬爾科夫鏈這個例子來講解相關概念和計算。
圖中,圓圈表示學生所處的狀態,方格Sleep是一個終止狀態,或者可以描述成自循環的狀態,也就是Sleep狀態的下一個狀態100%的幾率還是自己。箭頭表示狀態之間的轉移,箭頭上的數字表示當前轉移的概率。
舉例說明:當學生處在第一節課(Class1)時,他/她有50%的幾率會參加第2節課(Class2);同時在也有50%的幾率不在認真聽課,進入到瀏覽facebook這個狀態中。在瀏覽facebook這個狀態時,他/她有90%的幾率在下一時刻繼續瀏覽,也有10%的幾率返回到課堂內容上來。當學生進入到第二節課(Class2)時,會有80%的幾率繼續參加第三節課(Class3),也有20%的幾率覺得課程較難而退出(Sleep)。當學生處于第三節課這個狀態時,他有60%的幾率通過考試,繼而100%的退出該課程,也有40%的可能性需要到去圖書館之類尋找參考文獻,此后根據其對課堂內容的理解程度,又分別有20%、40%、40%的幾率返回值第一、二、三節課重新繼續學習。一個可能的學生馬爾科夫鏈從狀態Class1開始,最終結束于Sleep,其間的過程根據狀態轉化圖可以有很多種可能性,這些都稱為Sample Episodes。以下四個Episodes都是可能的:
C1 - C2 - C3 - Pass - Sleep
C1 - FB - FB - C1 - C2 - Sleep
C1 - C2 - C3 - Pub - C2 - C3 - Pass - Sleep
C1 - FB - FB - C1 - C2 - C3 - Pub - C1 - FB - FB - FB - C1 - C2 - C3 - Pub - C2 - Sleep
該學生馬爾科夫過程的狀態轉移矩陣如下圖:
2 馬爾科夫獎勵過程 Markov Reward Process
馬爾科夫獎勵過程在馬爾科夫過程的基礎上增加了獎勵R和衰減系數γ:<S,P,R,γ>。R是一個獎勵函數。S狀態下的獎勵是某一時刻(t)處在狀態s下在下一個時刻(t+1)能獲得的獎勵期望:
很多聽眾糾結為什么獎勵是t+1時刻的。照此理解起來相當于離開這個狀態才能獲得獎勵而不是進入這個狀態即獲得獎勵。David指出這僅是一個約定,為了在描述RL問題中涉及到的觀測O、行為A、和獎勵R時比較方便。他同時指出如果把獎勵改為 [公式] 而不是 [公式] ,只要規定好,本質上意義是相同的,在表述上可以把獎勵描述為“當進入某個狀態會獲得相應的獎勵”。
衰減系數 Discount Factor: γ∈ [0, 1],它的引入有很多理由,其中優達學城的“機器學習-強化學習”課程對其進行了非常有趣的數學解釋。David也列舉了不少原因來解釋為什么引入衰減系數,其中有數學表達的方便,避免陷入無限循環,遠期利益具有一定的不確定性,符合人類對于眼前利益的追求,符合金融學上獲得的利益能夠產生新的利益因而更有價值等等。
下圖是一個“馬爾科夫獎勵過程”圖示的例子,在“馬爾科夫過程”基礎上增加了針對每一個狀態的獎勵,由于不涉及衰減系數相關的計算,這張圖并沒有特殊交代衰減系數值的大小。
2.1 收獲 Return
定義:收獲GtG_tGt?為在一個馬爾科夫獎勵鏈上從t時刻開始往后所有的獎勵的有衰減的總和。也有翻譯成“收益”或"回報"。公式如下:
其中衰減系數體現了未來的獎勵在當前時刻的價值比例,在k+1時刻獲得的獎勵R在t時刻的體現出的價值是γkR\gamma^k RγkR,γ接近0,則表明趨向于“近視”性評估;γ接近1則表明偏重考慮遠期的利益。
2.2 價值函數 Value Function
價值函數給出了某一狀態或某一行為的長期價值。
定義:一個馬爾科夫獎勵過程中某一狀態的價值函數為從該狀態開始的馬爾可夫鏈收獲的期望:
注:價值可以僅描述狀態,也可以描述某一狀態下的某個行為,在一些特殊情況下還可以僅描述某個行為。在整個視頻公開課中,除了特別指出,約定用狀態價值函數或價值函數來描述針對狀態的價值;用行為價值函數來描述某一狀態下執行某一行為的價值,嚴格意義上說行為價值函數是“狀態行為對”價值函數的簡寫。
2.3 舉例說明收獲和價值的計算
為方便計算,把“學生馬爾科夫獎勵過程”示例圖表示成下表的形式。表中第二行對應各狀態的即時獎勵值,藍色區域數字為狀態轉移概率,表示為從所在行狀態轉移到所在列狀態的概率:
考慮如下4個馬爾科夫鏈。現計算當γ= 1/2時,在t=1時刻(S1=C1S_1=C_1S1?=C1? )時狀態S1S_1S1? 的收獲分別為:
從上表也可以理解到,收獲是針對一個馬爾科夫鏈中的某一個狀態來說的。
當γ= 0時,上表描述的MRP中,各狀態的即時獎勵就與該狀態的價值相同。當γ≠ 0時,各狀態的價值需要通過計算得到,這里先給出γ分別為0, 0.9,和1三種情況下各狀態的價值,如下圖所示。
各狀態圈內的數字表示該狀態的價值,圈外的R=-2等表示的是該狀態的即時獎勵。
各狀態價值的確定是很重要的,RL的許多問題可以歸結為求狀態的價值問題。因此如何求解各狀態的價值,也就是尋找一個價值函數(從狀態到價值的映射)就變得很重要了。
2.4 價值函數的推導
2.4.1 Bellman方程 - MRP
先嘗試用價值的定義公式來推導看看能得到什么:
這個推導過程相對簡單,僅在導出最后一行時,將Gt+1G_{t+1}Gt+1?變成了v(St+1)v(S_{t+1})v(St+1?)。其理由是收獲的期望等于收獲的期望的期望。下式是針對MRP的Bellman方程:
通過方程可以看出 [公式] 由兩部分組成,一是該狀態的即時獎勵期望,即時獎勵期望等于即時獎勵,因為根據即時獎勵的定義,它與下一個狀態無關;另一個是下一時刻狀態的價值期望,可以根據下一時刻狀態的概率分布得到其期望。如果用s’表示s狀態下一時刻任一可能的狀態,那么Bellman方程可以寫成:
2.4.2 方程的解釋
下圖已經給出了γ=1時各狀態的價值(該圖沒有文字說明γ=1,根據視頻講解和前面圖示以及狀態方程的要求,γ必須要確定才能計算),狀態 [公式] 的價值可以通過狀態Pub和Pass的價值以及他們之間的狀態轉移概率來計算:
2.4.3 Bellman方程的矩陣形式和求解
大規模MRP的求解通常使用迭代法。常用的迭代方法有:動態規劃Dynamic Programming、蒙特卡洛評估Monte-Carlo evaluation、時序差分學習Temporal-Difference,后文會逐步講解這些方法。
3 馬爾科夫決定過程 Markov Decision Process
相較于馬爾科夫獎勵過程,馬爾科夫決定過程多了一個行為集合A,它是這樣的一個元組: <S, A, P, R, γ>。看起來很類似馬爾科夫獎勵過程,但這里的P和R都與具體的行為a對應,而不像馬爾科夫獎勵過程那樣僅對應于某個狀態,A表示的是有限的行為的集合。具體的數學表達式如下:
3.1 示例——學生MDP
下圖給出了一個可能的MDP的狀態轉化圖。圖中紅色的文字表示的是采取的行為,而不是先前的狀態名。對比之前的學生MRP示例可以發現,即時獎勵與行為對應了,同一個狀態下采取不同的行為得到的即時獎勵是不一樣的。由于引入了Action,容易與狀態名混淆,因此此圖沒有給出各狀態的名稱;此圖還把Pass和Sleep狀態合并成一個終止狀態;另外當選擇”去查閱文獻”這個動作時,主動進入了一個臨時狀態(圖中用黑色小實點表示),隨后被動的被環境按照其動力學分配到另外三個狀態,也就是說此時Agent沒有選擇權決定去哪一個狀態。
3.2 策略Policy
用文字描述是這樣的,在執行策略 [公式] 時,狀態從s轉移至 s’ 的概率等于一系列概率的和,這一系列概率指的是在執行當前策略時,執行某一個行為的概率與該行為能使狀態從s轉移至s’的概率的乘積。
3.3 獎勵函數
獎勵函數表示如下:
用文字表述是這樣的:當前狀態s下執行某一指定策略得到的即時獎勵是該策略下所有可能行為得到的獎勵與該行為發生的概率的乘積的和。
策略在MDP中的作用相當于agent可以在某一個狀態時做出選擇,進而有形成各種馬爾科夫過程的可能,而且基于策略產生的每一個馬爾科夫過程是一個馬爾科夫獎勵過程,各過程之間的差別是不同的選擇產生了不同的后續狀態以及對應的不同的獎勵。
3.4 基于策略π的價值函數
下圖用例子解釋了行為價值函數
3.5 Bellman期望方程 Bellman Expectation Equation
MDP下的狀態價值函數和行為價值函數與MRP下的價值函數類似,可以改用下一時刻狀態價值函數或行為價值函數來表達,具體方程如下:
上圖中,空心較大圓圈表示狀態,黑色實心小圓表示的是動作本身,連接狀態和動作的線條僅僅把該狀態以及該狀態下可以采取的行為關聯起來。可以看出,在遵循策略π時,狀態s的價值體現為在該狀態下遵循某一策略而采取所有可能行為的價值按行為發生概率的乘積求和。
3.6 學生MDP示例
下圖解釋了紅色空心圓圈狀態的狀態價值是如何計算的,遵循的策略隨機策略,即所有可能的行為有相同的幾率被選擇執行。
3.7 Bellman期望方程矩陣形式
3.8 最優價值函數
最優價值函數明確了MDP的最優可能表現,當我們知道了最優價值函數,也就知道了每個狀態的最優價值,這時便認為這個MDP獲得了解決。
學生MDP問題的最優狀態價值
學生MDP問題的最優行為價值
注:youtube留言認為Pub行為對應的價值是+9.4而不是+8.4
3.9 最優策略
當對于任何狀態 s,遵循策略π的價值不小于遵循策略 π’ 下的價值,則策略π優于策略 π’:
定理 對于任何MDP,下面幾點成立:1.存在一個最優策略,比任何其他策略更好或至少相等;2.所有的最優策略有相同的最優價值函數;3.所有的最優策略具有相同的行為價值函數。
3.9.1 尋找最優策略
可以通過最大化最優行為價值函數來找到最優策略:
對于任何MDP問題,總存在一個確定性的最優策略;同時如果我們知道最優行為價值函數,則表明我們找到了最優策略。
3.9.2 學生MDP最優策略示例
紅色箭頭表示的行為表示最優策略
3.10 Bellman最優方程 Bellman Optimality Equation
針對 [公式] ,一個狀態的最優價值等于從該狀態出發采取的所有行為產生的行為價值中最大的那個行為價值:
針對q?q_*q?? ,在某個狀態s下,采取某個行為的最優價值由2部分組成,一部分是離開狀態 s 的即刻獎勵,另一部分則是所有能到達的狀態 s’ 的最優狀態價值按出現概率求和:
3.11 Bellman最優方程學生MDP示例
3.12 求解Bellman最優方程
Bellman最優方程是非線性的,沒有固定的解決方案,通過一些迭代方法來解決:價值迭代、策略迭代、Q學習、Sarsa等。后續會逐步講解展開。
4 MDP延伸——Extensions to MDPs
簡要提及:無限狀態或連續MDP;部分可觀測MDP;非衰減、平均獎勵MDP
https://zhuanlan.zhihu.com/p/28084942
總結
以上是生活随笔為你收集整理的markov chain, MRP MDP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米手环 8 Pro 预热:续航最长 1
- 下一篇: 海外厂商推出低价双屏笔记本,类似华硕灵耀