深入淺出強化學習原理入門(一) 馬爾科夫決策過程

2021-09-12 07:34:00 字數 3195 閱讀 4283

強化學習基本框架

智慧型體與環境不斷互動從而產生很多的資料,強化學習演算法利用產生的資料修改自身的動作策略。

強化學習與深度學習的區別:

深度學習如影象識別和語音識別,解決的是感知的問題。

強化學習解決的是決策的問題。

馬爾科夫決策過程(mdp)是乙個能夠解決大部分強化學習問題的框架。

馬爾科夫性指系統的下乙個狀態st+1僅與當前狀態st有關,而與以前的狀態無關。

由此定義:狀態st是馬爾科夫的,當且僅當p[st+1| st] = p[st+1 | s1,s2,……,st]

即:一旦當前狀態已知,歷史狀態就會被拋棄

馬爾科夫過程的定義

馬爾科夫過程 是乙個二元組(s,p),且滿足s是有限狀態集合,p是狀態轉移矩陣。

馬爾科夫過程中不存在動作和獎勵。

將動作(策略)和回報考慮在內的馬爾科夫過程稱為馬爾科夫決策過程

馬爾科夫決策過程由元組(s,a,p,r,r)描述,其中:

馬爾科夫決策過程的狀態轉移概率是包含動作的,既:

狀態集s=

動作集a=

立即回報用r標記

強化學習的目標是給定乙個馬爾科夫決策過程,尋找最優策略。

所謂策略是指狀態到動作的對映。(即:確定每乙個狀態下該執行什麼樣的動作)

策略常用符號π表示,它指給定狀態s時,動作集上的乙個分布

每乙個agent都有自己的策略 ,強化學習是找到最優的策略,使得總體回報最大。

π[a|s] = p[at = a | st = s]

給定策略π時,可以根據公式計算累計回報:

累計回報用gt表示。

因為π的隨機性,所有gt也是不確定的

從狀態s1 出發,狀態序列可能有多種情況:

s1→s2 → s3 → s4 → s5

s1→s2 → s3 → s5

……而每一種狀態序列都對應了乙個概率和累計回報

所以後面考慮使用累計回報的期望來表示這個始發狀態s1 的價值。

為了評價狀態s1 的價值,我們需要定義乙個確定來來描述價值累計回報g1是個隨機變數,但是其期望是個確定值,可以作為狀態值函式的定義

狀態值函式

當agent 採用策略π時,累計回報服從乙個分布,累計回報在狀態s處的期望值定義為狀態-值函式:

狀態值函式 是和策略π對應的,策略π改變,必然引起狀態值函式的變化。

狀態-行為值函式

相應的,狀態-行為值函式為:

st是始發狀態,at是始發動作,這兩個引數是規定好了的。

狀態值函式 和狀態-行為值函式的關係為:υ π(

s)=∑

a∈aq

π(s,

a)(6

)\upsilon _(s) = \sum_ q_(s,a) (6)

υπ​(s)

=a∈a

∑​qπ

​(s,

a)(6

)question 1

從乙個狀態到達另乙個狀態(直達)是否存在多種動作選擇? 或者說乙個狀態下指定乙個動作,是否會達到兩個不同的狀態?

定義

最優狀態值函式υ∗(

s)\upsilon ^(s)

υ∗(s

)為所有策略中對大的狀態-行為值函式,即:

υ ∗(

s)=m

axπυ

π(s)

(7)\upsilon ^(s) = max_\upsilon _(s) (7)

υ∗(s)=

maxπ

​υπ​

(s)(

7)最優狀態-行為值函式q∗(

s,a)

q ^(s,a)

q∗(s,a

)為所有策略中對大的狀態-行為值函式,即:

q ∗(

s,a)

=max

πqπ(

s,a)

(8)q ^(s,a)= max_ q_(s,a) (8)

q∗(s,a

)=ma

xπ​q

π​(s

,a)(

8)在已知最優狀態-行為值函式的情況下,最優策略可以通過直接最大化q∗(

s,a)

q ^(s,a)

q∗(s,a

)來決定:

π ∗(

a∣s)

=(9)

\pi^ \ast (a|s) =\begin 1 , a=\arg \max q^\ast (s,a)\\ 0, otherwise \end (9)

π∗(a∣s

)=(9

)

深入淺出強化學習(3)

策略搜尋 之前降到的其他方法都是通過最優值函式從而得到最優策略。利用這種方法得到的策略往往是狀態空間向有限集動作空間的對映。每個狀態都有乙個值函式,執行策略到下乙個狀態的值函式最大,直接argmax a 值函式 策略搜尋是將策略進行引數化即 s pi left s right s 利用線性或非線性 ...

深入淺出WPF學習 一

準備學習wpf,猶豫著沒有什麼學習的動力,發現公司有一本薄薄的 深入淺出wpf 就隨便拿來看看。在19頁中講的不是很明白,顧試著寫了個demo,只是為了學習。傳送門 xmlns xmlns x title mainwindow height 350 width 525 using system us...

深入淺出學習GIT 一

由於要換工作,新公司使用的是git,而以前只使用過clearcase 和 svn,因此git的學習迫在眉睫。有關版本控制系統的基本概念,這裡就不介紹了。但是為了方便使用過svn的人理解git,還是有必要介紹下集中式版本控制系統和分布式版本控制系統的概念。集中式版本控制系統有哪些?這裡先告訴大家,sv...