(for pursue, do accumulation)html
我的筆記,純屬佛系分享,若有錯誤,萬望賜教。函數
馬爾可夫決策過程(Markov Decision Processes, MDPs)是一種對序列決策問題的解決工具,在這種問題中,決策者以序列方式與環境交互。工具
1. 「智能體-環境」交互的過程
首先,將MDPs引入強化學習。咱們能夠將智能體和環境的交互過程當作關於離散狀況下時間步長\(t(t=0,1,2,3,\ldots)\)的序列:\(S_0,A_0,R_1,S_1,A_1,R_2,S_2,A_2,R_3,\ldots\),能夠定義動做空間\(\mathcal{S}\)爲全部動做的集合,定義狀態空間\(\mathcal{A}\)爲全部狀態的集合。
(The agent-environment boundary represents the limit of the agent's absolute control, not of its knowledge.)學習
2. 馬爾可夫決策過程
2.1 馬爾可夫性
當且僅當狀態知足下列條件,則該狀態具備馬爾科夫性ui
\[\mathbb{P}[S_{t+1}|S_t\ ]=\mathbb{P}[S_{t+1} |S_1,…,S_t] \]
也就是說,將來狀態只與當前狀態有關,是獨立於過去狀態的。即當前狀態捕獲了全部歷史狀態的相關信息,是對將來狀態的充分統計,所以只要當前狀態已知,就歷史狀態就能夠被丟棄。spa
2.2 動態特性
根據這個性質,咱們能夠寫出狀態轉移機率\(\mathcal{P}_{ss^\prime}=\mathbb{P}[S_{t+1}=s^\prime\ |S_t=s]\)
由此能夠獲得狀態轉移矩陣\(\mathcal{P}\):htm
\[\mathcal{P} = from \begin{matrix} to \\ \left[\begin{array}{rr} \mathcal{P}_{11} & \cdots & \mathcal{P}_{1n} \\ \vdots & \ddots & \vdots \\ \mathcal{P}_{n1} & \cdots & \mathcal{P}_{nn} \\ \end{array}\right] \end{matrix} \]
(該矩陣中全部元素之和爲1)blog
咱們將函數\(p\)定義爲MDP的動態特性,一般狀況下\(p\)是一個包含四個參數的肯定函數(\(p: \mathcal{S}\times\mathcal{A}\times\mathcal{S}\times\mathcal{R}\rightarrow[0,1]\)):ci
\[p(s^\prime,r|s,a)\doteq\Pr\{S_t=s^\prime,R_t=r|S_{t-1}=s,A_{t-1}=a\} \]
或者,咱們能夠定義一個三個參數的狀態轉移機率\(p\)(\(p: \mathcal{S}\times\mathcal{S}\times\mathcal{A}\rightarrow[0,1]\)):terminal
\[p(s^\prime|s,a)\doteq\Pr\{S_t=s^\prime|S_{t-1}=s,A_{t-1}=a\}= \sum_{r \in \mathcal{R}}p(s^\prime,r|s,a) \]
由此,能夠定義「狀態-動做」二元組的指望獎勵\(r(r:\mathcal{S}\times\mathcal{A}\rightarrow\mathbb{R})\):
\[r(s,a)\doteq\mathbb{E}[R_t|S_{t-1}=s,A_{t-1}=a]=\sum_{r\in\mathcal{R}}r\sum_{s^\prime\in\mathcal{S}}p(s^\prime,r|s,a) \]
也能夠定義「狀態-動做-後繼狀態」三元組的指望獎勵\(r(r:\mathcal{S}\times\mathcal{A}\times\mathcal{S}\rightarrow\mathbb{R})\):
\[r(s,a,s^\prime)\doteq\mathbb{E}[R_t|S_{t-1}=s,A_{t-1}=a,S_t=s^\prime]=\sum_{r\in\mathcal{R}}r\frac{p(s^\prime,r|s,a)}{p(s^\prime|s,a)} \]
3. 價值函數(Value Function)
3.1 回報(Return)
回報(return)的定義式爲
\[G_t\doteq\displaystyle \sum^{T}_{k=t+1}\gamma^{k-t-1}R_k,\ 0\le\gamma \le 1 \]
\(\gamma\)被稱爲折扣率(discount rate)。當\(T= \infin\)且\(0 \le \gamma<1\)時,強化學習任務被稱爲continuing tasks,當\(\gamma=1\)且\(T\ne\infin\)時,強化學習任務被稱爲episodic tasks。
episodic tasks的智能體和環境的交互過程可以被拆分爲一系列的子序列。在這類任務中,當時間步長\(t\)達到某個值\(T\)時,會產生終止狀態(terminal state)。這種狀態下,對於任意\(k>1,S_{T+k}=S_T=s\)恆成立,此時,\(T\)被稱爲終止時刻,它隨着episode的變化而變化。從起始狀態到達終止狀態的每一個子序列被稱爲episode。
3.2 策略(Policy)
策略\(\pi\)是狀態到動做空間分佈的映射
\[\pi(a|s)= \mathbb{P}[A_t=a|S_t=s] \]
它表示根據當前狀態\(s\),執行動做\(a\)的機率。
3.3 狀態價值函數(State-value Function)
狀態價值函數\(v_\pi(s)\)定義爲從狀態\(s\)開始,執行策略\(\pi\)所得到的回報的指望值。
\[v_\pi(s) \doteq \mathbb{E}_\pi[G_t|S_t=s]=\mathbb{E}[\sum^\infin_{k=0} \gamma^kR_{t+k+1}|S_t=s], s \in \mathcal{S} \]
3.4 動做價值函數(Action-value Function)
相似於\(v_\pi(s)\)的定義,將動做價值函數\(q_\pi(s,a)\)定義爲在狀態\(s\)時採起動做\(a\)後,全部可能的決策序列的指望回報。
\[q_\pi(s,a) \doteq \mathbb{E}_\pi[G_t|S_t=s,A_t=a]=\mathbb{E}[\sum^\infin_{k=0} \gamma^kR_{t+k+1}|S_t=s,A_t=a], s \in \mathcal{S} \]
3.5 貝爾曼方程(Bellman Euqation)
貝爾曼方程是以等式的方式表示某一時刻價值與期後繼時刻價值之間的遞推關係。
下面給出狀態價值函數\(v_\pi(s)\)的貝爾曼方程:
\[\begin{aligned} v_\pi(s) & \doteq \mathbb{E}_\pi[G_t|S_t=s] \\ & =\mathbb{E}_\pi[R_{t+1}+ \gamma G_{t+1}|S_t=s] \\ & =\displaystyle \sum_a\pi(a|s) \sum_{s^\prime} \sum_rp(s^\prime,r|s,a)[r+\gamma \mathbb{E}_\pi[G_{t+1}|S_{t+1}=s^\prime]] \\ & =\displaystyle \sum_a\pi(a|s) \sum_{s^\prime.r} p(s^\prime,r|s,a) [r+\gamma v_\pi(s^\prime)] \end{aligned} \]
能夠經過下面關於\(v_\pi(s)\)的backup diagram更好地理解上述方程,backup就是將價值信息從後繼狀態(或「狀態-動做」二元組)轉移到當前狀態(或「狀態-動做」二元組)。
在上圖中,由上往下看,空心圓表示狀態,實心圓表示「狀態-動做」二元組。圖中,從根節點狀態\(s\)開始,智能體根據策略\(\pi\)採起動做集合中的任意動做,對於每一個動做,環境會根據它的動態特性函數\(p\),給出獎勵值\(r\)和後繼狀態\(s^\prime\)。
一樣也能夠經過\(q_\pi\)的backup diagram獲得它的貝爾曼方程(同時也給出推導過程):
\[\begin{aligned} q_\pi(s,a) & \doteq \mathbb{E}_\pi[G_t|S_t=s,A_t=a] \\ & =\mathbb{E}_\pi[R_{t+1}|S_t=s,A_t=a]+ \gamma \mathbb{E}_\pi[G_{t+1}|S_t=s,A_t=a] \\ & =\displaystyle \sum_{s^\prime,a}p(s^\prime,r|s,a)r+ \gamma \sum_{s^\prime,r}p(s^\prime,r|s,a) \sum_{a^\prime}\pi(a^\prime|s^\prime) \mathbb{E}_\pi[G_{t+1}=s^\prime,A_{t+1}=a^\prime] \\ & =\displaystyle \sum_{s^\prime,r}p(s^\prime,r|s,a)[r+ \gamma \sum_{a^\prime}\pi(a^\prime|s^\prime)q_\pi(s^\prime,a^\prime)] \end{aligned} \]
3.6 \(v_\pi(s)\)和\(q_\pi(s,a)\)的關係
從定義的角度,咱們更容易理解\(v_\pi(s)\)和\(q_\pi(s,a)\)的關係。咱們能夠將\(q_\pi(s,a)\)理解爲執行策略後選取動做空間中一個動做所獲得的價值函數,而將\(v_\pi(s)\)理解爲執行策略後選擇動做空間中全部動做所獲得的價值函數。\(v_\pi\)其實就是\(q_\pi\)基於策略\(\pi\)的指望值,因此它們的關係轉換以下:
\[v_\pi(s)= \sum_a \pi(a|s)q_\pi(s,a) \]
它的backup diagram以下圖所示:
也能夠按照下面的backup diagram寫出狀態價值函數到動做價值函數的轉換:
\[\begin{aligned} q_\pi(s,a) & =\displaystyle \sum_{s^\prime,r}[r+ \gamma v_\pi(s^\prime)] \end{aligned} \]
4.最優策略和最優價值函數
4.1 最優策略
智能體的目標就是找出一種策略,可以最大化它的長期獎勵,這個策略就是最優策略(optimal policy),記做\(\pi_*\)。公式表示以下:
\[\forall s \in \mathcal{S}, \exist \pi_* \ge \pi, v_{\pi_*}(s) \ge v_\pi(s) \]
也能夠將上式的狀態價值函數替換爲動做價值函數,它們在尋找最優策略上是等價的。
4.2 最優價值函數
最優狀態價值函數能夠定義爲
\[v_*(s) \doteq \max_\pi v_\pi(s) \]
\(v_*(s)\)的貝爾曼最優方程爲
\[v_*(s)=\displaystyle \max_a \sum_{s^\prime.r} p(s^\prime,r|s,a) [r+\gamma v_*(s^\prime)] \]
最優動做價值函數能夠定義爲
\[q_*(s,a) \doteq \max_\pi q_\pi(s,a) \]
\(q_*(s,a)\)的貝爾曼最優方程爲
\[q_*(s,a)=\displaystyle \sum_{s^\prime,r}p(s^\prime,r|s,a)[r+ \gamma \max_{a^\prime} q_*(s^\prime,a^\prime)] \]
下圖展現了\(v_*(s)\)和\(q_*(s,a)\)的貝爾曼最優方程的backup diagram
Q & A
- Q:若是當前狀態是\(S_t\),並根據隨機策略\(\pi\)選擇動做,那麼如何用\(\pi\)和四參數\(p\)表示\(R_{t+1}\)的指望?
A:\(\mathbb{E}_\pi[R_{t+1}|S_t=s]=\displaystyle \sum_a\pi(a|s) \sum_{s^\prime,r}rp(s^\prime,r|s,a)\)
(轉載請標明出處:http://www.javashuo.com/article/p-tjltgcoa-dk.html)
Reference
Richard S. Sutton and Andrew G. Barto (2017). Reinforcement Learning: An Introduction (Second Edition). Cambridge, Massachusetts London, England : The MIT Press.
Csaba Szepesvari (2009). Algorithms for Reinforcement Learning. Morgan & Claypool Publisers.