1. 程式人生 > >David Silver《強化學習RL》第二講 馬爾可夫決策過程

David Silver《強化學習RL》第二講 馬爾可夫決策過程

在強化學習中,馬爾科夫決策過程(Markov decision process, MDP)是對完全可觀測的環境進行描述的,也就是說觀測到的狀態內容完整地決定了決策的需要的特徵。幾乎所有的強化學習問題都可以轉化為MDP。本講是理解強化學習問題的理論基礎。

 

下面將從以下四個部分展開介紹:

  • 馬爾科夫過程 Markov Process
  • 馬爾科夫獎勵過程 Markov Reward Process
  • 馬爾可夫決策過程 Markov Decision Process
  • MDP延伸 Extensions to MDPs

 

1. 馬爾科夫過程 Markov Process

 

  • 馬爾科夫性 Markov Property

某一狀態資訊包含了所有相關的歷史,只要當前狀態可知,所有的歷史資訊都不再需要,當前狀態就可以決定未來,則認為該狀態具有馬爾科夫性

可以用下面的狀態轉移概率公式來描述馬爾科夫性:

下面狀態轉移矩陣定義了所有狀態的轉移概率:

式中n為狀態數量,矩陣中每一行元素之和為1。

 

  • 馬爾科夫過程 Markov Property

馬爾科夫過程 又叫馬爾科夫鏈(Markov Chain),它是一個無記憶的隨機過程,可以用一個元組<S,P>表示,其中S是有限數量的狀態集,P是狀態轉移概率矩陣。

 

  • 示例——學生馬爾科夫鏈

本講多次使用了學生馬爾科夫鏈這個例子來講解相關概念和計算。

圖中,圓圈表示學生所處的狀態,方格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)能獲得的獎勵期望:

R_{s} = E[R_{t+1} | S_{t} = s ]

很多聽眾糾結為什麼獎勵是(t+1)時刻的。照此理解起來相當於離開這個狀態才能獲得獎勵而不是進入這個狀態即獲得獎勵。David指出這僅是一個約定,為了在描述RL問題中涉及到的觀測O、行為A和獎勵R時比較方便。他同時指出如果把獎勵改為 R_t 而不是 R_{t+1} ,只要規定好,本質上意義是相同的,在表述上可以把獎勵描述為“當進入某個狀態會獲得相應的獎勵”。

 

衰減係數 Discount Factor: γ∈ [0, 1],它的引入有很多理由,其中優達學城的“機器學習-強化學習”課程對其進行了非常有趣的數學解釋。David也列舉了不少原因來解釋為什麼引入衰減係數,其中有數學表達的方便,避免陷入無限迴圈,遠期利益具有一定的不確定性,符合人類對於眼前利益的追求,符合金融學上獲得的利益能夠產生新的利益因而更有價值等等。

 

下圖是一個“馬爾科夫獎勵過程”圖示的例子,在“馬爾科夫過程”基礎上增加了針對每一個狀態的獎勵,由於不涉及衰減係數相關的計算,這張圖並沒有特殊交代衰減係數值的大小。

 

2.1 回報 Return

定義:回報 G_{t} 為在一個馬爾科夫獎勵鏈上從t時刻開始往後所有的獎勵的有衰減的總和。也有翻譯成“收益"。公式如下:

其中衰減係數體現了未來的獎勵在當前時刻的價值比例,在k+1時刻獲得的獎勵R在t時刻的體現出的價值是 \gamma^k R ,γ接近0,則表明趨向於“近視”性評估;γ接近1則表明偏重考慮遠期的利益。

 

2.2 價值函式 Value Function

價值函式給出了某一狀態或某一行為的長期價值。

定義:一個馬爾科夫獎勵過程中某一狀態的價值函式從該狀態開始的馬爾可夫鏈收穫的期望:

v(s) = E [ G_{t} | S_{t} = s ]

注:價值可以僅描述狀態,也可以描述某一狀態下的某個行為,在一些特殊情況下還可以僅描述某個行為。在整個視訊公開課中,除了特別指出,約定用狀態價值函式價值函式來描述針對狀態的價值;用行為價值函式來描述某一狀態下執行某一行為的價值,嚴格意義上說行為價值函式是“狀態行為對”價值函式的簡寫。

 

2.3 舉例說明收穫和價值的計算

為方便計算,把“學生馬爾科夫獎勵過程”示例圖表示成下表的形式。表中第二行對應各狀態的即時獎勵值,藍色區域數字為狀態轉移概率,表示為從所在行狀態轉移到所在列狀態的概率:

 

考慮如下4個馬爾科夫鏈。現計算當γ= 1/2時,在t=1時刻(S_{1} = C_{1})時狀態 S_{1} 的收穫分別為:

從上表也可以理解到,收穫是針對一個馬爾科夫鏈中的某一個狀態來說的。

當γ= 0時,上表描述的MRP中,各狀態的即時獎勵就與該狀態的價值相同。當γ≠ 0時,各狀態的價值需要通過計算得到,這裡先給出γ分別為0, 0.9,和1三種情況下各狀態的價值,如下圖所示。

各狀態圈內的數字表示該狀態的價值,圈外的R=-2等表示的是該狀態的即時獎勵。

各狀態價值的確定是很重要的,RL的許多問題可以歸結為求狀態的價值問題。因此如何求解各狀態的價值,也就是尋找一個價值函式(從狀態到價值的對映)就變得很重要了。

 

2.4 價值函式的推導

  • Bellman方程 - MRP

先嚐試用價值的定義公式來推導看看能得到什麼:

這個推導過程相對簡單,僅在匯出最後一行時,將 G_{t+1} 變成了 v(S_{t+1}) 。其理由是收穫的期望等於收穫的期望的期望。下式是針對MRP的Bellman方程:

通過方程可以看出 v(s) 由兩部分組成,一是該狀態的即時獎勵期望,即時獎勵期望等於即時獎勵,因為根據即時獎勵的定義,它與下一個狀態無關;另一個是下一時刻狀態的價值期望,可以根據下一時刻狀態的概率分佈得到其期望。如果用s’表示s狀態下一時刻任一可能的狀態,那麼Bellman方程可以寫成:

  • 方程的解釋

下圖已經給出了γ=1時各狀態的價值(該圖沒有文字說明γ=1,根據視訊講解和前面圖示以及狀態方程的要求,γ必須要確定才能計算),狀態 C_{3} 的價值可以通過狀態Pub和Pass的價值以及他們之間的狀態轉移概率來計算:

4.3 = -2 + 1.0 *(0.6 * 10 + 0.4 * 0.8)

  • Bellman方程的矩陣形式和求解

結合矩陣的具體表達形式還是比較好理解的:

Bellman方程是一個線性方程組,因此理論上解可以直接求解:

實際上,計算複雜度是 O(n^{3}) , n 是狀態數量。因此直接求解僅適用於小規模的MRPs。大規模MRP的求解通常使用迭代法。常用的迭代方法有:動態規劃Dynamic Programming、蒙特卡洛評估Monte-Carlo evaluation、時序差分學習Temporal-Difference,後文會逐步講解這些方法。

 

3. 馬爾科夫決策過程 Markov Decision Process

相較於馬爾科夫獎勵過程,馬爾科夫決策過程多了一個行為集合A,它是這樣的一個元組: <S, A, P, R, γ>。看起來很類似馬爾科夫獎勵過程,但這裡的P和R都與具體的行為a對應,而不像馬爾科夫獎勵過程那樣僅對應於某個狀態,A表示的是有限的行為的集合。具體的數學表示式如下:

狀態轉移概率矩陣:

獎勵函式:

 

  • 示例——學生MDP

下圖給出了一個可能的MDP的狀態轉化圖。圖中紅色的文字表示的是採取的行為,而不是先前的狀態名。對比之前的學生MRP示例可以發現,即時獎勵與行為對應了,同一個狀態下采取不同的行為得到的即時獎勵是不一樣的。由於引入了Action,容易與狀態名混淆,因此此圖沒有給出各狀態的名稱;此圖還把Pass和Sleep狀態合併成一個終止狀態;另外當選擇”去查閱文獻”這個動作時,主動進入了一個臨時狀態(圖中用黑色小實點表示),隨後被動的被環境按照其動力學分配到另外三個狀態,也就是說此時Agent沒有選擇權決定去哪一個狀態。

 

  • 策略Policy

策略 \pi是概率的集合或分佈,其元素 \pi(a|s) 為對過程中的某一狀態s採取可能的行為a的概率。用 \pi(a|s) 表示。

一個策略完整定義了個體的行為方式,也就是說定義了個體在各個狀態下的各種可能的行為方式以及其概率的大小。策略僅和當前的狀態有關,與歷史資訊無關;同時某一確定的策略是靜態的,與時間無關;但是個體可以隨著時間更新策略。

當給定一個MDP: M = <S, A, P, R, \gamma> 和一個策略π,那麼狀態序列 S_{1},S_{2},... 是一個馬爾科夫過程 <S, P^{\pi}> ;同樣,狀態和獎勵序列 S_{1}, R_{2}, S_{2}, R_{3}, S_{3}, ... 是一個馬爾科夫獎勵過程 <S, P^{\pi}, R^{\pi}, \gamma> ,並且在這個獎勵過程中滿足下面兩個方程:

用文字描述是這樣的,在執行策略 \pi 時,狀態從s轉移至 s' 的概率等於一系列概率的和,這一系列概率指的是在執行當前策略時,執行某一個行為的概率與該行為能使狀態從s轉移至s’的概率的乘積。

獎勵函式表示如下:

用文字表述是這樣的:當前狀態s下執行某一指定策略得到的即時獎勵是該策略下所有可能行為得到的獎勵與該行為發生的概率的乘積的和。

策略在MDP中的作用相當於agent可以在某一個狀態時做出選擇,進而有形成各種馬爾科夫過程的可能,而且基於策略產生的每一個馬爾科夫過程是一個馬爾科夫獎勵過程,各過程之間的差別是不同的選擇產生了不同的後續狀態以及對應的不同的獎勵。

  • 基於策略π的價值函式

定義v_\pi(s) 是在MDP下的基於策略π的狀態價值函式,表示從狀態s開始,遵循當前策略時所獲得的收穫的期望;或者說在執行當前策略π時,衡量個體處在狀態s時的價值大小。數學表示如下:

注意策略是靜態的、關於整體的概念,不隨狀態改變而改變;變化的是在某一個狀態時,依據策略可能產生的具體行為,因為具體的行為是有一定的概率的,策略就是用來描述各個不同狀態下執行各個不同行為的概率。

定義 q_{\pi}(s,a)行為價值函式,表示在執行策略π時,對當前狀態s執行某一具體行為a所能的到的收穫的期望;或者說在遵循當前策略π時,衡量對當前狀態執行行為a的價值大小。行為價值函式一般都是與某一特定的狀態相對應的,更精細的描述是狀態行為對價值函式。行為價值函式的公式描述如下:

下圖用學生-MDP的例子解釋行為價值函式:

例如: 

2.7=0.5\times \left(-2+1\times7.4 \right )+0.5\times\left(0+1\times0\right)

-1.3=0.5\times\left(-2+1\times2.7\right)+0.5\times\left(-1+1\times\left(-2.3) \right )

 

  • Bellman期望方程 Bellman Expectation Equation

MDP下的狀態價值函式和行為價值函式與MRP下的價值函式類似,可以改用下一時刻狀態價值函式或行為價值函式來表達,具體方程如下:

  • v_{\pi}(s)q_{\pi}(s,a)的關係

上圖中,空心較大圓圈表示狀態,黑色實心小圓表示的是動作本身,連線狀態和動作的線條僅僅把該狀態以及該狀態下可以採取的行為關聯起來。可以看出,在遵循策略π時,狀態s的價值體現為在該狀態下遵循某一策略而採取所有可能行為的價值按行為發生概率的乘積求和。

類似的,一個行為價值函式也可以表示成狀態價值函式的形式:

它表明,一個某一個狀態下采取一個行為的價值,可以分為兩部分:其一是離開這個狀態的價值,其二是所有進入新的狀態的價值與其轉移概率乘積的和。

如果組合起來,可以得到下面的結果:

也可以得到下面的結果:

  • 學生MDP示例

下圖解釋了紅色空心圓圈狀態的狀態價值是如何計算的,遵循的策略隨機策略,即所有可能的行為有相同的機率被選擇執行。

  • Bellman期望方程矩陣形式

  • 最優價值函式

最優狀態價值函式 v_*(s) 指的是在從所有策略產生的狀態價值函式中,選取使狀態s價值最大的函式:

v_{*} = \max_{\pi} v_{\pi}(s)

類似的,最優行為價值函式 q_{*}(s,a) 指的是從所有策略產生的行為價值函式中,選取是狀態行為對 <s,a> 價值最大的函式:

q_{*}(s,a) = \max_{\pi} q_{\pi}(s,a)

最優價值函式明確了MDP的最優可能表現,當我們知道了最優價值函式,也就知道了每個狀態的最優價值,這時便認為這個MDP獲得瞭解決。

學生MDP問題的最優狀態價值

學生MDP問題的最優行為價值

 

注:youtube留言認為Pub行為對應的價值是+9.4而不是+8.4

  • 最優策略

當對於任何狀態 s,遵循策略π的價值不小於遵循策略 π' 下的價值,則策略π優於策略 π’:

定理 對於任何MDP,下面幾點成立:

1.存在一個最優策略,比任何其他策略更好或至少相等;

2.所有的最優策略有相同的最優價值函式;

3.所有的最優策略具有相同的行為價值函式。

  • 尋找最優策略

 可以通過最大化最優行為價值函式來找到最優策略:

說明:

  • 對於任何MDP問題,總存在一個確定性的最優策略;
  • 如果我們知道最優行為價值函式,則表明我們找到了最優策略。

 

  • 學生MDP最優策略示例

紅色箭頭表示的行為表示最優策略

  • Bellman最優方程 Bellman Optimality Equation

針對 v_{*} ,一個狀態最優價值等於從該狀態出發採取的所有行為產生的行為價值中最大的那個行為價值

針對 q_{*} ,在某個狀態s下,採取某個行為的最優價值由兩部分組成,一部分是離開狀態 s 的即刻獎勵,另一部分則是所有能到達的狀態 s’ 的最優狀態價值按出現概率求和

組合起來,針對 v_{*} ,有:

針對q_{*} ,有:

  • Bellman最優方程學生MDP示例

  • 求解Bellman最優方程
  1. Bellman最優方程是非線性的
  2. 沒有固定的解決方案
  3. 通過一些迭代方法來解決:價值迭代、策略迭代、Q學習、Sarsa等。

4. MDP延伸——Extensions to MDPs

簡要提及:

  • 無限狀態或連續MDP
  • 部分可觀測MDP
  • 非衰減、平均獎勵MDP