蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估
蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估
- 目录
- 基于离轨策略的蒙特卡洛策略评估
- 基于普通重要性采样的离轨策略方法
- 基于普通重要性采样的离轨策略方法总结
- 基于加权重要性采样的离轨策略方法
目录
上一节针对同轨策略(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]=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)]⋅Gtk=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−1b(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−1b(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]≈N1i=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−1b(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实战 —— 刘全,黄志刚编著
蒙特卡洛方法求解强化学习任务——基于离轨策略的蒙特卡洛策略评估相关推荐
- 蒙特卡洛方法求解强化学习任务——蒙特卡洛方法介绍
蒙特卡洛方法求解强化学习任务--蒙特卡洛方法介绍 目录 概率的统计定义 大数定律 蒙特卡洛方法 动态规划方法的缺陷 相关参考 目录 本节从概率的统计定义.大数定律的角度介绍蒙特卡洛方法的思想,并简单介 ...
- 主要内容: 本文提出了一种基于(ppo)的微电网最优调度方法。 该方法采用强化学习(RL)来学习调度策略,并积累相应的调度知识。 同时,引入ppo模型,将微电网调度策略动作从离散动作空间扩展到连续动作
MATLAB代码:微电网 强化学习 关键词:微电网 强化学习 RL Reinforcement Learning 参考文档:<Optimal Scheduling of Microgrid Ba ...
- 多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏
大家好,今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文 Grandmaster level in StarCraft II using multi-agent reinforcement ...
- 深度强化学习:基于Python的理论及实践(英文版)
深度强化学习结合了深度学习和强化学习,使人工智能体能够在没有监督的情况下学习如何解决顺序决策问题.在过去的十年中,深度强化学习在一系列问题上取得了显著的成果,涵盖从单机游戏和多人游戏到机器人技术等方方 ...
- 7. 强化学习之——基于模型的强化学习
目录 课程大纲 基于模型的强化学习概要 基于环境模型的价值函数优化 model-based value-based RL 基于环境模型的策略优化 model-based policy-based RL ...
- 强化学习之无模型方法一:蒙特卡洛
无模型方法(model-free) 无模型方法是学习方法的一种,MDPs中如果P,R未知,则用无模型方法.该方法需要智能体与环境进行交互(交互的方式多样),一般采用样本备份,需要结合充分的探索. 由于 ...
- python求不规则图形面积_使用蒙特卡洛方法求解不规则图形的面积
使用蒙特卡洛方法求解不规则图形的面积 周绪达 [摘 要] [摘 要]蒙特卡洛方法是一种以计算机为工具,通过抽样统计作为手 段的一种解决问题的方法,在许多领域都有广泛应用.论文基于蒙特卡洛方法, 利用 ...
- 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)
强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...
- 强化学习(二):动态规划与蒙特卡洛方法
目录 1. 动态规划(Dynamic Programming, DP) 1.1. 策略评估(预测) 迭代策略评估 1.2. 策略改进(控制) 什么是更优的策略? 如何获得更优的策略? 1.3. 策略迭 ...
最新文章
- 【PAT乙级】1090 危险品装箱 (25 分)
- nDPI-dev分析
- 我的专业我的梦作文计算机,我的创新我的梦作文
- 计算机基础知识:什么是位、字节、字、KB、MB
- jenkins的JAVA简单顺序配置git仓库
- 用Anaconda3搭建自己的TensorFlow环境
- 跟着辛星认识一下PHP的自己主动载入
- Nachos操作系统实习-lab1
- 根据Debye公式计算海水介电常数及趋肤深度
- Docker安装Redis并介绍漂亮的可视化客户端进行操作
- 百度下拉关键词刷?具体步骤及方法
- 运维服务器环境梳理方案,运维工作梳理
- 小白网安学习日记(2) hacknet游戏(模拟黑客入侵的游戏)
- android实现记事本app
- 第二课 介绍:手绘墙画颜料选择
- 运兴ETF期权投教之50ETF期权新手雷区
- 怎么将word转换成excel表格格式最简单
- android Q屏幕录制,设备音频录制无声
- C语言程序设计作业04
- 英语语法浅述-动词、时态和语态
热门文章
- wordpress漏洞工具_40个有用的工具来管理和发展您的WordPress博客(已更新)
- 2019ACM南京网络赛 Holy Grail
- python3版本切换_让你在python2和3二个版本之间自由切换自由翱翔
- Java接口implements
- web课程设计网页规划与设计:中国风茶文化网站设计(6个页面) HTML+CSS+JavaScript...
- ie浏览器 ftp 直接打开 下载问题
- 计算机课程如何试讲,信息技术教师试讲说课稿
- Java实习或课设通用心得模板
- 原始部落 GHOSTXP_SP3 纯净版 V8.0
- android zbar编译,zbar android sdk在CentOS 7下的编译和使用