本文章為西湖大學趙世鈺老師《強化學習數學原理》中文版第2章 貝爾曼方程的學習筆記,在書中內容的基礎上增加了自己的一些理解內容和相關補充內容。
2.1 啟發示例1:為什么回報很重要?
核心概念: 狀態值,作為一個評價策略好壞的指標
核心工具: 貝爾曼方程,描述了所有狀態值之間的關系。
通過求解貝爾曼方程,得到狀態值,進而可以評價一個策略的好壞。
回顧: 回報可以評價一個策略的好壞。
通過如圖2.1所示三個在狀態 s 1 s_1 s1?策略不同,其他狀態策略相同的例子來說明回報的重要性,并分析三個不同策略的好壞。
直接觀察結果:
- 左側策略,從狀態 s 1 s_1 s1?出發不會進入禁止區域,回報最大,策略最好。
- 中間策略,從狀態 s 1 s_1 s1?出發一定會進入禁止區域,回報最小,策略最壞。
- 右側策略,從狀態 s 1 s_1 s1?出發有0.5的概率進入禁止區域,回報一般,策略不好也不壞。
數學計算結果:
- 左側策略,軌跡為 s 1 → s 3 → s 4 → s 4 ? s_1\rightarrow s_3\rightarrow s_4\rightarrow s_4 \cdots s1?→s3?→s4?→s4??,計算對應折扣回報為
r e t u r n 1 = 0 + γ 1 + γ 2 1 + ? = γ ( 1 + γ + γ 2 + ? ) = γ 1 ? γ (1) \begin{align}\mathrm{return}_{1}&=0+\gamma1+\gamma^21+\cdots\\ &=\gamma(1+\gamma+\gamma^2+\cdots)\\&=\frac{\gamma}{1-\gamma}\end{align}\tag{1} return1??=0+γ1+γ21+?=γ(1+γ+γ2+?)=1?γγ??(1) - 中間策略,軌跡為 s 1 → s 2 → s 4 → s 4 ? s_1\rightarrow s_2\rightarrow s_4\rightarrow s_4 \cdots s1?→s2?→s4?→s4??,計算對應折扣回報為
r e t u r n 2 = ? 1 + γ 1 + γ 2 1 + ? = ? 1 + γ ( 1 + γ + γ 2 + ? ) = ? 1 + γ 1 ? γ (2) \begin{align}\mathrm{return}_{2}&=-1+\gamma1+\gamma^21+\cdots\\ &=-1+\gamma(1+\gamma+\gamma^2+\cdots)\\&=-1+\frac{\gamma}{1-\gamma}\end{align}\tag{2} return2??=?1+γ1+γ21+?=?1+γ(1+γ+γ2+?)=?1+1?γγ??(2) - 右側策略,得到兩條軌跡,分別為 s 1 → s 2 → s 4 → s 4 ? s_1\rightarrow s_2\rightarrow s_4\rightarrow s_4 \cdots s1?→s2?→s4?→s4?? 和 s 1 → s 3 → s 4 → s 4 ? s_1\rightarrow s_3\rightarrow s_4\rightarrow s_4 \cdots s1?→s3?→s4?→s4??。兩條軌跡各有0.5概率發生,其對應的折扣回報分別為 r e t u r n 1 \mathrm{return}_{1} return1?和 r e t u r n 2 \mathrm{return}_{2} return2?,則平均回報計算為
r e t u r n 3 = 0.5 ( γ 1 ? γ ) + 0.5 ( ? 1 + γ 1 ? γ ) = ? 0.5 + γ 1 ? γ (3) \begin{align}\mathrm{return}_{3}&=0.5(\frac{\gamma}{1-\gamma})+0.5(-1+\frac{\gamma}{1-\gamma})\\ &=-0.5+\frac{\gamma}{1-\gamma}\end{align}\tag{3} return3??=0.5(1?γγ?)+0.5(?1+1?γγ?)=?0.5+1?γγ??(3)
結論:根據式(1),(2)和(3)的計算結果可知
r e t u r n 1 > r e t u r n 3 > r e t u r n 2 (4) \begin{align}\mathrm{return}_{1}>\mathrm{return}_{3}>\mathrm{return}_{2}\end{align}\tag{4} return1?>return3?>return2??(4)
數學計算折扣回報得到的結果和直接觀察得到的結果是一致的。
注:例子得出的結論:回報可以評價一個策略的好壞。但是需要注意的是,回報的定義針對的是一條軌跡,但是 r e t u r n 3 \mathrm{return}_{3} return3?為兩條軌跡折扣回報的平均值,這其實就是后續要介紹的狀態值。
2.2 啟發示例2:如何計算回報?
- 定義法:回報定義為沿軌跡收集的所有獎勵的折扣總和。如圖2.2所示,忽略禁止區域和目標區域,給出一個簡單的例子來計算回報。
定義 v i v_{i} vi?為從狀態 s i s_{i} si?出發得到的回報, i = 1 , 2 , 3 , 4 i=1,2,3,4 i=1,2,3,4,則對應狀態出發得到的折扣回報為
v 1 = r 1 + γ r 2 + γ 2 r 3 + γ 3 r 4 + ? v 2 = r 2 + γ r 3 + γ 2 r 4 + γ 3 r 1 + ? v 3 = r 3 + γ r 4 + γ 2 r 1 + γ 3 r 2 + ? v 4 = r 4 + γ r 1 + γ 2 r 2 + γ 3 r 3 + ? (5) \begin{align}v_{1}&=r_1+\gamma r_2+\gamma^2 r_3+\gamma^3 r_4+\cdots\\ v_{2}&=r_2+\gamma r_3+\gamma^2 r_4+\gamma^3 r_1+\cdots\\ v_{3}&=r_3+\gamma r_4+\gamma^2 r_1+\gamma^3 r_2+\cdots\\ v_{4}&=r_4+\gamma r_1+\gamma^2 r_2+\gamma^3 r_3+\cdots\end{align}\tag{5} v1?v2?v3?v4??=r1?+γr2?+γ2r3?+γ3r4?+?=r2?+γr3?+γ2r4?+γ3r1?+?=r3?+γr4?+γ2r1?+γ3r2?+?=r4?+γr1?+γ2r2?+γ3r3?+??(5)
- 自舉法(bootstrapping):觀察式(5)中針對每個狀態出發獲得回報的計算結果,可以改寫為
v 1 = r 1 + γ ( r 2 + γ r 3 + γ 2 r 4 + ? ) = r 1 + γ v 2 v 2 = r 2 + γ ( r 3 + γ r 4 + γ 2 r 1 + ? ) = r 2 + γ v 3 v 3 = r 3 + γ ( r 4 + γ r 1 + γ 2 r 2 + ? ) = r 3 + γ v 4 v 4 = r 4 + γ ( r 1 + γ r 2 + γ 2 r 3 + ? ) = r 4 + γ v 1 (6) \begin{align}v_{1}&=r_1+\gamma(r_2+\gamma r_3+\gamma^2 r_4+\cdots)=r_1+\gamma v_{2}\\ v_{2}&=r_2+\gamma(r_3+\gamma r_4+\gamma^2 r_1+\cdots)=r_2+\gamma v_{3}\\ v_{3}&=r_3+\gamma(r_4+\gamma r_1+\gamma^2 r_2+\cdots)=r_3+\gamma v_{4}\\ v_{4}&=r_4+\gamma(r_1+\gamma r_2+\gamma^2 r_3+\cdots)=r_4+\gamma v_{1}\end{align}\tag{6} v1?v2?v3?v4??=r1?+γ(r2?+γr3?+γ2r4?+?)=r1?+γv2?=r2?+γ(r3?+γr4?+γ2r1?+?)=r2?+γv3?=r3?+γ(r4?+γr1?+γ2r2?+?)=r3?+γv4?=r4?+γ(r1?+γr2?+γ2r3?+?)=r4?+γv1??(6)式(6)的矩陣-向量形式的線性方程為
[ v 1 v 2 v 3 v 4 ] ? v ∈ R 4 = [ r 1 r 2 r 3 r 4 ] + [ γ v 2 γ v 3 γ v 4 γ v 5 ] = [ r 1 r 2 r 3 r 4 ] ? r ∈ R 4 + [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] ? P ∈ R 4 × 4 [ v 1 v 2 v 3 v 4 ] ? v ∈ R 4 (7) \begin{align}\underbrace{ \begin{bmatrix} v_{1}\\ v_{2}\\ v_{3}\\ v_{4} \end{bmatrix}}_{v\in\mathbb{R}^{4}}= \begin{bmatrix} r_{1}\\ r_{2}\\ r_{3}\\ r_{4} \end{bmatrix}+ \begin{bmatrix} \gamma v_{2}\\ \gamma v_{3}\\ \gamma v_{4}\\ \gamma v_{5} \end{bmatrix}=\underbrace{ \begin{bmatrix} r_{1}\\ r_{2}\\ r_{3}\\ r_{4} \end{bmatrix}}_{r\in\mathbb{R}^{4}}+\underbrace{ \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \end{bmatrix}}_{P\in\mathbb{R}^{4\times 4}} \underbrace{ \begin{bmatrix} v_{1}\\ v_{2}\\ v_{3}\\ v_{4} \end{bmatrix}}_{v\in\mathbb{R}^{4}} \end{align}\tag{7} v∈R4 ?v1?v2?v3?v4?? ???= ?r1?r2?r3?r4?? ?+ ?γv2?γv3?γv4?γv5?? ?=r∈R4 ?r1?r2?r3?r4?? ???+P∈R4×4 ?0001?1000?0100?0010? ???v∈R4 ?v1?v2?v3?v4?? ????(7)式(7)的簡化形式為
v = r + P v v=r+Pv v=r+Pv總結:由式(5)可知,從不同狀態出發的回報值式彼此依賴的,即, v 1 v_{1} v1?依賴于 v 2 v_{2} v2?, v 2 v_{2} v2?依賴于 v 3 v_{3} v3?, v 3 v_{3} v3?依賴于 v 4 v_{4} v4?, v 4 v_{4} v4?又依賴于 v 1 v_{1} v1?。這也反映了自舉的思想,即, v 1 v_{1} v1?, v 2 v_{2} v2?, v 3 v_{3} v3?, v 4 v_{4} v4?,可以從其自身 v 2 v_{2} v2?, v 3 v_{3} v3?, v 4 v_{4} v4?, v 1 v_{1} v1?得到。
從數學的角度,由式(6)給出的矩陣-向量形式的線性方程為可以很好的理解自舉。同時通過線性代數的知識可以很容易得到方程的解為
v = ( I ? γ P ) ? 1 r v=(I-\gamma P)^{-1}r v=(I?γP)?1r這里, I ∈ R 4 × 4 I\in\mathbb{R}^{4\times 4} I∈R4×4為單位矩陣,且 ( I ? γ P ) (I-\gamma P) (I?γP)一定是可逆的,這在后續的學習中將會被證明。、
注:方程(6)即為圖2所示例子對應的貝爾曼方程,方程(7)即為這個貝爾曼方程的矩陣-向量形式。
貝爾曼方程的核心思想:從一個狀態出發獲得的回報依賴于從其他狀態出發時獲得的回報。
2.3 狀態值
注:嚴格定義下,回報只能用來評價一個確定策略的好壞,對于一般化的隨機情況(從一個狀態出發得到不同策略和回報的可能性),用回報來評價這種策略的好壞是不適用的。這時候就要引入狀態值的概念。
首先給出一個一般化的過程,即,在任意時刻( t = 0 , 1 , 2 , … t=0,1,2,\dots t=0,1,2,…)智能體處于任意狀態 S t S_{t} St?按照某一策略 π \pi π執行動作 A t A_{t} At?,并下一時刻轉移到狀態 S t + 1 S_{t+1} St+1?且獲得即時獎勵 R t + 1 R_{t+1} Rt+1?的過程
S t → A t S t + 1 , R t + 1 (8) S_{t}\rightarrow^{A_{t}}S_{t+1},R_{t+1}\tag{8} St?→At?St+1?,Rt+1?(8)其中, S t , S t + 1 ∈ S S_{t},S_{t+1}\in\mathcal{S} St?,St+1?∈S, A t ∈ A ( S t ) A_{t}\in\mathcal{A(S_{t})} At?∈A(St?), R t + 1 ∈ R ( S t , A t ) R_{t+1}\in\mathcal{R}(S_{t},A_{t}) Rt+1?∈R(St?,At?)。
注: S t S_{t} St?, S t + 1 S_{t+1} St+1?, A t A_{t} At?和 R t + 1 R_{t+1} Rt+1?都為隨機變量(random variables)。
由式(8)可以得到從 t t t時刻開始的一條包含一系列“狀態-動作-獎勵”的軌跡
S t → A t S t + 1 , R t + 1 → A t + 1 S t + 2 , R t + 2 → A t + 2 S t + 3 , R t + 3 , … S_{t}\rightarrow^{A_{t}}S_{t+1},R_{t+1}\rightarrow^{A_{t+1}}S_{t+2},R_{t+2}\rightarrow^{A_{t+2}}S_{t+3},R_{t+3},\dots St?→At?St+1?,Rt+1?→At+1?St+2?,Rt+2?→At+2?St+3?,Rt+3?,…
沿著軌跡計算得到的折扣回報為
G t ? R t + 1 + γ R t + 2 + γ 2 R t + 3 + … , γ ∈ ( 0 , 1 ) G_{t}\doteq R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\dots,\;\gamma\in(0,1) Gt??Rt+1?+γRt+2?+γ2Rt+3?+…,γ∈(0,1)
G t G_{t} Gt?由 R t + 1 R_{t+1} Rt+1?, R t + 2 R_{t+2} Rt+2?, … \dots …這些隨機變量的組合得到,同樣也為隨機變量。
計算隨機變量 G t G_{t} Gt?的數學期望(expectation/expected value)為
v π ( s ) ? E [ G t ∣ S t = s ] v_{\pi}(s)\doteq\mathbb{E}[G_{t}|S_{t}=s] vπ?(s)?E[Gt?∣St?=s]
這里 v π ( s ) v_{\pi}(s) vπ?(s)被定義為狀態值函數(state-value function),又簡稱為狀態值或狀態價值(state value)。
注:關于狀態值的說明。
- 狀態值 v π ( s ) v_{\pi}(s) vπ?(s)的值依賴于狀態 s s s,不同狀態下的狀態值一般是不同的。狀態值的本質是求隨機變量 G t G_{t} Gt?在條件 S t = s S_{t}=s St?=s下的條件期望。
- 狀態值 v π ( s ) v_{\pi}(s) vπ?(s)的值依賴于策略 π \pi π,不同策略下的狀態值一般是不同的。不同的策略會產生不同的軌跡,進而影響狀態值。
- 狀態值 v π ( s ) v_{\pi}(s) vπ?(s)的值不依賴于時間 t t t。所考慮的系統模型是平穩的,不會隨時間變化。
“狀態值”和“回報”的關系如圖2.3所示
總結:狀態值所描述的情況比回報描述的情況更一般化,可以處理不確定性和隨機性的情況。
狀態值可以更一般化的來評價策略,能產生更高狀態值的策略更好。
2.4 貝爾曼方程
貝爾曼方程(Bellman equation)描述了所有狀態值之間的關系。
貝爾曼方程的推導過程如下:
- 改寫 G t G_{t} Gt?。
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + … = R t + 1 + γ ( R t + 2 + γ R t + 3 + … ) = R t + 1 + γ G t + 1 \begin{align*}G_{t}&= R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\dots\\ &=R_{t+1}+\gamma(R_{t+2}+\gamma R_{t+3}+\dots)\\ &=R_{t+1}+\gamma G_{t+1}\end{align*} Gt??=Rt+1?+γRt+2?+γ2Rt+3?+…=Rt+1?+γ(Rt+2?+γRt+3?+…)=Rt+1?+γGt+1?? - 基于步驟1中建立的 G t G_{t} Gt?和 G t + 1 G_{t+1} Gt+1?之間的關系,狀態值 v π ( s ) v_{\pi}(s) vπ?(s)可以改寫為
v π ( s ) = E [ G t ∣ S t = s ] = E [ R t + 1 + γ G t + 1 ∣ S t = s ] = E [ R t + 1 ∣ S t = s ] + E [ γ G t + 1 ∣ S t = s ] (9) \begin{align}v_{\pi}(s)&=\mathbb{E}[G_{t}|S_{t}=s]\\ &=\mathbb{E}[R_{t+1}+\gamma G_{t+1}|S_{t}=s]\\ &=\mathbb{E}[R_{t+1}|S_{t}=s]+\mathbb{E}[\gamma G_{t+1}|S_{t}=s]\end{align}\tag{9} vπ?(s)?=E[Gt?∣St?=s]=E[Rt+1?+γGt+1?∣St?=s]=E[Rt+1?∣St?=s]+E[γGt+1?∣St?=s]?(9) - 分析式(9)中的兩個數學期望項
- 即時獎勵期望值 E [ R t + 1 ∣ S t = s ] \mathbb{E}[R_{t+1}|S_{t}=s] E[Rt+1?∣St?=s]
這一項可以通過全期望(total expectation) 的性質來進行改寫,首先給出改寫結果,然后給出具體的推導過程
E [ R t + 1 ∣ S t = s ] = ∑ a ∈ A π ( a ∣ s ) E [ R t + 1 ∣ S t = s , A t = a ] = ∑ a ∈ A π ( a ∣ s ) ∑ r ∈ R p ( r ∣ s , a ) r (10) \begin{align} \mathbb{E}[R_{t+1}|S_{t}=s]&=\sum_{a\in\mathcal{A}}\pi(a|s)\mathbb{E}[R_{t+1}|S_{t}=s,A_{t}=a]\\ &=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{r\in\mathcal{R}}p(r|s,a)r \end{align}\tag{10} E[Rt+1?∣St?=s]?=a∈A∑?π(a∣s)E[Rt+1?∣St?=s,At?=a]=a∈A∑?π(a∣s)r∈R∑?p(r∣s,a)r?(10)
式(10)的推導過程如下:
首先基于鏈式規則(chain rule) 和條件概率公式可以得到
p ( a , b ) = p ( a ∣ b ) p ( b ) p ( a , b , c ) = p ( a ∣ b , c ) p ( b , c ) = p ( a ∣ b , c ) p ( b ∣ c ) p ( c ) \begin{align*}p(a,b)&=p(a|b)p(b)\\ p(a,b,c)&=p(a|b,c)p(b,c)\\&=p(a|b,c)p(b|c)p(c)\end{align*} p(a,b)p(a,b,c)?=p(a∣b)p(b)=p(a∣b,c)p(b,c)=p(a∣b,c)p(b∣c)p(c)?
由于 p ( a , b , c ) = p ( a , b ∣ c ) p ( c ) p(a,b,c)=p(a,b|c)p(c) p(a,b,c)=p(a,b∣c)p(c),所以 p ( a , b , c ) / p ( c ) = p ( a , b ∣ c ) = p ( a ∣ b , c ) p ( b ∣ c ) p(a,b,c)/p(c)=p(a,b|c)=p(a|b,c)p(b|c) p(a,b,c)/p(c)=p(a,b∣c)=p(a∣b,c)p(b∣c)
然后可以進一步推導出以下關系
p ( x ∣ a ) = ∑ b p ( x , b ∣ a ) = ∑ b p ( x ∣ b , a ) p ( b ∣ a ) p(x|a)=\sum_{b}p(x,b|a)=\sum_{b}p(x|b,a)p(b|a) p(x∣a)=b∑?p(x,b∣a)=b∑?p(x∣b,a)p(b∣a)
其次給出期望(expectation) 和條件期望(conditional expectation) 的定義,并基于此推導出全期望公式(formula of total expectation)。
(1)期望(expectation):隨機變量 X X X取值 x x x的概率為 p ( x ) p(x) p(x), X X X的期望值定義為 E [ X ] = ∑ x x p ( x ) \mathbb{E}[X]=\sum_{x}xp(x) E[X]=x∑?xp(x)
(2)條件期望(conditional expectation):
E [ X ∣ A = a ] = ∑ x x p ( x ∣ a ) \mathbb{E}[X|A=a]=\sum_{x}xp(x|a) E[X∣A=a]=x∑?xp(x∣a)
(3)全期望公式(formula of total expectation):
E [ X ] = ∑ a E [ X ∣ A = a ] p ( a ) \mathbb{E}[X]=\sum_{a}\mathbb{E}[X|A=a]p(a) E[X]=a∑?E[X∣A=a]p(a)
全期望公式的證明如下: ∑ a E [ X ∣ A = a ] p ( a ) = ∑ a ∑ x x p ( x ∣ a ) p ( a ) → 由條件期望定義得到 = ∑ x [ ∑ a p ( x ∣ a ) p ( a ) ] x = ∑ x p ( x ) x → 由全概率公式定義得到 = E [ X ] → 由期望值定義得到 \begin{align*}\sum_{a}\mathbb{E}[X|A=a]p(a)&=\sum_{a}\sum_{x}xp(x|a)p(a)\;\rightarrow 由條件期望定義得到\\ &=\sum_{x}\bigg[\sum_{a}p(x|a)p(a)\bigg]x\\ &=\sum_{x}p(x)x\;\rightarrow 由全概率公式定義得到\\ &=\mathbb{E}[X]\;\rightarrow 由期望值定義得到\end{align*} a∑?E[X∣A=a]p(a)?=a∑?x∑?xp(x∣a)p(a)→由條件期望定義得到=x∑?[a∑?p(x∣a)p(a)]x=x∑?p(x)x→由全概率公式定義得到=E[X]→由期望值定義得到?
然后,給出條件期望的另一種數學表示形式
E [ X ∣ A = a ] = ∑ b E [ X ∣ A = a , B = b ] p ( b ∣ a ) \mathbb{E}[X|A=a]=\sum_{b}\mathbb{E}[X|A=a,B=b]p(b|a) E[X∣A=a]=b∑?E[X∣A=a,B=b]p(b∣a)
證明如下: ∑ b E [ X ∣ A = a , B = b ] p ( b ∣ a ) = ∑ b [ ∑ x x p ( x ∣ a , b ) ] p ( b ∣ a ) → 由條件期望定義得到 = ∑ b ∑ x [ p ( x ∣ a , b ) p ( b ∣ a ) x = ∑ x [ ∑ b p ( x ∣ a , b ) p ( b ∣ a ) ] x = ∑ x ∑ b p ( x , b ∣ a ) x → 由鏈式規則的推廣得到 = ∑ x p ( x ∣ a ) x = E [ X ∣ A = a ] → 由期望值定義得到 \begin{align*}\sum_{b}\mathbb{E}[X|A=a,B=b]p(b|a)&=\sum_{b }\bigg[\sum_{x}xp(x|a,b)\bigg]p(b|a)\;\rightarrow 由條件期望定義得到\\ &=\sum_{b}\sum_{x}[p(x|a,b)p(b|a)x\\ &=\sum_{x}\bigg[\sum_{b}p(x|a,b)p(b|a)\bigg]x\\ &=\sum_{x}\sum_{b}p(x,b|a)x\;\rightarrow 由鏈式規則的推廣得到\\ &=\sum_{x}p(x|a)x\\ &=\mathbb{E}[X|A=a]\;\rightarrow 由期望值定義得到\end{align*} b∑?E[X∣A=a,B=b]p(b∣a)?=b∑?[x∑?xp(x∣a,b)]p(b∣a)→由條件期望定義得到=b∑?x∑?[p(x∣a,b)p(b∣a)x=x∑?[b∑?p(x∣a,b)p(b∣a)]x=x∑?b∑?p(x,b∣a)x→由鏈式規則的推廣得到=x∑?p(x∣a)x=E[X∣A=a]→由期望值定義得到?
因此,利用上述等式,我們可以得到即時獎勵期望值 E [ R t + 1 ∣ S t = s ] \mathbb{E}[R_{t+1}|S_{t}=s] E[Rt+1?∣St?=s]的改寫結果式(10),即 E [ R t + 1 ∣ S t = s ] = ∑ a ∈ A π ( a ∣ s ) E [ R t + 1 ∣ S t = s , A t = a ] = ∑ a ∈ A π ( a ∣ s ) ∑ r ∈ R p ( r ∣ s , a ) r \begin{align*} \mathbb{E}[R_{t+1}|S_{t}=s]&=\sum_{a\in\mathcal{A}}\pi(a|s)\mathbb{E}[R_{t+1}|S_{t}=s,A_{t}=a]\\ &=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{r\in\mathcal{R}}p(r|s,a)r \end{align*} E[Rt+1?∣St?=s]?=a∈A∑?π(a∣s)E[Rt+1?∣St?=s,At?=a]=a∈A∑?π(a∣s)r∈R∑?p(r∣s,a)r?推導結束。
- 未來獎勵期望值 E [ G t + 1 ∣ S t = s ] \mathbb{E}[G_{t+1}|S_{t}=s] E[Gt+1?∣St?=s]
這一項可以基于馬爾可夫性質改寫為如下形式
E [ G t + 1 ∣ S t = s ] = ∑ s ′ ∈ S E [ G t + 1 ∣ S t = s , S t + 1 = s ′ ∣ p ( s ′ ∣ s ) ] = ∑ s ′ ∈ S E [ G t + 1 ∣ S t + 1 = s ′ ∣ p ( s ′ ∣ s ) ] → 由馬爾可夫性質得到 = ∑ s ′ ∈ S v π ( s ′ ) p ( s ′ ∣ s ) = ∑ s ′ ∈ S v π ( s ′ ) ∑ a ∈ A p ( s ′ ∣ s , a ) π ( a ∣ s ) → 由鏈式規則的推廣得到 (11) \begin{align}\mathbb{E}[G_{t+1}|S_{t}=s]&=\sum_{s'\in\mathcal{S}}\mathbb{E}[G_{t+1}|S_{t}=s,S_{t+1}=s'|p(s'|s)]\\&=\sum_{s'\in\mathcal{S}}\mathbb{E}[G_{t+1}|S_{t+1}=s'|p(s'|s)]\;\rightarrow 由馬爾可夫性質得到\\ &=\sum_{s'\in\mathcal{S}}v_{\pi}(s')p(s'|s)\\ &=\sum_{s'\in\mathcal{S}}v_{\pi}(s')\sum_{a\in\mathcal{A}}p(s'|s,a)\pi(a|s)\;\rightarrow 由鏈式規則的推廣得到\end{align}\tag{11} E[Gt+1?∣St?=s]?=s′∈S∑?E[Gt+1?∣St?=s,St+1?=s′∣p(s′∣s)]=s′∈S∑?E[Gt+1?∣St+1?=s′∣p(s′∣s)]→由馬爾可夫性質得到=s′∈S∑?vπ?(s′)p(s′∣s)=s′∈S∑?vπ?(s′)a∈A∑?p(s′∣s,a)π(a∣s)→由鏈式規則的推廣得到?(11)
馬爾可夫性質: E [ G t + 1 ∣ S t = s , S t + 1 = s ′ ] = E [ G t + 1 ∣ S t = s ] \mathbb{E}[G_{t+1}|S_{t}=s,S_{t+1}=s']=\mathbb{E}[G_{t+1}|S_{t}=s] E[Gt+1?∣St?=s,St+1?=s′]=E[Gt+1?∣St?=s],即未來的獎勵僅依賴于當前狀態,與先前的狀態無關,即無記憶性。
將式(10)和式(11)帶入式(9),即可得到貝爾曼方程
v π ( s ) = E [ R t + 1 ∣ S t = s ] + γ E [ G t + 1 ∣ S t = s ] = ∑ a ∈ A π ( a ∣ s ) ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S v π ( s ′ ) ∑ a ∈ A p ( s ′ ∣ s , a ) π ( a ∣ s ) = ∑ a ∈ A π ( a ∣ s ) [ ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v π ( s ′ ) ] , s ∈ S (12) \begin{align}v_{\pi}(s)&=\mathbb{E}[R_{t+1}|S_{t}=s]+\gamma\mathbb{E}[G_{t+1}|S_{t}=s]\\ &=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{r\in\mathcal{R}}p(r|s,a)r+\gamma\sum_{s'\in\mathcal{S}}v_{\pi}(s')\sum_{a\in\mathcal{A}}p(s'|s,a)\pi(a|s)\\&=\sum_{a\in\mathcal{A}}\pi(a|s)\bigg[\sum_{r\in\mathcal{R}}p(r|s,a)r+\gamma\sum_{s'\in\mathcal{S}}p(s'|s,a)v_{\pi}(s')\bigg]\;,s\in\mathcal{S}\end{align}\tag{12} vπ?(s)?=E[Rt+1?∣St?=s]+γE[Gt+1?∣St?=s]=a∈A∑?π(a∣s)r∈R∑?p(r∣s,a)r+γs′∈S∑?vπ?(s′)a∈A∑?p(s′∣s,a)π(a∣s)=a∈A∑?π(a∣s)[r∈R∑?p(r∣s,a)r+γs′∈S∑?p(s′∣s,a)vπ?(s′)],s∈S?(12)
貝爾曼方程的解釋說明:
- v π ( s ) v_{\pi}(s) vπ?(s)和 v π ( s ′ ) v_{\pi}(s') vπ?(s′)都是需要計算的狀態值,是未知量。
- π ( a ∣ s ) \pi(a|s) π(a∣s)是一個給定的策略,是已知量。
- p ( r ∣ s , a ) p(r|s,a) p(r∣s,a)和 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)代表系統模型,可以是已知的也可以是未知的。
貝爾曼方程的常見等價形式:
- 等價形式1的表達式如下所示
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_{\pi}(s)=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{s'\in\mathcal{S}}\sum_{r\in\mathcal{R}}p(s',r|s,a)[r+\gamma v_{\pi}(s')] vπ?(s)=a∈A∑?π(a∣s)s′∈S∑?r∈R∑?p(s′,r∣s,a)[r+γvπ?(s′)]
推導過程如下
首先給出兩個與狀態 s s s, s ′ s' s′,動作 a a a和獎勵 r r r有關的全概率公式 p ( s ′ ∣ s , a ) = ∑ r ∈ R p ( s ′ , r ∣ s , a ) p ( r ∣ , s , a ) = ∑ s ′ ∈ S p ( s ′ , r ∣ s , a ) \begin{align*}p(s'|s,a)&=\sum_{r\in\mathcal{R}}p(s',r|s,a)\\ p(r|,s,a)&=\sum_{s'\in\mathcal{S}}p(s',r|s,a)\end{align*} p(s′∣s,a)p(r∣,s,a)?=r∈R∑?p(s′,r∣s,a)=s′∈S∑?p(s′,r∣s,a)?將上述兩個全概率公式代入(12),可以得到 v π ( s ) = ∑ a ∈ A π ( a ∣ s ) [ ∑ r ∈ R p ( r ∣ s , a ) r + ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v π ( s ′ ) ] = ∑ a ∈ A π ( a ∣ s ) [ ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) r + ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) v π ( s ′ ) ] = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] \begin{align*}v_{\pi}(s)&=\sum_{a\in\mathcal{A}}\pi(a|s)\bigg[\sum_{r\in\mathcal{R}}p(r|s,a)r+\sum_{s'\in\mathcal{S}}p(s'|s,a)v_{\pi}(s')\bigg]\\ &=\sum_{a\in\mathcal{A}}\pi(a|s)\bigg[\sum_{s'\in\mathcal{S}}\sum_{r\in\mathcal{R}}p(s',r|s,a)r+\sum_{s'\in\mathcal{S}}\sum_{r\in\mathcal{R}}p(s',r|s,a)v_{\pi}(s')\bigg]\\ &=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{s'\in\mathcal{S}}\sum_{r\in\mathcal{R}}p(s',r|s,a)[r+\gamma v_{\pi}(s')]\end{align*} vπ?(s)?=a∈A∑?π(a∣s)[r∈R∑?p(r∣s,a)r+s′∈S∑?p(s′∣s,a)vπ?(s′)]=a∈A∑?π(a∣s)[s′∈S∑?r∈R∑?p(s′,r∣s,a)r+s′∈S∑?r∈R∑?p(s′,r∣s,a)vπ?(s′)]=a∈A∑?π(a∣s)s′∈S∑?r∈R∑?p(s′,r∣s,a)[r+γvπ?(s′)]?推導結束。
- 等價形式2為貝爾曼期望方程(bellman expectation equation):
v π ( s ) = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] , s ∈ S v_{\pi}(s)=\mathbb{E}[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_{t}=s],\;s\in\mathcal{S} vπ?(s)=E[Rt+1?+γvπ?(St+1?)∣St?=s],s∈S
推導過程如下
由式(11)可知
E [ G t + 1 ∣ S t = s ] = ∑ s ′ ∈ S v π ( s ′ ) ∑ a ∈ A p ( s ′ ∣ s , a ) π ( a ∣ s ) = E [ v π ( S t + 1 ) ∣ S t = s ] \begin{align*}\mathbb{E}[G_{t+1}|S_{t}=s]&=\sum_{s'\in\mathcal{S}}v_{\pi}(s')\sum_{a\in\mathcal{A}}p(s'|s,a)\pi(a|s)\\&=\mathbb{E}[v_{\pi}(S_{t+1})|S_{t}=s]\end{align*} E[Gt+1?∣St?=s]?=s′∈S∑?vπ?(s′)a∈A∑?p(s′∣s,a)π(a∣s)=E[vπ?(St+1?)∣St?=s]? 將上述等式帶入式(9)即可得到貝爾曼期望方程。
- 等價形式3的表達式如下所示
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S p ( s ′ ∣ s , a ) [ r ( s ′ ) + γ v π ( s ′ ) ] v_{\pi}(s)=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{s'\in\mathcal{S}}p(s'|s,a)[r(s')+\gamma v_{\pi}(s')] vπ?(s)=a∈A∑?π(a∣s)s′∈S∑?p(s′∣s,a)[r(s′)+γvπ?(s′)]
推導過程如下
在一些特殊問題中,獎勵 r r r可能僅依賴于下一個狀態 s ′ s' s′,這時候獎勵可以表示為 r ( s ′ ) r(s') r(s′)。這時候以下等式成立
p ( r ( s ′ ) ∣ s , a ) = p ( s ′ ∣ s , a ) ∑ r ∈ R p ( r ∣ s , a ) r = ∑ s ′ ∈ S p ( r ( s ′ ) ∣ s , a ) r ( s ′ ) \begin{align*}p(r(s')|s,a)&=p(s'|s,a)\\\sum_{r\in\mathcal{R}}p(r|s,a)r&=\sum_{s'\in\mathcal{S}}p(r(s')|s,a)r(s')\end{align*} p(r(s′)∣s,a)r∈R∑?p(r∣s,a)r?=p(s′∣s,a)=s′∈S∑?p(r(s′)∣s,a)r(s′)?將上述等式帶入式(12)可得到等價形式3。