前面的強化學習基礎知識介紹了強化學習中的一些基本元素和總體概念。今天講解強化學習裏面最最基礎的MDP(馬爾可夫決策過程)。html
MDP是當前強化學習理論推導的基石,經過這套框架,強化學習的交互流程能夠很好地以機率論的形式表示出來,解決強化學習問題的關鍵定理也能夠依此表示出來。算法
MDP(馬爾可夫決策過程)包含如下三層含義:框架
前面介紹了MDP的基本形式,咱們發現遊戲的關鍵在於策略(policy),也就是如何作出決策與執行行動。在理想狀態下,每個行動都要爲最終的目標——最大化長期回報努力,那麼理論上只要可以找到一種方法,量化每個行動對實現最終目標貢獻的價值,這個方式就是用價值函數(簡稱值函數)來衡量。函數
值函數分兩類:學習
其中的\(\pi\)是一個行動策略。spa
咱們從下圖中來學習狀態值函數:htm
咱們計算左邊的\(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\)後得到的獎勵。blog
因此有狀態值函數的Bellman公式:
\[ v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(1) \]
經過這樣的計算,咱們發現狀態值函數能夠以遞歸的形式表示。假設值函數已經穩定,任意一個狀態的價值能夠由其餘狀態的價值獲得。遞歸
和狀態值函數的推到同樣,咱們有下面這張狀態-行動值函數,它是以\(q(s,a)\)爲目標來計算值函數。遊戲
一樣和狀態值函數同樣,狀態-行動值函數也有相應的Bellman公式:
\[ q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * \sum_{a_{t+1}}\pi(a_{t+1}|s_{t+1})q_{\pi}(s_{t+1},a_{t+1})]\;\;\;\;\;\;(2) \]
這個公式和上面的狀態值函數的很是相似。
以上\((1)(2)\)個Bellman公式是MDP中最核心的內容,後面的各類強化學習的算法也是創建在上面2個Bellman公式之上。
經過\((1)(2)\),咱們還能推導出\(v_{\pi}(s_t),q_{\pi}(s_t,a_t)\)之間的關係。
\[ v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)q_{\pi}(s_t,a_t)\;\;\;\;\;\;(3) \]
\[ q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(4) \]
其實\((3)(4)\)也能夠經過上面2幅圖獲得驗證。
MDP是強化學習入門的關鍵一步,若是這部分研究的比較清楚,後面的學習就會容易不少。所以值得多些時間在這裏。雖然MDP能夠直接用方程組來直接求解簡單的問題,可是更復雜的問題卻沒有辦法求解,所以咱們還須要尋找其餘有效的求解強化學習的方法。