1. 程式人生 > >強化學習(二):馬爾可夫決策過程

強化學習(二):馬爾可夫決策過程

最優 最大值 公式 des 版本 ams 強化學習 有獎 RoCE

Finite Markov Decision Process

馬爾可夫決策過程(MDP)是對連續決策進行建模,當前的動作不僅對當前產生影響,而且還會對將來的的情況產生影響,如果從獎勵的角度,即MDP不僅影響即時的獎勵,而且還會影響將來的長期獎勵,因此,MDP需要對即時獎勵與長期獎勵的獲得進行權衡。

The Agent-Environment Interface

MDP定義了從交互中學習的框架,決策者(或稱為學習者)稱為Agent,那與agent交互的所有統稱為environment. 二者是連續地進行交互,當agent采取某一動作時,environment對這個動作進行反應,將agent置於新情形,稱為狀態(state),並且也會對agent的動作進行打分,稱為獎勵(reward).

技術分享圖片

定義環境的狀態:\(S_t \in \mathcal{S}\) , 動作\(A_t \in \mathcal{A(s)}\), 獎勵\(R_{t+1}\in \mathcal{R}\)(註意,這裏不同的書慣例是不同的,這裏采用的是,當前t時刻agent采取的行動\(A_t\),環境對其反應的結果是產生\(S_{t+1},\ R_{t+1}\) ,即即時獎勵是是在t+1時刻獲得)。MDP因此會產生一個包含狀態,動作與獎勵的決策序列(稱為sequence或trajectory):
\[ S_0,A_0,R_1,S_1,A_1,R_2,... \]
而且,\(S_t,R_t\)的分布只取決於前一時刻的狀態與動作:
\[ p(s‘,r|s,a) = Pr\{S_t = s‘,R_t=r|S_{t-1} = s,A_{t-1} = a\} \]


其滿足:
\[ \sum_{s‘\in\mathcal{S}}\sum_{r\in \mathcal{R}}p(s‘,r|s,a) = 1,\qquad \forall s\in \mathcal{S},a\in \mathcal{A(s)} \]
有了上面的公式,我們可以推導出很多有用的公式,比如,狀態轉移概率(state-transition probabilities):
\[ p(s‘|s,a)\dot = Pr{S_t = s‘|S_{t-1} = s,A_{t-1} = a} = \sum_{r\in R}p(s‘,r|s,a) \]
也可以得到狀態-動作對的期望獎勵:
\[ r(s,a) \dot = E[R_t| S_{t-1} = s, A_{t-1} = a] = \sum_{r\in \mathcal{R}}r \sum_{s‘\in \mathcal{S}}p(s‘,r|s,a) \]

Goals and Rewards

Agent的目標是最大化它能得到的所有獎勵的總和,也即最大化累積獎勵。使用獎勵作為agent的目標,這也是強化學習區別其其它機器學習方法的最顯著特征之一。

Returns and Episodes

最大化累積獎勵是agent的目標,為能量化這個目標,引入一個概念Returns(用\(G_t\)表示):
\[ G_t \dot = f(R_{t+1},R_{t+2},...,R_T) \]
其中f是某種映射,T為最後一時間步。

通常最大化Returns的期望:
\[ \max E G_t \]
\(G_t\)比較常見的版本是加和與折扣(discounted)加和:
\[ G_t \dot = R_{t+1} + R_{t+2} +...+R_T \]

\[ G_t \dot = R_{t+1} + \gamma R_{t+2} + \gamma^2R_{t+3}+ ... =\sum_{k = 0}^{\infty} r^k R_{t+k+1} \]

其中\(0\le \gamma\le 1\),稱為discount rate.

Policies and Value Functions

策略(policy)是從狀態到選擇可能動作概率的映射。\(\pi(a|s)\) 表示在狀態a下執行動作能的概率。

在給定策略下,狀態s的價值函數(value function)是從其狀態到最終的期望收益(expected return):
\[ v_{\pi}(s) \dot = E_{\pi} [G_t |S_t = s] = E_{\pi} \big[\sum_{k =0}^{\infty}\gamma^kR_{t+k+1}\big|S_t = s \big], \quad \forall s\in \mathcal{S} \]
也可得到動作-價值函數:
\[ q_{\pi}(s,a) \dot = E_{\pi} [G_t |S_t = s,A_t = a] = E_{\pi} \big[\sum_{k =0}^{\infty}\gamma^kR_{t+k+1}\big|S_t = s,A_t = a \big], \quad \forall s\in \mathcal{S},a \in \mathcal{A} \]
如果我們有一個最優策略(\(\pi_*\)),那麽這個策略(可能不只一種)可以讓價值函數獲得最大值,並且根據Bellman equation, 可以得得到如下推導:
\[ \begin{array}\v_*(s)& =& \max_{a\in \mathcal{A(s)}} = q_{\pi_*}(s,a)\&=& \max_aE_{\pi^*}[G_t|S_t = s, A_t = a]\&=& \max_aE[R_{t+1}+\gamma v_*(S_{t+1})|S_t = s,A_t = a]\& =&\max_a \sum_{s‘,r}p(s‘,r|s,a)[r + \gamma v_*(s‘)] \end{array} \]
同理:
\[ q_*(s,a) = E[R_{t+1} + \gamma \max_{a‘}q_*(S_{t+1},a‘)|S_t = s,A_t = a]= \sum_{s‘,r}p(s‘,r|s,a)[r + \gamma\max_{a‘}q_*(s‘,a‘)] \]
使用 backup diagrams:
技術分享圖片

強化學習(二):馬爾可夫決策過程