您当前的位置: 首页 > 

静静的喝酒

暂无认证

  • 2浏览

    0关注

    99博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估

静静的喝酒 发布时间:2022-06-29 17:46:52 ,浏览量:2

蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估
  • 目录
    • 基于离轨策略的蒙特卡洛策略评估
      • 基于普通重要性采样的离轨策略方法
      • 基于普通重要性采样的离轨策略方法总结
      • 基于加权重要性采样的离轨策略方法

目录

上一节针对同轨策略(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∑N​Gt(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]=At​,...,AT−1​;Rt+1​,...,RT​;St+1​,...ST​∑​Gt​⋅P(At​,Rt+1​,St+1​,At+1​,...,ST​∣St​=s,At:T−1​∼π)​ 由于讨论的框架仍然是马尔可夫决策过程(MDP),因此根据马尔可夫性质/齐次马尔可夫假设,按照状态的生成过程,将联合概率分布 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​∼π)进行 展开:

示例: S t → S t + 1 → S t + 2 S_t \to S_{t+1} \to S_{t+2} St​→St+1​→St+2​状态的生成过程 P ( A t , R t + 1 , S t + 1 ∣ S t = s ) = π ( A t ∣ S t = s ) ⋅ p ( R t + 1 , S t + 1 ∣ S t = s , A t ) P(A_t,R_{t+1},S_{t+1} \mid S_t = s) =\pi(A_t \mid S_t = s) \cdot p(R_{t+1},S_{t+1} \mid S_t = s,A_t) P(At​,Rt+1​,St+1​∣St​=s)=π(At​∣St​=s)⋅p(Rt+1​,St+1​∣St​=s,At​) 此时已经求得 S t + 1 , R t + 1 , A t S_{t+1},R_{t+1},A_t St+1​,Rt+1​,At​的联合概率结果,并以此为条件,求解 包含下一时刻: S t + 1 , R t + 1 , A t , S t + 2 , R t + 2 , A t + 1 S_{t+1},R_{t+1},A_t,S_{t+2},R_{t+2},A_{t+1} St+1​,Rt+1​,At​,St+2​,Rt+2​,At+1​的联合概率结果: P ( A t + 1 , R t + 2 , S t + 2 , A t , R t + 1 , S t + 1 ∣ S t ) = π ( A t ∣ S t ) ⋅ p ( R t + 1 , S t + 1 ∣ S t , A t ) ⋅ π ( A t + 1 ∣ S t + 1 ) ⋅ p ( R t + 2 , S t + 2 ∣ A t + 1 , S t + 1 ) \begin{aligned} P(A_{t+1},R_{t+2},S_{t+2},A_t,R_{t+1},S_{t+1} \mid S_t) & = \pi(A_t \mid S_t) \cdot p(R_{t+1},S_{t+1}\mid S_t,A_t) \cdot \pi(A_{t+1} \mid S_{t+1}) \cdot p(R_{t+2},S_{t+2} \mid A_{t+1},S_{t+1}) \end{aligned} P(At+1​,Rt+2​,St+2​,At​,Rt+1​,St+1​∣St​)​=π(At​∣St​)⋅p(Rt+1​,St+1​∣St​,At​)⋅π(At+1​∣St+1​)⋅p(Rt+2​,St+2​∣At+1​,St+1​)​ 以此类推,直到终结状态 S T S_T ST​结束。最终展开结果如下表示: E π [ G t ∣ S t = s ] = ∑ G t ⋅ P ( A t , R t + 1 , S t + 1 , A t + 1 , . . . , S T ∣ S t = s , A t : T − 1 ∼ π ) = ∑ G t ⋅ π ( A t ∣ S t = s ) ⋅ p ( R t + 1 , S t + 1 ∣ S t = s , A t ) ⋅ π ( A t + 1 ∣ S t + 1 ) ⋅ . . . ⋅ p ( R T , S T ∣ S T − 1 , A T − 1 ) = ∑ G t ⋅ ∏ k = t T − 1 π ( A k ∣ S k ) ⋅ p ( S k + 1 ∣ S k , A k ) \begin{aligned} \mathbb E_\pi[G_t \mid S_t = s] & = \sum 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) \\ & = \sum G_t \cdot \pi(A_t \mid S_t =s)\cdot p(R_{t+1},S_{t+1}\mid S_t=s,A_t) \cdot \pi(A_{t+1} \mid S_{t+1}) \cdot ... \cdot p(R_T,S_T \mid S_{T-1},A_{T-1}) \\ & = \sum G_t \cdot \prod_{k=t}^{T-1}\pi(A_k \mid S_k)\cdot p(S_{k+1} \mid S_k,A_k) \end{aligned} Eπ​[Gt​∣St​=s]​=∑Gt​⋅P(At​,Rt+1​,St+1​,At+1​,...,ST​∣St​=s,At:T−1​∼π)=∑Gt​⋅π(At​∣St​=s)⋅p(Rt+1​,St+1​∣St​=s,At​)⋅π(At+1​∣St+1​)⋅...⋅p(RT​,ST​∣ST−1​,AT−1​)=∑Gt​⋅k=t∏T−1​π(Ak​∣Sk​)⋅p(Sk+1​∣Sk​,Ak​)​

回顾离轨策略定义,通过采样得到的样本序列 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​并不是基于策略目标策略 π ( a ∣ s ) \pi(a \mid s) π(a∣s)产生的,而是基于行为策略 b ( a ∣ s ) b(a \mid s) b(a∣s)产生的结果,因此,基于上式做如下变换: 蒙特卡洛方法求解强化学习任务——离轨策略与重要性采样介绍重要性采样推导相同,除以一个b(a|s),再乘以一个b(a|s) E π [ G t ∣ S t = s ] = ∑ G t ⋅ ∏ k = t T − 1 π ( A k ∣ S k ) ⋅ p ( S k + 1 ∣ S k , A k ) = ∑ G t ⋅ ∏ k = t T − 1 [ π ( A k ∣ S k ) b ( A k ∣ S k ) ] ⋅ b ( A k ∣ S k ) ⋅ p ( S k + 1 ∣ S k , A k ) = ∑ ∏ k = t T − 1 [ π ( A k ∣ S k ) b ( A k ∣ S k ) ] ⋅ G t ∏ k = t T − 1 [ b ( A k ∣ S k ) ⋅ p ( S k + 1 ∣ S k , A k ) ] \begin{aligned} \mathbb E_\pi[G_t \mid S_t = s] & = \sum G_t \cdot \prod_{k=t}^{T-1}\pi(A_k \mid S_k)\cdot p(S_{k+1} \mid S_k,A_k) \\ & = \sum G_t \cdot \prod_{k=t}^{T-1}[\frac{\pi(A_k \mid S_k)}{b(A_k \mid S_k)}] \cdot b(A_k \mid S_k) \cdot p(S_{k+1} \mid S_k,A_k) \\ & = \sum \prod_{k=t}^{T-1}[\frac{\pi(A_k \mid S_k)}{b(A_k \mid S_k)}] \cdot G_t\prod_{k=t}^{T-1}[b(A_k \mid S_k) \cdot p(S_{k+1} \mid S_k,A_k)] \end{aligned} Eπ​[Gt​∣St​=s]​=∑Gt​⋅k=t∏T−1​π(Ak​∣Sk​)⋅p(Sk+1​∣Sk​,Ak​)=∑Gt​⋅k=t∏T−1​[b(Ak​∣Sk​)π(Ak​∣Sk​)​]⋅b(Ak​∣Sk​)⋅p(Sk+1​∣Sk​,Ak​)=∑k=t∏T−1​[b(Ak​∣Sk​)π(Ak​∣Sk​)​]⋅Gt​k=t∏T−1​[b(Ak​∣Sk​)⋅p(Sk+1​∣Sk​,Ak​)]​

  • 观察上式中的左半部分:由于蒙特卡洛策略评估过程中的目标策略 π ( a ∣ s ) \pi(a \mid s) π(a∣s)和行为策略 b ( a ∣ s ) b(a \mid s) b(a∣s)是给定的,因此 ∏ k = t T − 1 π ( A k ∣ S k ) b ( A k ∣ S k ) \prod_{k=t}^{T-1}\frac{\pi(A_k \mid S_k)}{b(A_k \mid S_k)} ∏k=tT−1​b(Ak​∣Sk​)π(Ak​∣Sk​)​是 可以直接求解的;可以将其理解成类似重要度采样中的重要度系数;使用符号 ρ t : T − 1 \rho_{t:T-1} ρt:T−1​表示。 ρ t : T − 1 = ∏ k = t T − 1 π ( A k ∣ S k ) b ( A k ∣ S k ) \rho_{t:T-1} = \prod_{k=t}^{T-1}\frac{\pi(A_k \mid S_k)}{b(A_k \mid S_k)} ρt:T−1​=k=t∏T−1​b(Ak​∣Sk​)π(Ak​∣Sk​)​
  • 上式中的右半部分:就是联合概率分布,只不过将各动作的服从策略由 π \pi π变成了 b b b。 ∏ k = t T − 1 [ b ( A k ∣ S k ) ⋅ p ( S k + 1 ∣ S k , A k ) ] = P ( A t , R t + 1 , S t + 1 , A t + 1 , . . . , S T ∣ S t = s , A t : T − 1 ∼ b ) \prod_{k=t}^{T-1}[b(A_k \mid S_k) \cdot p(S_{k+1} \mid S_k,A_k)] = P(A_t,R_{t+1},S_{t+1},A_{t+1},...,S_T \mid S_t=s,A_{t:T-1}\sim b) k=t∏T−1​[b(Ak​∣Sk​)⋅p(Sk+1​∣Sk​,Ak​)]=P(At​,Rt+1​,St+1​,At+1​,...,ST​∣St​=s,At:T−1​∼b)

综上,引入行为策略 b b b后,状态价值函数 V π ( s ) V_\pi(s) Vπ​(s)的最终化简结果为: V π ( s ) = ∑ ρ t : T − 1 ⋅ G t ⋅ P ( A t , R t + 1 , S t + 1 , A t + 1 , . . . , S T ∣ S t = s , A t : T − 1 ∼ b ) = E b [ ρ t : T − 1 ⋅ G t ∣ S t = s ] ≈ 1 N ∑ i = 1 N ρ t : T − 1 ⋅ G t ( i ) \begin{aligned} V_\pi(s) & = \sum \rho_{t:T-1} \cdot 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 b) \\ & = \mathbb E_b[\rho_{t:T-1} \cdot G_t \mid S_t =s] \\ & \approx \frac{1}{N} \sum_{i=1}^N \rho_{t:T-1} \cdot G_t^{(i)} \end{aligned} Vπ​(s)​=∑ρt:T−1​⋅Gt​⋅P(At​,Rt+1​,St+1​,At+1​,...,ST​∣St​=s,At:T−1​∼b)=Eb​[ρt:T−1​⋅Gt​∣St​=s]≈N1​i=1∑N​ρt:T−1​⋅Gt(i)​​

基于普通重要性采样的离轨策略方法总结

场景设计:

  • 状态(State) 设置为离散型随机变量,由 n n n种状态构成, S \mathcal S S表示状态集合, s k s_k sk​表示状态集合 S \mathcal S S中编号为 k k k的状态; S = { s 1 , s 2 , . . . , s n } \mathcal S=\{s_1,s_2,...,s_n\} S={s1​,s2​,...,sn​}

  • 动作(Action) 设置为离散型随机变量,由 m m m种动作构成, A \mathcal A A表示动作集合, a k a_k ak​表示动作集合 A \mathcal A A中编号为 k k k的动作; A = { a 1 , a 2 , . . . , a m } \mathcal A=\{a_1,a_2,...,a_m\} A={a1​,a2​,...,am​}

基于上述推导过程,状态价值函数 V π ( s ) V_\pi(s) Vπ​(s)可以通过行为策略 b b b采样方式进行求解:

  • 基于离轨策略蒙特卡洛评估,给定 目标策略 π ( a ∣ s ) \pi(a \mid s) π(a∣s)和行为策略 b ( a ∣ s ) b(a \mid s) b(a∣s): π ( a ∣ s ) = ( π ( a 1 ∣ s 1 ) π ( a 1 ∣ s 2 ) ⋯ π ( a 1 ∣ s n ) π ( a 2 ∣ s 1 ) π ( a 2 ∣ s 2 ) ⋯ π ( a 2 ∣ s n ) ⋮ ⋮ ⋱ ⋮ π ( a m ∣ s 1 ) π ( a m ∣ s 2 ) ⋯   π ( a m ∣ s n ) ) b ( a ∣ s ) = ( b ( a 1 ∣ s 1 ) b ( a 1 ∣ s 2 ) ⋯ b ( a 1 ∣ s n ) b ( a 2 ∣ s 1 ) b ( a 2 ∣ s 2 ) ⋯ b ( a 2 ∣ s n ) ⋮ ⋮ ⋱ ⋮ b ( a m ∣ s 1 ) b ( a m ∣ s 2 ) ⋯   b ( a m ∣ s n ) ) \pi(a \mid s) = \begin{pmatrix} \pi(a_1 \mid s_1) & \pi(a_1 \mid s_2) & \cdots & \pi(a_1 \mid s_n) \\ \pi(a_2 \mid s_1) & \pi(a_2 \mid s_2) & \cdots & \pi(a_2 \mid s_n) \\ \vdots & \vdots & \ddots & \vdots \\ \pi(a_m \mid s_1) & \pi(a_m \mid s_2) & \cdots\ & \pi(a_m \mid s_n) \\ \end{pmatrix} b(a \mid s) =\begin{pmatrix} b(a_1 \mid s_1) & b(a_1 \mid s_2) & \cdots & b(a_1 \mid s_n) \\ b(a_2 \mid s_1) & b(a_2 \mid s_2) & \cdots & b(a_2 \mid s_n) \\ \vdots & \vdots & \ddots & \vdots \\ b(a_m \mid s_1) & b(a_m \mid s_2) & \cdots\ & b(a_m \mid s_n) \end{pmatrix} π(a∣s)=⎝⎜⎜⎜⎛​π(a1​∣s1​)π(a2​∣s1​)⋮π(am​∣s1​)​π(a1​∣s2​)π(a2​∣s2​)⋮π(am​∣s2​)​⋯⋯⋱⋯ ​π(a1​∣sn​)π(a2​∣sn​)⋮π(am​∣sn​)​⎠⎟⎟⎟⎞​b(a∣s)=⎝⎜⎜⎜⎛​b(a1​∣s1​)b(a2​∣s1​)⋮b(am​∣s1​)​b(a1​∣s2​)b(a2​∣s2​)⋮b(am​∣s2​)​⋯⋯⋱⋯ ​b(a1​∣sn​)b(a2​∣sn​)⋮b(am​∣sn​)​⎠⎟⎟⎟⎞​

  • 执行: π ( a ∣ s ) b ( a ∣ s ) \frac{\pi(a \mid s)}{b(a \mid s)} b(a∣s)π(a∣s)​(对应元素相除),得到结果: π ( a ∣ s ) b ( a ∣ s ) = ( π ( a 1 ∣ s 1 ) b ( a 1 ∣ s 1 ) π ( a 1 ∣ s 2 ) b ( a 1 ∣ s 2 ) ⋯ π ( a 1 ∣ s n ) b ( a 1 ∣ s n ) π ( a 2 ∣ s 1 ) b ( a 2 ∣ s 1 ) π ( a 2 ∣ s 2 ) b ( a 2 ∣ s 2 ) ⋯ π ( a 2 ∣ s n ) b ( a 2 ∣ s n ) ⋮ ⋮ ⋱ ⋮ π ( a m ∣ s 1 ) b ( a m ∣ s 1 ) π ( a m ∣ s 2 ) b ( a m ∣ s 2 ) ⋯ π ( a m ∣ s n ) b ( a m ∣ s n ) ) \frac{\pi(a \mid s)}{b(a \mid s)} =\begin{pmatrix} \frac{\pi(a_1 \mid s_1)}{b(a_1 \mid s_1)} & \frac{\pi(a_1 \mid s_2)}{b(a_1 \mid s_2)} & \cdots & \frac{\pi(a_1 \mid s_n)}{b(a_1 \mid s_n)} \\ \frac{\pi(a_2 \mid s_1)}{b(a_2 \mid s_1)} & \frac{\pi(a_2 \mid s_2)}{b(a_2 \mid s_2)} & \cdots & \frac{\pi(a_2 \mid s_n)}{b(a_2 \mid s_n)} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\pi(a_m \mid s_1)}{b(a_m \mid s_1)} & \frac{\pi(a_m \mid s_2)}{b(a_m \mid s_2)} & \cdots & \frac{\pi(a_m \mid s_n)}{b(a_m \mid s_n)} \\ \end{pmatrix} b(a∣s)π(a∣s)​=⎝⎜⎜⎜⎜⎛​b(a1​∣s1​)π(a1​∣s1​)​b(a2​∣s1​)π(a2​∣s1​)​⋮b(am​∣s1​)π(am​∣s1​)​​b(a1​∣s2​)π(a1​∣s2​)​b(a2​∣s2​)π(a2​∣s2​)​⋮b(am​∣s2​)π(am​∣s2​)​​⋯⋯⋱⋯​b(a1​∣sn​)π(a1​∣sn​)​b(a2​∣sn​)π(a2​∣sn​)​⋮b(am​∣sn​)π(am​∣sn​)​​⎠⎟⎟⎟⎟⎞​ 将 ρ t : T − 1 \rho_{t:T-1} ρt:T−1​进行展开,得到如下结果: ρ t : T − 1 = ∏ k = t T − 1 π ( A k ∣ S k ) b ( A k ∣ S k ) = π ( A t ∣ S t ) b ( A t ∣ S t ) ⋅ π ( A t + 1 ∣ S t + 1 ) b ( A t + 1 ∣ S t + 1 ) ⋅ . . . ⋅ π ( A T − 1 ∣ S T − 1 ) b ( A T − 1 ∣ S T − 1 ) \rho_{t:T-1} = \prod_{k=t}^{T-1}\frac{\pi(A_k \mid S_k)}{b(A_k \mid S_k)} = \frac{\pi(A_t \mid S_t)}{b(A_t \mid S_t)} \cdot \frac{\pi(A_{t+1} \mid S_{t+1})}{b(A_{t+1} \mid S_{t+1})} \cdot ... \cdot \frac{\pi(A_{T-1} \mid S_{T-1})}{b(A_{T-1} \mid S_{T-1})} ρt:T−1​=k=t∏T−1​b(Ak​∣Sk​)π(Ak​∣Sk​)​=b(At​∣St​)π(At​∣St​)​⋅b(At+1​∣St+1​)π(At+1​∣St+1​)​⋅...⋅b(AT−1​∣ST−1​)π(AT−1​∣ST−1​)​ 针对状态-动作对的具体结果,到 π ( a ∣ s ) b ( a ∣ s ) \frac{\pi(a \mid s)}{b(a \mid s)} b(a∣s)π(a∣s)​矩阵中查找具体结果,最终得到 ρ t : T − 1 \rho_{t:T-1} ρt:T−1​;

  • 最终执行 ρ t : T − 1 ⋅ G t \rho_{t:T-1} \cdot G_t ρt:T−1​⋅Gt​,得到该情节 t t t时刻对应状态 S t = s S_t=s St​=s的一个样本; 同理,也可以通过计算 ρ x : T − 1 ⋅ G x \rho_{x:T-1} \cdot G_{x} ρx:T−1​⋅Gx​得到该情节 x x x时刻 (其他时刻)对应状态的样本。

注意: ρ t : T − 1 \rho_{t:T-1} ρt:T−1​只是当前情节下的重要度系数——一旦更换情节, ρ t : T − 1 \rho_{t:T-1} ρt:T−1​需要重新计算; 以首次访问型(first-visit)为例,当收集到足够多的情节,从而获取某状态 s ′ s' s′足够多的回报样本 G t → G_t \to Gt​→即可使用蒙特卡洛方法近似求解基于 s ′ s' s′的状态价值函数 V π ( s ′ ) V_\pi(s') Vπ​(s′),同理,最终近似求解所有状态的状态价值函数。

基于加权重要性采样的离轨策略方法

该方法的采样过程和普通重要性采样 完全相同,只是最后使用蒙特卡洛方法近似求解状态价值函数过程中,分母使用权重和替代样本数量。 V π ( s ) ≈ ∑ i = 1 N ρ t : T − 1 ⋅ G t ( i ) ∑ i = 1 N ρ t : T − 1 V_\pi(s) \approx \frac{\sum_{i=1}^N \rho_{t:T-1} \cdot G_t^{(i)}}{\sum_{i=1}^N \rho_{t:T-1}} Vπ​(s)≈∑i=1N​ρt:T−1​∑i=1N​ρt:T−1​⋅Gt(i)​​ 其目的是减小方差。在迭代过程中,尽量使行为策略 b b b接近目标策略 π \pi π。(推导过程详见:蒙特卡洛方法求解强化学习任务——离轨策略与重要性采样介绍)

下一节将介绍基于离轨策略方法的蒙特卡洛控制过程。

相关参考: 【强化学习】蒙特卡洛方法-离轨策略MC策略评估 深度强化学习原理、算法pytorch实战 —— 刘全,黄志刚编著

关注
打赏
1664446683
查看更多评论
立即登录/注册

微信扫码登录

0.4242s