【強化學習RL】必須知道的基礎概念和MDP

本系列強化學習內容來源自對David Silver課程的學習 課程連接http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.htmlhtml

以前接觸過RL(Reinforcement Learning) 而且在組會學習輪講裏講過一次Policy Gradient,可是因爲基礎概念不清,雖然當時懂了 但隨後很快就忘。。雖然如今寫這個系列有些晚(沒有好好跟上知識潮流o(╥﹏╥)o),但但願可以系統的從新學一遍RL,達到遇到問題可以自動想RL的解決方法的程度。。web

目錄機器學習

1. 基礎概念函數

  1.1 強化學習爲什麼重要學習

  1.2 agent和environmentspa

  1.3 agent的組成和分類翻譯

2. Markov Decision Process(MDP)3d

  2.1 Markov Reward Process(MRP)htm

  2.2 Markov Decision Process(MDP)blog

  2.3 Optimal Policy求最優解

  2.4 Partial Observable Markov Decision Process(POMDP)

 

1、 基礎概念

強化學習爲什麼重要?

  由於它的原理 在全部學科中都有應用(下圖左),DeepMind與哈佛大學最新研究也證實,人腦中存在「分佈強化學習」,獎勵爲多巴胺(表示surprise的信號)。而且,RL和監督/無監督學習一塊兒構成機器學習(下圖右),它的「supervisor」是一個會延遲反應的cumulative reward(總回報)。

           

 強化學習過程:

主要包含AgentEnvironment兩個主體,RL的過程在它們中展開(下圖左):某時刻t,Agent觀測環境Ot、根據本身所知的回報Rt、產生動做At,Environment接收到At後、時間前進成t+一、環境變換Ot+1、回報更新Rt+1。這個過程序列就叫history,某個時刻狀態 就叫State(分紅Set和Sat)。

Sat能夠經過Ht得出(Sat=f(Ht)),而且若是P[St+1|St] = P[St+1|S1,...,St],即獲得了St後能夠把以前的history都丟掉 當前狀態只與前一狀態有關,狀態St就是Markov的。

Set不必定可知,若是fully observable可知 則:Ot=Sat=Set,這是一個Markov decision process(MDP),也是課程的大部份內容;若是partial observable部分可知 則:Sat != Set, 這是一個Partial observable MDP(POMDP),此時agent必需要構建本身狀態的表達,能夠是來自history, 能夠是對環境的預測,能夠是RNN。。。

       

 Agent的組成和分類:

Agent可能包含如下一個或者多個部件:policy,value function,model。

因此agent能夠分紅多類(上圖右),對於policy和value function這兩個來講,用policy - Policy Based,用value function - Value Based,都用 - Actor Critic。對於model來講,有model - Model Based,沒有model - Model Free

那麼它們各自是什麼呢?

policy和value function均可以達到決定在當前state下產生什麼行爲action的效果。policy(記π)是函數(包括deterministic:相同s相同a — a=π(s), 和stochastic:顯示此s下出現某a的可能性 — π(a|s)=P[At = a | St = s])。 value function是每一個state的將來回報預測 即,這樣就能選擇action使其達到更優的state。

model是agent對於環境下一步作什麼的預測。包含下一步狀態的預測P和對於immediate reward的預測R。

 這樣,agent經過不斷和環境的交互,提高本身作決策的能力。squential decision making過程當中有兩個基本問題,environment若是一開始unknown 則是RL,若是一開始known 則是planning。一個經常使用的強化學習問題解決思路是,先學習環境如何工做獲得一個模型,而後利用這個模型進行規劃。

強化學習也是一個不斷試錯的過程(trial-and-error learning),從而能夠將這個學習過程分紅exploration(探索更多environment信息)和exploitation(利用已有信息最大化reward)兩部分。

也能夠分紅prediction和control兩部分,prediction是預測按照當前policy走會有什麼結果,control是更近一層,在多個policy中選取total reward最大的一個最優policy。

 

2、Markov Decision Process(MDP)

MDP之因此重要,是由於幾乎全部RL問題均可以轉換爲MDP的格式<S,A,P,R,γ>,即一個時刻的狀態,幾乎能夠徹底集成整個歷史過程的信息,Markov性上面寫過P[St+1|St] = P[St+1|S1,..., St]。

在學MDP前,最基本的是Markov Process(Chain),<S,P>組成,S是有限狀態集,P是狀態轉移機率矩陣(見下圖),每一行的機率和爲1。

Markov Reward Process(MRP)

須要注意的是MRP和MDP的區別,MRP由<S,P,R,γ>組成,加了policy π後MRP格式改變成與馬爾科夫鏈相比,多了一個基於狀態的回報函數R和一個∈[0,1]的discount factor γ(經濟學上翻譯做貼現係數)。

回報函數,是當前狀態所得到的回報的數學指望(相似於取平均值)。前面寫過RL中t+1是在agent作出action後發生的,仍舊是當前狀態下,即意思是無論在這個狀態下作什麼action,Rs=Rt+1都必定的。

 

γ是一個將來對如今影響的數學上的表達,γ=0,徹底短視不考慮將來,γ=1,undiscount將來的全部狀態都考慮。γ的加入主要是由於一是會削弱MP中環的影響,二是模型對將來的估計不必定準確。

因此總的discounted的回報Gt,,這裏是求和的是在t時刻隨機採樣產生的一系列狀態點。

根據Gt,value function能夠換一種寫法,相似於採樣全部s狀態下的Gt取平均值。

 

後來Bellman看到這個value function表達又作了化簡(下圖),便可以將value function看作immediate回報Rt+1和下一個狀態的價值discount後的和,這就是Bellman Equation貝爾曼方程,能夠寫成的格式(v=R+γPv),此時是線性的能夠解出,求解複雜度O(n3),能夠用線性規劃和Temporal-Difference Learning等方法解

Bellman Equation推導:

舉例以下圖的MP過程圖中,每一個節點就表示當前狀態s,裏面數字是v(s)。好比v(s)=4.1的節點,求法是0.6*(-2+0.9*10)+0.4*(-2+0.9*1.9)=4.084,而且4.084≈4.1說明此時已經達到self-consistant狀態。

 

Markov Decision Process(MDP)

馬爾可夫決策過程相較於MRP多引入了action動做的因素,MDP的格式<S,A,P,R,γ>,今後P和R都加入了a的影響(見下圖左),加了policy π(a | s)後,變成更通常的形式(見下圖右):

         

而且除了以前的state-value function V(s),還加入了action-value function q(s, a)表示在狀態s下采起動做a會獲得什麼回報:

Bellman一樣對這兩個value function作了化簡,化簡後的結果稱爲Bellman Expectation Equation

其中,,是線性的,因此能夠求解出 

 

 

Bellman Expectation Equation推導過程(上下兩式子結合起來看):

 

 

    

好比在下面這個例子中,7.4這個節點的v(s)更新方法以下 —— 如今已經self-consistant,每一個action默認機率相同。

 

Optimal policy求最優解

經過這些設定,就能夠進行最優策略的求解,即control,多個policy中選取最優的一個,能夠看作下面的式子。

      

當最優的action-value function得知後,就能夠知道當前狀態下應該選哪一個action,從而直接求出最優策略。至關於只要知道了action-value function 就什麼都知道了:

這裏Bellman又出現了,他化簡上面對value function求解的式子,獲得了一個更明瞭的表示叫作Bellman Optimality Equation

 

意思是使用這個Bellman Optimality Equation,就能夠獲得state-value和action-value兩個函數最優解,從而得到整個問題的最優策略,問題就能解決啦。

惋惜的是,因爲過程當中涉及max,方程變得不可導了。所以求解的方法有value/policy iteration,Q-learning,SARSA等方法,將在以後的文章中介紹。

Partial Observable Markov Decision Process(POMDP)

部分可觀測的馬爾可夫決策過程,POMDP由<S, A, O, P, R, Z, γ>組成,其中O表示觀測到的序列,Z是觀測到的函數,以下面所示。Belief state b(h)是基於history h的狀態機率分佈,這裏t時刻的history Ht = A0, O1, R1, ..., At-1, Ot, Rt。雖然很複雜,但是更現實啊。

 

POMDP能夠被分解成history tree和belief tree,以下圖:

 可是更詳細的內容課程裏也沒有介紹,以後感興趣的話會專門補充的。。。。

 

總而言之,本文主要介紹了強化學習的基本思路過程,和問題的最優解是怎麼尋找的。以後會繼續寫出尋找問題最優解的具體技術支持。嗯。。必定要堅持寫下去啊٩( 'ω' )و !  學習使我快樂,總結使我收穫\(^o^)/,黑黑

相關文章
相關標籤/搜索