1. 前言
前面的強化學習基礎知識介紹了強化學習中的一些基本元素和整體概念。今天講解強化學習里面最最基礎的MDP(馬爾可夫決策過程)。
2. MDP定義
MDP是當前強化學習理論推導的基石,通過這套框架,強化學習的交互流程可以很好地以概率論的形式表示出來,解決強化學習問題的關鍵定理也可以依此表示出來。
MDP(馬爾可夫決策過程)包含以下三層含義:
- “馬爾可夫”表示了狀態間的依賴性。當前狀態的取值只和前一個狀態產生依賴,不和更早的狀態產生聯系。雖然這個條件在有些問題上有些理想,但是由於它極大地簡化了問題,所以人們通常會選擇使用它。
- “決策”表示了其中的策略部分將由Agent決定。Agent可以通過自己的行動改變狀態序列,和環境中存在的隨機性共同決定未來的狀態。
- “過程”表示了時間的屬性。如果把Agent和環境的交互按時間維度展開,那么Agent行動后,環境的狀態將發生改變,同時時間向前推進,新的狀態產生,Agent將獲得觀測值,於是新的行動產生,然后狀態再更新”
3. 價值函數
前面介紹了MDP的基本形式,我們發現游戲的關鍵在於策略(policy),也就是如何做出決策與執行行動。在理想狀態下,每一個行動都要為最終的目標——最大化長期回報努力,那么理論上只要能夠找到一種方法,量化每一個行動對實現最終目標貢獻的價值,這個方式就是用價值函數(簡稱值函數)來衡量。
值函數分兩類:
- 狀態值函數\(v_{\pi}(s)\):也就是已知當前狀態s,按照某種策略行動產生的長期回報期望。
- 狀態-行動值函數\(q_{\pi}(s,a)\):也就是已知當前狀態s和行動a,按照某種策略行動產生的長期回報期望。
其中的\(\pi\)是一個行動策略。
3.1 狀態值函數
我們從下圖中來學習狀態值函數:

我們計算左邊的\(s^0\)狀態的\(v(s^0)\),我們可以通過它后面的\(r_{a_i}^{s^1_{0,i}}+s^1_{0,i}\)加權的和,其中\(r_{a_i}^{s^1_{0,i}}\)是采取行動\(a_i\)后獲得的獎勵。
所以有狀態值函數的Bellman公式:
通過這樣的計算,我們發現狀態值函數可以以遞歸的形式表示。假設值函數已經穩定,任意一個狀態的價值可以由其他狀態的價值得到。
3.2 狀態-行動值函數
和狀態值函數的推到一樣,我們有下面這張狀態-行動值函數,它是以\(q(s,a)\)為目標來計算值函數。

同樣和狀態值函數一樣,狀態-行動值函數也有相應的Bellman公式:
這個公式和上面的狀態值函數的非常類似。
以上\((1)(2)\)個Bellman公式是MDP中最核心的內容,后面的各種強化學習的算法也是建立在上面2個Bellman公式之上。
通過\((1)(2)\),我們還能推導出\(v_{\pi}(s_t),q_{\pi}(s_t,a_t)\)之間的關系。
其實\((3)(4)\)也可以通過上面2幅圖得到驗證。
4. 總結
MDP是強化學習入門的關鍵一步,如果這部分研究的比較清楚,后面的學習就會容易很多。因此值得多些時間在這里。雖然MDP可以直接用方程組來直接求解簡單的問題,但是更復雜的問題卻沒有辦法求解,因此我們還需要尋找其他有效的求解強化學習的方法。
