強化學習(三):有限馬爾可夫決策與貝爾曼方程

強化學習(三):有限馬爾可夫決策與貝爾曼方程

在這裏插入圖片描述
夏梔的博客——王嘉寧的個人網站 正式上線,歡迎訪問和關注:http://www.wjn1996.cn


1、有限馬爾可夫決策過程

  有限馬爾可夫決策過程(MDP)是強化學習的主要思想,也是後續多個解決強化學習目標的基本假設。
在這裏插入圖片描述
  我們先來回顧一下強化學習的學習過程。強化學習的主體是智能體,與之相互交互的事物稱爲環境。當tt時刻智能體所處某一個狀態StS_t時,其會根據一些策略 π\pi(例如上一節講的貪心策略)選擇一些動作 AtA_t,然後會有一定的狀態轉移概率 p(St+1,Rt+1St,At)p(S_{t+1},R_{t+1}|S_t,A_t) 由當前狀態轉移到下一時刻狀態St+1S_{t+1},同時環境也會給予智能體一個收益Rt+1R_{t+1}。而這一過程,則被稱爲馬爾可夫決策過程中的“智能體-環境”交互過程。這一過程產生的序列如下:

S0,A0,R1,S1,A1,R2,S2,...,ST1,AT1,RT,STS_0,A_0,R_1,S_1,A_1,R_2,S_2,...,S_{T-1},A_{T-1},R_T,S_T

有限馬爾可夫決策的一個假設是,當前時刻的狀態StS_{t}以及該時刻環境反饋的回報RtR_{t}只取決於上一時刻狀態St1S_{t-1},這一假設就是隱馬爾科夫鏈的假設,而這一假設主要由狀態轉移概率p(St+1,Rt+1St,At)p(S_{t+1},R_{t+1}|S_t,A_t) 來體現。

p(St+1,Rt+1St,At)=p(St+1=s,Rt+1=rSt=s,At=a)p(S_{t+1},R_{t+1}|S_t,A_t) = p(S_{t+1} = s',R_{t+1} = r|S_{t}=s,A_{t}=a)

這是一個聯合條件概率分佈,給定一個狀態StS_t以及當前執行的動作AtA_t,環境將會給予智能體一個收益Rt+1R_{t+1}以及當前轉移到狀態St+1S_{t+1}的概率,其是一個四元組(S,R,S,A)(S,R,S,A),或四維的一個張量,其滿足對於所有的狀態sSs\in S和動作aAa\in A,都有 sSrRp(s,rs,a)=1\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)=1

  有限MDP就是建立在這個狀態轉移概率上,實現單步的智能體-環境交互過程,其發揮的非常重要的作用。

  下面引入一個簡單的示例,來自《強化學習(Sutton)第二版》例3.3(回收機器人),如圖所示:
在這裏插入圖片描述
一個回收機器人是一個智能體,其只有兩個狀態,high表示電量高,low表示電量低。其可選擇的動作有三個,分別是等待wait、充電recharge以及搜索垃圾search。當電量high時,其可以選擇動作wait,此時電量有1的概率保持不變,當選擇搜索時,會有一定概率1α1-\alpha電量下降到low狀態,因爲高電量不需要充電,因此沒有充電的動作。當狀態爲low時,其有三種選擇,繼續搜索可能會有1β1-\beta的概率導致沒有電,此時強制充電到高電量,但會獲得-3的收益,當選擇wait時,則有1的概率保持不變,當選擇充電時,則會有1的概率到達高電量狀態。整個決策的狀態轉移如上圖所示。

2、收益、回報、分幕與折扣

  收益是強化學習另一個重要的概念,當智能體執行某個動作且轉移到下一個狀態時,環境會給予智能體一個評價,即對該智能體在狀態StS_t時執行動作AtA_t的一個評價,也稱爲收益、回報、獎勵,其是強化學習的主要動力來源。強化學習的目標則是最大化累計這些收益,使得在決策過程中能夠達到最好結果
  收益分爲兩種,一種是局部收益,一種是累計收益。在一些書本或文獻中,定義收益是某一個時刻環境給予的反饋,也就是單步的局部的收益;而累計收益(也稱爲回報)則被定義爲收益的總和。一般地,從某個時刻tt開始到整個決策序列結束TT時刻後,智能體在tt時刻獲得的回報爲:

Gt=Rt+1+Rt+2+...+RTG_t=R_{t+1} + R_{t+2} + ... + R_T

  另外,強化學習有幾個設定,分別爲分幕折扣收益(在後續還會引入平均收益)。在一般的強化學習系統中,對於從一個初始狀態S0S_0開始,經過一系列的決策達到一個終止狀態STS_T,這一過程稱爲一個決策輪迴,稱爲一(episode)。例如在圍棋中,從遊戲開始(初始狀態S0S_0都是整個棋盤是空的),一直到可以分出勝負時(例如已經無子可下等情況),這個下棋的過程(落子序列)被稱爲一幕,再例如智能體在玩一個遊戲時 ,每一局可以被認爲一個幕。而這種可以以幕爲單位的任務被稱爲分幕式任務。但是需要注意的是,並不是所有的任務都是分幕式任務,有些任務可能只有起始,沒有終止或終止狀態時無限的,這一類稱爲持續性任務。一般來說,在分幕式任務中,每一幕的終止狀態時間TT值是不同的,例如下五子棋,有時候只需下8,9步就可以決出勝負,而有時候整個棋盤下滿了才決出勝負。

  另一個設定是折扣。在有些任務中,對時間要求非常高,其認爲時間拖得越長,獲得的局部收益就會越少,這種設定比較符合現實生活,例如走迷宮遊戲,我們希望儘可能的最早能夠走出來,而不是一直在裏面轉悠。顯然很早走出迷宮和在裏面轉悠很久才走出得到的回報應該不同,這一機制則是由折扣率 γ\gamma 決定的,帶有折扣的收益稱爲折扣收益,智能體獲得的累計收益則稱爲折扣回報,記做

Gt=Rt+1+γRt+2+γ2Rt+3+...=k=0γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \gamma^{2}R_{t+3} + ... =\sum_{k=0}^{\infty}\gamma^{k}R_{t+k+1}

γ=0\gamma=0時,Gt=Rt+1G_t=R_{t+1},即整個決策過程,智能體只接受當前時刻決策後得到的收益,因此此時學習的目標爲最大化當前收益,這時候的智能體是目光短淺的。當γ=1\gamma=1時,所有時刻的局部收益都被原封不動的累加起來,此時也是目光長遠的(甚至可以說如果T=T=\infty,則這個收益是無限的)。通常γ\gamma會取介於0-1之間的數,其可以保證收益是有限的,例如若收益Rt=1R_t=1,則有k=0γkRt+k+1=k=0γk=11γ\sum_{k=0}^{\infty}\gamma^{k}R_{t+k+1}=\sum_{k=0}^{\infty}\gamma^{k}=\frac{1}{1-\gamma}

  強化學習還有一個設定是無折扣的平均收益,這主要是針對在基於函數逼近方法中用於策略控制過程帶有折扣無法讓神經網絡很好擬合的問題,而選擇平均收益代替折扣收益,這時候不會出現不穩定的情況。

3、狀態價值與動作價值

  強化學習的目標是什麼?總的來說是最大化累計收益,但具體累計收益是什麼?本節將引入兩個重要的概念,分貝是狀態價值和動作價值。狀態價值(亦稱爲狀態價值函數,記做vπv_{\pi}),其是衡量智能體處於當前狀態有多好,是智能體在當前狀態下,採取所有動作後得到的回報的期望值。動作價值(亦稱動作價值函數Q函數,記做 qπq_{\pi}),是衡量在當前狀態下執行某個動作後,能夠得到的價值的期望。π\pi 是一個策略,準確的來說是一個概率分佈,即其保存一個概率分佈,保存着在每個狀態下,採取某一個動作的概率。因此在有限馬爾科夫決策過程中,給定一個已知的π\pi分佈,則對應的兩個價值函數則可以求解出。

  狀態價值函數,是指智能體從當前狀態ss開始,按照給定的策略π\pi進行決策所獲得回報的概率期望,定義爲:

vπ(s)=Eπ[GtSt=s]=Eπ[k=0γkRt+k+1St=s],sSv_{\pi}(s) = \mathbb{E}_{\pi}[G_t|S_t=s] = \mathbb{E}_{\pi}[\sum_{k=0}^{\infty}\gamma^{k}R_{t+k+1}|S_t=s] , \forall s\in S

由定義可知,當給定一個狀態,其價值函數就是從這個狀態開始,按照策略π\pi對應的概率分佈依次執行每一個動作,將所有動作執行後得到的回報求一個數學期望。當處於倒數第二個狀態時,這個回報恰巧就是局部收益。E[...St=s]\mathbb{E}[...|S_t=s]表示當前時刻tt的狀態爲ss條件下的價值期望。

  動作價值函數,是指智能體在某個狀態ss下,有策略π\pi執行了一個動作aa後,所有可能決策序列的期望回報。定義爲:

qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[k=0γkRt+k+1St=s,At=a]q_{\pi}(s,a) = \mathbb{E}_{\pi}[G_t|S_t=s, A_t=a] = \mathbb{E}_{\pi}[\sum_{k=0}^{\infty}\gamma^{k}R_{t+k+1}|S_t=s,A_t=a]

可知,其表示的是一個狀態動作二元組(s,a)(s,a)的價值,其實就是在當前狀態執行某個動作之後,智能體可能所處所有可能的下一個狀態價值函數的期望。

4、貝爾曼方程

  爲了能夠比較形式化的描述狀態價值和動作價值的迭代關係,我們引入貝爾曼方程。定義如下:
(1)狀態價值函數的貝爾曼方程:

vπ(s)=Eπ[GtSt=s]v_{\pi}(s) = \mathbb{E}_{\pi}[G_t|S_t=s]

=aπ(as)qπ(s,a)=\sum_{a}\pi (a|s)q_{\pi}(s,a)

=aπ(as)s,rp(s,rs,a)[r+γvπ(s)]=\sum_{a}\pi (a|s)\sum_{s',r}p(s',r|s,a)[r + \gamma v_{\pi}(s')]

我們來理解一下這個貝爾曼方程。其表示的實質就是一個遞推關係式。第一行表示的是價值函數的定義,第二行可知,狀態價值就是在當前狀態ss所有可能採取的動作aa得到的動作價值的期望,第三行則表示當前狀態ss的價值vπ(s)v_{\pi}(s)與下一個狀態ss'的價值vπ(s)v_{\pi}(s')之間的遞歸關係。事實上符合我們的理解,如下圖:

在這裏插入圖片描述
這被稱爲回溯圖(或者回溯樹)。白色圓圈表示狀態,黑色圓圈表示狀態動作二元組,第三行的遞推關係式則可以用這個圖表達。我們要求的是最頂端狀態價值,其可以根據後續的狀態來反推,貝爾曼方程便是反推至下一個時刻所有可能的狀態的價值期望。從頂端狀態開始,有π(as)\pi(a|s)概率選擇其下的兩個動作,又有p(s,rs,a)p(s',r|s,a)的概率轉移到下一個狀態ss'和獲得收益rr。而新的狀態ss'本身也有價值,又因爲我們討論的是帶有折扣的回報,因此再乘以一個折扣率。

(2)動作價值的貝爾曼方程:

qπ(s,a)=Eπ[GtSt=s,At=a]q_{\pi}(s,a) = \mathbb{E}_{\pi}[G_t|S_t=s, A_t=a]

=s,rp(s,rs,a)[r+γvπ(s)]=\sum_{s',r}p(s',r|s,a)[r + \gamma v_{\pi}(s')]

=s,rp(s,rs,a)[r+γs,aπ(as)qπ(s,a)]=\sum_{s',r}p(s',r|s,a)[r + \gamma \sum_{s',a'}\pi (a'|s')q_{\pi}(s',a')]

第一行表示動作價值的定義,第二行指當前動作價值是經過狀態轉移之後得到局部收益rr和所處新的狀態的狀態價值折扣後和的期望,換句話說是描述狀態動作二元組(s,a)(s,a)的價值與下一時刻ss'的價值之間的關係。第三行則表示相鄰兩個時刻動作價值的遞推關係式。同理,我們用回溯圖表示:

在這裏插入圖片描述
頂部表示要計算的狀態動作二元組的價值(Q值),其有一個狀態轉移概率 p(s,rs,a)p(s',r|s,a) 得到收益 rr 以及轉移到下一狀態ss'。而所有可能的下個狀態的狀態價值又滿足 vπ(s)=aπ(as)qπ(s,a)v_{\pi}(s') = \sum_{a'}\pi (a'|s')q_{\pi}(s',a'),因此代入第二行式子即可得到動作價值貝爾曼方程。

5、最優價值

  我們再次迴歸問題,強化學習的目標是什麼?是最大化累計收益,其實,在實際的應用中,累計收益大並不代表結局有多好,例如下象棋,輸贏取決於誰先將軍而不是喫子的個數,因此只有讓智能體學習到一個最優策略,纔是我們更加關心的事情。因此,爲了得到一個最好的策略,我們引入最有價值概念。

  定義,如果存在一個策略π\pi,其累計回報比其他任意一個策略π\pi '都要高,我們認爲這個策略是最優策略 π\pi_{*},記做ππ\pi \geq \pi'。如果都滿足ππ\pi \geq \pi',則應有vπ(s)vπ(s)v_{\pi}(s) \geq v_{\pi'}(s)。最優策略不唯一,但經過證明,最優策略下的狀態價值函數一定是最優的。定義爲最優狀態價值函數:v(s)=maxπvπ(s)v_{*}(s) = max_{\pi}v_{\pi}(s)。同理動作價值函數的最優稱爲最優動作價值函數,記做 q(s,a)=maxπqπ(s,a)q_{*}(s,a) = max_{\pi}q_{\pi}(s,a)

(1)狀態價值貝爾曼最優方程:最優策略下的各個狀態的價值一定等於這個狀態下最優動作的價值期望回報。

v(s)=maxaAqπ(s,a)=maxas,rp(s,rs,a)[r+γv(s)]v_{*}(s) = max_{a\in A} q_{\pi_{*}}(s,a) = max_{a}\sum_{s',r}p(s',r|s,a)[r + \gamma v_{*}(s')]

(2)動作價值貝爾曼最優方程:

q(s,a)=s,rp(s,rs,a)[r+γmaxaq(s,a)]q_{*}(s,a) = \sum_{s',r}p(s',r|s,a)[r + \gamma max_{a'} q_{*}(s',a')]

兩個最優方程的回溯圖如下所示:

在這裏插入圖片描述
回溯圖很清晰的表明,最優策略下狀態價值和動作價值的遞推關係。形式化和第四節的貝爾曼方程的回溯圖一樣,可自行理解一下。

  同樣,我們引入《強化學習(Sutton)第二版》中的例3.5和例3.8(網格問題),如圖:

在這裏插入圖片描述
在這裏插入圖片描述
可知在一個表格任務中,經過數輪的迭代,可以形成一個最優策略π\pi_{*},這個策略對應的最優狀態價值函數如中間圖所示,其表示每個狀態的一個最大價值(或者是對應所有可能的最優Q值的期望);右圖中,每個格子表示一個狀態,其有四種動作(上下左右),顯示出來的箭頭則表示其對應的動作價值qπ(s,a)q_{\pi}(s,a)是最大的。

  事實上,在一些簡單的任務中(例如本文給定的兩個示例),可以通過這種不斷遞推的方法求解所有狀態價值和動作價值,但在許多強化學習任務中,這回導致大量的計算資源,因此這種基於表格型的學習在後續會有許多解決策略。例如動態規劃則是基於這種“窮舉”的思想,而蒙特卡洛和時序差分則是基於“採樣近似”的方法,基於函數逼近(或深度學習)則是訓練一個神經網絡或其他迴歸模型來擬合這些狀態價值或動作價值函數,尋找一個近似的求解而不是精確求解,這些策略的目標都是緩解由於過大的搜索空間導致的計算資源和時間問題。在後續我們將一一講解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章