1. 是什么
蒙特卡洛強化學習(簡稱MC強化學習)是一種無模型強化學習算法,該算法無需知道馬爾科夫決策環(huán)境模型,即不需要提前獲得立即回報期望矩陣R(維度為(nS,nA))、狀態(tài)轉(zhuǎn)移概率數(shù)組P(維度為(nA,nS,nS)),而是通過與環(huán)境的反復交互,使用統(tǒng)計學方法,利用交互數(shù)據(jù)直接進行策略評估和策略優(yōu)化,從而學到最優(yōu)策略。
2. 有何優(yōu)點
- 無需環(huán)境模型
- 易于編程、通用性強。
3. 基本概念
為了更好的描述MC方法,深入理解如下概念非常必要。
3.1 立即回報
- 在某狀態(tài) s t s_t st?下,智能體執(zhí)行某行為 a t a_t at?后,獲得的一次來自環(huán)境的即時獎勵,例如,在格子世界中尋寶的實驗中,智能體在距離寶藏較遠的距離時,向右移動后,獲得來自環(huán)境的即時獎勵為-1,在智能體位于寶藏左邊時,向右移動1格后,獲獎來自環(huán)境的即時獎勵為0.
- 立即回報是隨機變量,為了反映它的特征,可以用立即回報期望來描述,符號為 R s a = E π ( R t + 1 ∣ s t = s , a t = a ) R_s^a=E_\pi(R_{t+1}|s_t=s,a_t=a) Rsa?=Eπ?(Rt+1?∣st?=s,at?=a)
3.2 累積回報
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ? = ∑ k = 1 T γ k ? 1 R t + k G_t = R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots=\sum_{k=1}^{T}\gamma^{k-1}R_{t+k} Gt?=Rt+1?+γRt+2?+γ2Rt+3?+?=k=1∑T?γk?1Rt+k?
- G t G_t Gt?:從某個狀態(tài)s開始,遵循某個策略時從狀態(tài)s開始直到最后終止狀態(tài) s T s_T sT?的帶折扣的累積回報
- 由于 R t + k R_{t+k} Rt+k?為隨機變量,故 G t G_t Gt?為隨機變量;
3.3 狀態(tài)值函數(shù)
- 為衡量狀態(tài)s下遵循策略 π \pi π的價值,取狀態(tài)值函數(shù) V π ( s ) = E π ( G t ∣ s t = s ) V_\pi(s)=E_\pi(G_t|s_t=s) Vπ?(s)=Eπ?(Gt?∣st?=s)作為度量標準
- 為了從交互產(chǎn)生的統(tǒng)計數(shù)據(jù)中計算得到接近真實的狀態(tài)值函數(shù) V π ( s ) V_\pi(s) Vπ?(s),可以取足夠多回合的交互獲得的 G t G_t Gt?的樣本的平均值
3.4 行為值函數(shù)
行為值函數(shù)是策略改進的依據(jù),理論上,它可以通過狀態(tài)值函數(shù)計算得到:
Q
(
s
,
a
)
=
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
(
s
′
)
Q(s,a) = R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV(s')
Q(s,a)=Rsa?+γs′∈S∑?Pss′a?V(s′)
然而,實際上,由于
R
s
a
R_s^a
Rsa?與
P
s
s
′
a
P_{ss'}^a
Pss′a?未知,因此,MC方法通常不會通過估計狀態(tài)值函數(shù)
V
(
s
)
V(s)
V(s),然后使用Q(s,a)進行策略改進。
MC方法是利用交互數(shù)據(jù)直接估計Q(s,a),然后再基于Q(s,a)進行策略改進的。
3.4 回合(或完整軌跡,episode)
- 由3.3可知,要獲得1個 G t G_t Gt?樣本,可以讓智能體從任意某初始狀態(tài)出發(fā),一直遵循某種策略 π \pi π與環(huán)境交互,直至狀態(tài)轉(zhuǎn)移到環(huán)境的終止狀態(tài) s T s_T sT?才結(jié)束。
- 我們把從某狀態(tài) ? s ∈ S \forall s\in S ?s∈S出發(fā),到終止狀態(tài) s T s_T sT?之間的完整狀態(tài)、動作、立即回報的轉(zhuǎn)換過程,稱為1次完整的軌跡或1個回合,英文單詞為Episode
3.5 多個回合(或完整軌跡)的描述
假設以任意起始狀態(tài)開始的完整軌跡有多條條,則這多條完整軌跡可以表示為:
軌跡0:
s
0
,
0
,
a
0
,
0
,
r
0
,
1
,
s
0
,
1
,
a
0
,
1
,
r
0
,
2
,
?
?
,
s
0
,
L
0
,
a
0
,
L
0
,
r
0
,
L
0
+
1
,
s
T
,
a
0
,
L
0
+
1
,
r
0
,
L
0
+
2
s_{0,0},a_{0,0},r_{0,1},s_{0,1},a_{0,1},r_{0,2},\cdots,s_{0,L_0},a_{0,L_0},r_{0,L_0+1},s_T,a_{0,L_0+1},r_{0,L_0+2}
s0,0?,a0,0?,r0,1?,s0,1?,a0,1?,r0,2?,?,s0,L0??,a0,L0??,r0,L0?+1?,sT?,a0,L0?+1?,r0,L0?+2?
軌跡1:
s
1
,
0
,
a
1
,
0
,
r
1
,
1
,
s
1
,
1
,
a
1
,
1
,
r
1
,
2
,
?
?
,
s
1
,
L
1
,
a
1
,
L
1
,
r
1
,
L
1
+
1
,
s
T
,
a
1
,
L
1
+
1
,
r
1
,
L
1
+
2
s_{1,0},a_{1,0},r_{1,1},s_{1,1},a_{1,1},r_{1,2},\cdots,s_{1,L_1},a_{1,L_1},r_{1,L_1+1},s_T,a_{1,L_1+1},r_{1,L_1+2}
s1,0?,a1,0?,r1,1?,s1,1?,a1,1?,r1,2?,?,s1,L1??,a1,L1??,r1,L1?+1?,sT?,a1,L1?+1?,r1,L1?+2?
…
軌跡k:
s
k
,
0
,
a
k
,
0
,
r
k
,
1
,
s
k
,
1
,
a
k
,
1
,
r
k
,
2
,
?
?
,
s
k
,
L
k
,
a
k
,
L
k
,
r
k
,
L
k
+
1
,
s
T
,
a
k
,
L
k
+
1
,
r
k
,
L
k
+
2
s_{k,0},a_{k,0},r_{k,1},s_{k,1},a_{k,1},r_{k,2},\cdots,s_{k,L_k},a_{k,L_k},r_{k,L_k+1},s_T,a_{k,L_k+1},r_{k,L_k+2}
sk,0?,ak,0?,rk,1?,sk,1?,ak,1?,rk,2?,?,sk,Lk??,ak,Lk??,rk,Lk?+1?,sT?,ak,Lk?+1?,rk,Lk?+2?
…
上述每條軌跡中的三元組
(
s
k
,
m
,
a
k
,
m
,
r
k
,
m
+
1
(s_{k,m},a_{k,m},r_{k,m+1}
(sk,m?,ak,m?,rk,m+1?表示軌跡k中,狀態(tài)為
s
k
+
m
s_{k+m}
sk+m?,執(zhí)行行為
a
k
+
m
a_{k+m}
ak+m?后獲得的立即回報的采樣值為
r
k
,
m
+
1
r_{k,m+1}
rk,m+1?,
r
k
,
L
k
+
1
r_{k,L_k+1}
rk,Lk?+1?表示軌跡k時,智能體觀測到的環(huán)境狀態(tài)為終止狀態(tài)的上一狀態(tài)
s
k
,
L
k
s_{k,L_k}
sk,Lk??下,執(zhí)行動作
a
k
,
L
k
a_{k,L_k}
ak,Lk??的立即回報采樣。
可見,一條完整軌跡(回合或episode),必須滿足:
- 最后一個狀態(tài)值 s T s_T sT?對應終止狀態(tài)
- L k ≥ 0 L_k\ge 0 Lk?≥0
4.MC強化學習問題的正式描述
已知:一個MDP(馬爾科夫決策過程)環(huán)境的折扣系數(shù)
γ
\gamma
γ、環(huán)境與智能體的交互接口,利用這個接口,智能體可以獲得從任意狀態(tài)
s
t
∈
S
s_t \in S
st?∈S下,執(zhí)行行為空間中的某個行為
a
t
∈
A
a_t \in A
at?∈A后,來自環(huán)境的即時回報
r
t
+
1
r_{t+1}
rt+1?和轉(zhuǎn)移后的狀態(tài)
s
t
+
1
s_{t+1}
st+1?、該新的狀態(tài)是否為終止狀態(tài)。
$$
求解:智能體如何利用環(huán)境的對外接口與環(huán)境交互,如何通過交互獲得最優(yōu)策略
π
?
(
a
∣
s
)
\pi^*(a|s)
π?(a∣s)?文章來源:http://www.zghlxwxcb.cn/news/detail-812254.html
5. 蒙特卡洛(MC)強化學習算法的基本框架
π
(
a
∣
s
)
=
初始策略
π
s
a
m
p
l
e
(
a
∣
s
)
=
蒙特卡諾采樣策略
(
可以和初始策略一樣)
Q
(
s
,
a
)
=
0
w
h
i
l
e
T
r
u
e
:
依據(jù)
π
s
a
m
p
l
e
與環(huán)境交互生成完整軌跡
利用軌跡數(shù)據(jù)進行策略評估以更新
Q
(
s
,
a
)
利用
Q
(
s
,
a
)
進行策略控制以改進
π
(
a
∣
s
)
i
f
滿足結(jié)束條件
:
b
r
e
a
k
輸出優(yōu)化后的
π
(
a
∣
s
)
\begin{align*} &\pi(a|s)=初始策略\\ &\pi_{sample}(a|s)=蒙特卡諾采樣策略(可以和初始策略一樣)\\ &Q(s,a)=0\\ & while \quad True:\\ &\qquad 依據(jù)\pi_{sample}與環(huán)境交互生成完整軌跡\\ &\qquad 利用軌跡數(shù)據(jù)進行策略評估以更新Q(s,a)\\ &\qquad 利用Q(s,a)進行策略控制以改進\pi(a|s)\\ &\qquad if\quad 滿足結(jié)束條件:\\ &\qquad \qquad break\\ &輸出優(yōu)化后的\pi(a|s) \end{align*}
?π(a∣s)=初始策略πsample?(a∣s)=蒙特卡諾采樣策略(可以和初始策略一樣)Q(s,a)=0whileTrue:依據(jù)πsample?與環(huán)境交互生成完整軌跡利用軌跡數(shù)據(jù)進行策略評估以更新Q(s,a)利用Q(s,a)進行策略控制以改進π(a∣s)if滿足結(jié)束條件:break輸出優(yōu)化后的π(a∣s)?
可見,MC強化學習的關鍵在于策略評估與策略控制文章來源地址http://www.zghlxwxcb.cn/news/detail-812254.html
到了這里,關于16. 蒙特卡洛強化學習基本概念與算法框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!