強化學習讀書筆記 - 03 - 有限馬爾科夫決策過程
學習筆記: Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016
代理-環境接口(The agent-environment interface)
代理(agent) - 學習者或者決策者 環境(environment) - 代理外部的一切,代理與之交互。
情節性任務(Episodic Tasks)和連續任務(Continuing Tasks)
情節性任務(Episodic Tasks),所有的任務可以被可以分解成一系列情節。邏輯上,可以看作為有限步驟的任務。 連續任務(Continuing Tasks) ,所有的任務不能分解。可以看作為無限步驟任務。
馬爾科夫屬性(The Markov property)
state - 馬爾科夫屬性,表示當前環境的狀態。 舉個例子:一個國際象棋的state可能包含:棋盤上所有棋子的位置,上一步的玩家,上一步的走法。
看看下面的公式: 這個公式在計算下一步(狀態是\(s'\) 、獎賞是\(r\) )的概率。 並說明這個概率是由至今為止所有的狀態\(S*\) ,行動\(A*\) 和獎賞\(R*\) 決定的。
\[Pr\{s_{t+1} = s', R_{t+1} = r | S_0, A_0, R_1, S_1, A_1, \dots, R_t, S_t, A_t \} \\ \]
如果,我們有馬爾科夫屬性state,有了現在環境的所有狀態,那么上面的公式可以簡化為: 這個公式的含義是下一步(狀態是\(s'\) 、獎賞是\(r\) )的概率是由馬爾科夫屬性\(s\) 和行動\(a\) 決定的 。
\[p(s', r | s, a) = Pr \{S_{t+1} = s', R_{t+1} = r | S_t = s, A_t = a \} \]
馬爾科夫決策過程 - 數學模型
馬爾科夫決策過程是一個強化學習問題的數學描述模型。 這個數學模型可以從幾個視圖來學習。
狀態(state)-行動(action)-獎賞(reward)視圖
目標(goal)-獎賞(reward)視圖
決策過程視圖
策略(policy)視圖
狀態(state)-行動(action)-獎賞(reward)視圖
Markov Decision Processes - Terms
Markov Decision Processes - Terms
state
s
(state)
state1
s'
(state)
state->state1
r
(reward)
a
(action)
這是一個馬爾科夫抉擇過程的基本視圖。 描述agent在狀態$s$下,選擇了行動$a$,狀態變為$s'$,獲得了獎賞$r$。 這個很容易理解,說明獎賞是行動引起狀態轉變后得到的。 舉個特殊例子:天上掉餡餅的過程:行動是等待;新狀態是獲得餡餅。
目標(goal)-獎賞(reward)視圖
Markov Decision Processes - Goal
Markov Decision Processes - Goal
S2
...
S_t
S_t
S2->S_t
S_t_1
S_t+1
S_t_2
...
S_t_1->S_t_2
R_t+2
A_t+1
S0
S0
S1
S1
S0->S1
R1
A0
S1->S2
R2
A1
S_t->S_t_1
R_t+1
A_t
獎賞假設(reward hypothesis) - 目標就是:最大化長期累計獎賞的期望值。 注:不是立即得到的獎賞。 回報$G_t$: $$ G_t \doteq \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \\ where \\ \gamma \text{ - is a parameter, discount rate, } 0 \leqslant \gamma \leqslant 1 $$ $\gamma$折扣率決定了未來獎賞的當前價值: 在k步之后的一個獎賞,如果換算成當前獎賞,需要乘以它的$\gamma^{k-1}$倍。
情節性任務(episodic tasks)的回報計算
\[G_t \doteq \sum_{k=0}^{T-t-1} \gamma^k R_{t+k+1} \quad (T = \infty \text{ or } \gamma = 1 \text{ (but not both)}) \\ where \\ T \ne \infty \text{ - case of episodic tasks} \\ T = \infty \text{ - case of continuing tasks} \]
決策過程視圖
Reinforcement Learning - Markov Decision Processes
Reinforcement Learning - Markov Decision Processes
s
s
a
s->a
a
a_2
s->a_2
a_2
s_1
s'
s_2
s_2'
r
a->r
p(s'|s,a)
r_3
a->r_3
p(s_2'|s,a)
r_4
a_2->r_4
r->s_1
p(s',r|s,a),r
r->s_1
p(s',r'|s,a),r'
r'
r_3->s_2
r_4->s_1
上圖說明了:
狀態\(s\) 下,采取行動\(a\) ,轉變成新狀態\(s'\) ,是由概率\(p(s' | s, a)\) 決定的。
狀態\(s\) 下,采取行動\(a\) ,轉變成新狀態\(s'\) ,獲得的獎賞\(r\) ,是由概率\(p(s', r | s, a)\) 決定的。
引起狀態\(s\) 到狀態\(s'\) 的轉變行動,不一定是唯一的。
相應的數學定義和公式
在狀態\(s\) 下,執行行動\(a\) ,轉變為狀態\(s'\) 並獲得獎賞\(r\) 的可能性:
\[p(s', r | s, a) \doteq Pr \{S_{t+1} = s', R_{t+1} = r | S_t = s, A_t = a \} \]
在狀態\(s\) 下,執行行動\(a\) 的期望獎賞:
\[r(s,a) \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a] = \sum_{r \in \mathcal{R}} r \sum_{s' \in \mathcal{S}} p(s', r|s,a) \]
在狀態\(s\) 下,執行行動\(a\) ,轉變為狀態\(s'\) 的可能性:
\[p(s' | s,a) \doteq Pr \{S_{t+1} = s' | S_t=s, A_t=a \} = \sum_{r \in \mathcal{R}} p(s',r | s,a) \]
在狀態\(s\) 下,執行行動\(a\) ,轉變為狀態\(s'\) 的期望獎賞:
\[r(s,a,s') \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a, S_{t+1} = s'] = \frac{\sum_{r \in \mathcal{R}} r p(s',r|s,a)}{p(s'|s,a)} \]
策略視圖
強化學習的目標是找到(可以獲得長期最優回報)的最佳策略。
\(\pi\) - 策略(policy)。 \(\pi\) - 策略(policy)。強化學習的目標:找到最優策略 。 策略規定了狀態\(s\) 時,應該選擇的行動\(a\) 。
\[\pi = [\pi(s_1), \cdots, \pi(s_n)] \]
\(\pi(s)\) - 策略\(\pi\) 在狀態\(s\) 下,選擇的行動。 \(\pi_*\) - 最優策略(optimal policy)。 \(\pi(a | s)\) - 隨機策略 \(\pi\) 在狀態\(s\) 下,選擇的行動\(a\) 的概率。
價值方法(Value Functions)
使用策略\(\pi\) ,狀態價值方法 - state-value function
\[v_{\pi}(s) \doteq \mathbb{E}[G_t | S_t = s] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\ where \\ \pi \text{ - polity} \\ \mathbb{E}_{\pi}[\cdot] \text{ - the expected value of a value follows policy } \pi \]
使用策略\(\pi\) ,行動價值方法 - action-value function
\[q_{\pi}(s,a) \doteq \mathbb{E}[G_t | S_t = s, A_t = a] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s, A_t = a \right ] \\ \]
使用策略\(\pi\) ,迭代狀態價值方法 - iterative state-value function a.k.a Bellman equation for \(v_{\pi}\)
\[\begin{align} v_{\pi}(s) & \doteq \mathbb{E}[G_t | S_t = s] \\ & = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\ & = \mathbb{E}_{\pi} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_t = s \right ] \\ & = \sum_{a} \pi(a|s) \sum_{s'} \sum_{r} p(s',r|s,a) \left [ r + \gamma\mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_{t+1} = s' \right ] \right ] \\ & = \sum_{a} \pi(a|s) \sum_{s',r} p(s',r|s,a) \left [ r + \gamma v_{\pi}(s') \right ], \ \forall s \in \mathcal{S} \end{align} \]
最優價值方法(Optimal Value Functions)
最優狀態價值方法 - optimal state-value function
\[v_*(s) \doteq \underset{\pi}{max} \ v_{\pi}(s), \forall s \in \mathcal{S} \]
最優行動價值方法 - optimal action-value function
\[q_*(s, a) \doteq \underset{\pi}{max} \ q_{\pi}(s, a), \ \forall s \in \mathcal{S} \ and \ a \in \mathcal{A}(s) \]
最優的行為價值等於最優的狀態價值下的最大期望:
\[q_*(s,a) = \mathbb{E}[R_{t+1} + \gamma v_* (S_{t+1}) \ | \ S_t = s, A_t = a] \]
最優狀態價值迭代方法 - interval optimal state-value function
\[\begin{align} v_*(s) & = \underset{a \in \mathcal{A}(s)}{max} \ q_{\pi_*}(s, a) \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} [G_t \ | \ S_t=s, A_t=a] \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \ | \ S_t=s, A_t=a \right ] \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} \ | \ S_t=s, A_t=a \right ] \\ & = \underset{a}{max} \ \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \ | \ S_t=s, A_t=a ] \\ & = \underset{a \in \mathcal{A}(s)}{max} \sum_{s',r} p(s',r|s,a)[r + \gamma v_*(s')] \\ \end{align} \]
參照