蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估
目录
上一节针对同轨策略(on-policy)方法中软性策略的缺陷,介绍了离轨策略(off-policy)。并针对离轨策略 采样难 的问题,详细介绍了重要性采样(importance-sampling)。
本节将介绍基于 普通重要性采样 和 加权重要性采样 的离轨策略方法实现蒙特卡洛策略评估。
基于离轨策略的蒙特卡洛策略评估
在蒙特卡洛方法求解强化学习任务——蒙特卡洛评估基本介绍中提到,蒙特卡洛策略评估本质上是给定策略 π \pi π,利用蒙特卡洛方法求解状态价值函数 V π ( s ) V_\pi(s) Vπ(s)/状态-动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)。
由于离轨策略方法的目标策略(target-policy) π ( a ∣ s ) \pi(a \mid s) π(a∣s)和行为策略(behaviour policy) b ( a ∣ s ) b(a \mid s) b(a∣s)不同,这种情况下如何进行采样? → \to → 我们将从普通重要性采样和加权重要性采样两种角度实现蒙特卡洛策略评估的求解过程。
本节以求解【状态价值函数】为目标,介绍两种重要性采样方法。
基于普通重要性采样的离轨策略方法
根据状态价值函数 V π ( s ) V_\pi(s) Vπ(s)的定义可知:
V π ( s ) ≜ E π [ G t ∣ S t = s ] V_\pi(s) \triangleq \mathbb E_\pi[G_t \mid S_t = s] Vπ(s)≜Eπ[Gt∣St=s]
在当前时刻 t t t状态 S t = s S_t = s St=s已知的条件下(策略评估过程中已经走到了 t t t时刻这一步),关于回报(Return)的期望。
回顾一下:回报(Return) G t G_t Gt是如何求解的?
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . γ T − t − 1 R T G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... \gamma^{T-t-1}R_T Gt=Rt+1+γRt+2+γ2Rt+3+...γT−t−1RT
观察上述序列, γ \gamma γ是人为设定的常数( γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ∈(0,1)),在处于 t t t时刻情况下, R t + 1 , R t + 2 , . . . , R T R_{t+1},R_{t+2},...,R_{T} Rt+1,Rt+2,...,RT都是 未知的(未来时刻产生的奖励结果)。
因此,我们只有在整个情节全部完成 之后( R t + 1 , R t + 2 , . . . , R T R_{t+1},R_{t+2},...,R_T Rt+1,Rt+2,...,RT均已知),此时的 G t G_t Gt才 有具体意义(但凡情节没有结束, G t G_t Gt都无法求出具体结果)。
继续观察状态价值函数 V π ( s ) V_\pi(s) Vπ(s)的定义:如果将 E π [ G t ∣ S t = s ] \mathbb E_\pi[G_t \mid S_t = s] Eπ[Gt∣St=s]按照标准期望的形式展开,会出现什么样的结果呢?
我们进行如下分析:
将 E π [ G t ∣ S t = s ] \mathbb E_\pi[G_t \mid S_t = s] Eπ[Gt∣St=s]理解为: ∑ \sum ∑ 所有可能出现的 G t G_t Gt结果 × \times × 对应 G t G_t Gt结果发生概率 的形式。假设 t t t时刻产生 N N N种可能出现的 G t G_t Gt结果,具体表示如下:
E π [ G t ∣ S t = s ] = ∑ i = 1 N G t ( i ) × P ( G t ( i ) ) \mathbb E_\pi[G_t \mid S_t = s] = \sum_{i=1}^N G_t^{(i)} \times P(G_t^{(i)}) Eπ[Gt∣St=s]=i=1∑NGt(i)×P(Gt(i))
其中 G t ( i ) G_t^{(i)} Gt(i)表示某个回报结果, P ( G t ( i ) ) P(G_t^{(i)}) P(Gt(i))表示该回报结果发生的概率。
- G t G_t Gt可能会产生多种结果:情节内部步骤的产生是一个动态过程 → \to → (状态转移过程是系统内部产生的变化过程,不以智能体的主观意志变化而变化。详见:马尔可夫奖励过程(MRP)),因此情节到达终结状态的路径可能 不唯一,从而影响情节内部各个步骤的奖励结果 ( R t + 1 , R t + 2 , . . . , R T ) (R_{t+1},R_{t+2},...,R_T) (Rt+1,Rt+2,...,RT),从而最终影响当前时刻 t t t的回报结果 G t G_t Gt。
- 每种 G t G_t Gt结果的发生都对应其相应概率:观察 S t S_t St状态下,后续步骤的执行流程:
A t , R t + 1 , S t + 1 , A t + 1 , R t + 2 , . . . , S T − 1 , A T − 1 , R T , S T A_t,R_{t+1},S_{t+1},A_{t+1},R_{t+2},...,S_{T-1},A_{T-1},R_T,S_T At,Rt+1,St+1,At+1,Rt+2,...,ST−1,AT−1,RT,ST
如何概括任意一种 G t G_t Gt结果产生的概率呢?由于只有情节结束(状态达到终结态)时才能确定 G t G_t Gt结果。因此, G t G_t Gt产生的概率可以概括为:在当前状态 S t = s S_t = s St=s条件下,后续状态、动作、奖励的联合概率( A t , A t + 1 , . . . , A T − 1 A_t,A_{t+1},...,A_{T-1} At,At+1,...,AT−1均服从于策略 π \pi π):
只有t时刻开始,到终结态结束,整个过程中的动作、状态、奖励全部确定,才能唯一确定一条“路径” -> 该路径中的每一时刻的“回报”才是确定的。因此后续过程中的动作、状态、奖励发生的“联合概率”可以视作“回报发生的概率”。
P ( A t , R t + 1 , S t + 1 , A t + 1 , . . . , S T ∣ S t = s , A t : T − 1 ∼ π ) P(A_t,R_{t+1},S_{t+1},A_{t+1},...,S_T \mid S_t=s,A_{t:T-1}\sim \pi) P(At,Rt+1,St+1,At+1,...,ST∣St=s,At:T−1∼π)
因此,将状态价值函数 V π ( s ) V_\pi(s) Vπ(s)进行如下表示(后续连加号下界省略):
E π [ G t ∣ S t = s ] = ∑ A t , . . . , A T − 1 ; R t + 1 , . . . , R T ; S t + 1 , . . . S T G t ⋅ P ( A t , R t + 1 , S t + 1 , A t + 1 , . . . , S T ∣ S t = s , A t : T − 1 ∼ π ) \begin{aligned} \mathbb E_\pi[G_t \mid S_t = s] = \sum_{A_t,...,A_{T-1};R_{t+1},...,R_{T};S_{t+1},...S_T}G_t \cdot P(A_t,R_{t+1},S_{t+1},A_{t+1},...,S_T \mid S_t=s,A_{t:T-1}\sim \pi) \end{aligned} Eπ[Gt∣St=s]=