5. 蒙特卡洛方法

news2025/1/13 14:03:50

蒙特卡洛方法

    • 5. 离轨策略
      • 5.1 策略评估(基于重要度采样)
        • 5.1.1 计算目标策略下的状态值
        • 5.1.2 蒙特卡洛算法(状态值估计)
        • 5.1.3 增量式的实现
      • 5.2 策略迭代
      • 5.3 减少重要性采样方差的方法
        • 5.3.1 折扣敏感的重要性采样
        • 5.3.2 每决策重要性抽样

5. 离轨策略

所有控制方法存在探索与利用的问题:一方面,希望学到的动作使得随后智能体的行为最优; 另一方面,需要采取非最优的行动,来探索所有的动作(来保证找到最优的动作)。

如何既能够学到最优策略,又能够在实际中多探索呢?

同轨策略:实际上是一个妥协,学习的并非最优策略的动作值,而是学习一个接近最优但仍然保留了探索的策略的动作值。

离轨策略:更直截了当,使用两个策略,一个策略用来学习最优策略,另一个则更具探索性地用来产生行为。 用来学习的策略称为 目标策略 ,另一个用来生成行为的称作 行为策略 。 学习所用数据离开了待学习的目标策略,故称为“离轨策略”。

  1. 离轨策略方法通常拥有更大的方差,收敛更慢,因为数据是由另一个不同的策略产生的。
  2. 离轨策略方法更强大且更一般化,它包括同轨策略方法作为特殊情况(目标和行为策略相同)。

离轨策略方法在应用程序中也有各种其他用途。例如,能够从非传统学习器或人类专家生成的数据中学习;还被看成是学习多步预测模型的关键,该模型常被用来预测现实世界的动力学

5.1 策略评估(基于重要度采样)

思路:由另一个策略 b b b b ≠ π {b} \neq \pi b=π)得到的若干幕样本估计 v π v_\pi vπ 或者 q π q_\pi qπ π \pi π 是目标策略, b b b 是行为策略。本节,这两种策略都设定为已知且固定。

设定:覆盖(coverage) 假设,确定性的目标策略

  1. 为了使用策略 b b b 得到的若干幕样本来估计 π \pi π 的价值,我们要求在策略 π \pi π 下做出的动作也能,至少时不时 地在策略 b b b 下做出。就是说,我们需要当 π ( a ∣ s ) > 0 \pi(a \mid s)>0 π(as)>0 b ( a ∣ s ) > 0 b(a \mid s)>0 b(as)>0 。这个称为 覆盖(coverage) 假设。
  2. 对特定的状态,策略 b b b 必须是随机且不等于 π \pi π 。 另一方面,目标策略 π \pi π 可以是确定性的。在控制问题中,目标策略一般对当前的动作价值函数是确定性的贪心策略。这个策略变成确定性的最优策略的同时,行为策略还能保持随机性和更多的探索性,例如 ϵ \epsilon ϵ- 贪心策略。本节,策略是给定的和固定的。

5.1.1 计算目标策略下的状态值

几乎所有的离轨策略方法使用了 重要性采样(这是一个通用的技术,用来估计随机变量在一个分布上 的期望值,但是采样的样本来自另一个分布),思路是利用目标和行为策略下得到发生的事件轨迹的概率,计算重要性采样率(两个概率的比值),将得到的回报加权。

给定初始状态 S t S_t St ,那么在策略 π \pi π 下,接下来的状态动作轨迹 A t , S t + 1 , A t + 1 , … , S T A_t, S_{t+1}, A_{t+1}, \ldots, S_T At,St+1,At+1,,ST 发生的概 率是
Pr ⁡ { A t , S t + 1 , A t + 1 , … , S T ∣ S t , A t : T − 1 ∼ π } = π ( A t ∣ S t ) p ( S t + 1 ∣ S t , A t ) π ( A t + 1 ∣ S t + 1 ) ⋯ p ( S T ∣ S T − 1 , A T − 1 ) = ∏ k = t T − 1 π ( A k ∣ S k ) p ( S k + 1 ∣ S k , A k ) \begin{aligned} & \operatorname{Pr}\left\{A_t, S_{t+1}, A_{t+1}, \ldots, S_T \mid S_t, A_{t: T-1} \sim \pi\right\} \\ & =\pi\left(A_t \mid S_t\right) p\left(S_{t+1} \mid S_t, A_t\right) \pi\left(A_{t+1} \mid S_{t+1}\right) \cdots p\left(S_T \mid S_{T-1}, A_{T-1}\right) \\ & =\prod_{k=t}^{T-1} \pi\left(A_k \mid S_k\right) p\left(S_{k+1} \mid S_k, A_k\right) \end{aligned} Pr{At,St+1,At+1,,STSt,At:T1π}=π(AtSt)p(St+1St,At)π(At+1St+1)p(STST1,AT1)=k=tT1π(AkSk)p(Sk+1Sk,Ak)
其中, p p p 是状态转移概率函数。因此,在目标策略和行为策略下的该轨 迹的发生的相对概率为 (即重要性采样率)
ρ t : T − 1 ≐ ∏ k = t T − 1 π ( A k ∣ S k ) p ( S k + 1 ∣ S k , A k ) ∏ k = t T − 1 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 ) \rho_{t: T-1} \doteq \frac{\prod_{k=t}^{T-1} \pi\left(A_k \mid S_k\right) p\left(S_{k+1} \mid S_k, A_k\right)}{\prod_{k=t}^{T-1} b\left(A_k \mid S_k\right) p\left(S_{k+1} \mid S_k, A_k\right)}=\prod_{k=t}^{T-1} \frac{\pi\left(A_k \mid S_k\right)}{b\left(A_k \mid S_k\right)} ρt:T1k=tT1b(AkSk)p(Sk+1Sk,Ak)k=tT1π(AkSk)p(Sk+1Sk,Ak)=k=tT1b(AkSk)π(AkSk)
注意:上式中的轨迹的概率依赖于MDP的转移概率(常常是末知的),但是它们在分子和分母中都 是相同的,能够被消掉。即是说,重要性采样率最终仅仅依赖于两个策略和序列,而与MDP无 关。

我们希望估算目标策略下的预期回报(价值),但由于行为策略,我们所有的回报都是 G t G_t Gt 。 这些回报具有错误的期望 E [ G t ∣ S t = s ] = v b ( s ) \mathbb{E}\left[G_t \mid S_t=s\right]=v_b(s) E[GtSt=s]=vb(s) ,因此不能平均得到 v π v_\pi vπ 。 这是重要性抽样 的来源。比率 ρ t : T − 1 \rho_{t: T-1} ρt:T1 将收益转换为具有正确的期望值:
E [ ρ t : T − 1 G t ∣ S t = s ] = v π ( s ) \mathbb{E}\left[\rho_{t: T-1} G_t \mid S_t=s\right]=v_\pi(s) E[ρt:T1GtSt=s]=vπ(s)

5.1.2 蒙特卡洛算法(状态值估计)

算法使用行为策略 b b b 下的一批观察到的若干幕样本来估计 v π ( s ) v_\pi(s) vπ(s)

设定:将时间步调设置为穿过回合的递增形式,即下一个回合开始时的时间步调不清零,而是 接着上个回合的末尾加一。比如,这一批的回合中,第一回合在时间 100 的时候结束,那么下一 个回合在时间 t = 101 t=101 t=101 开始。这使我们能够使用时间步调来指代特定回合中的时间步调。

  1. 对于每次访问,定义一个集合表示状态 s s s 被访问到的时间步调,记为 T ( s ) \mathcal{T}(s) T(s)
  2. 对于首次访问 T ( s ) \mathcal{T}(s) T(s) 只包含第一次访问 s s s 的时间步调。然后, T ( t ) T(t) T(t) 表示第一次回合结束的时间, G t G_t Gt 表示 t t t 之后到 T ( t ) T(t) T(t) 的回报。集合 { G t } t ∈ T ( s ) \left\{G_t\right\}_{t \in \mathcal{T}(s)} {Gt}tT(s) 表示状态 s s s 的所有回报, { ρ t : T ( t ) − 1 } t ∈ T ( s ) \left\{\rho_{t: T(t)-1}\right\}_{t \in \mathcal{T}(s)} {ρt:T(t)1}tT(s) 表示对应的重要性采样率。

采样方法:考虑首次访问的蒙特卡洛算法,有两种采样方法,分别是普通重要性采样和加权重要性采样。

  • 普通重要性采样:为了估计 v π ( s ) v_\pi(s) vπ(s) ,我们用重要性采样率来缩放回报, 然后求平均:
    V ( s ) ≐ ∑ t ∈ T ( s ) ρ t : T ( t ) − 1 G t ∣ T ( s ) ∣ . V(s) \doteq \frac{\sum_{t \in \mathcal{T}(s)} \rho_{t: T(t)-1} G_t}{|\mathcal{T}(s)|} . V(s)T(s)tT(s)ρt:T(t)1Gt.

  • 加权重要性采样 (weighted importance sampling):它使用了加权平均,定义为
    V ( s ) ≐ ∑ t ∈ T ( s ) ρ t : T ( t ) − 1 G t ∑ t ∈ T ( s ) ρ t : T ( t ) − 1 V(s) \doteq \frac{\sum_{t \in \mathcal{T}(s)} \rho_{t: T(t)-1} G_t}{\sum_{t \in \mathcal{T}(s)} \rho_{t: T(t)-1}} V(s)tT(s)ρt:T(t)1tT(s)ρt:T(t)1Gt
    若分母为零,加权重要性采样也为零。

两种方法比较加权重要性采样普通重要性采样
在观察状态 s s s 的单幕回报后的估计分子分母中的 ρ t : T ( t ) − 1 \rho_{t: T(t)-1} ρt:T(t)1 可 以消掉, 因此这时它就等于我们观察到的回报,与重要性采样率无关(假设重要性采样率不为 零)。由于只有一个回报被观察到,所以这是一个合理的估计。但是,它的期望值应该是 v b ( s ) v_b(s) vb(s) 而 不是 v π ( s ) v_\pi(s) vπ(s) 。从统计意义上看,这是有偏估计。首次访问版本 的期望值始终是 v π ( s ) v_\pi(s) vπ(s) (这是无偏的),但它可能会很大。假设重要性采样率为十,即对观察到的 轨迹,目标策略发生的可能性是行为策略的十倍。这种情况下,采用原始重要性采样方法的估计值 是观察到的回报的 十倍。它可能与观察到的回报相差太大了,即使当前的轨迹可以很好的表示目 标策略。
偏差和方差表示估计是无偏的,方差一般是无界 的,因为它的重要性采样率的方差是无界的有偏的(偏差会渐进地趋于零),任意单个回报的最大权重是1。 事实上,假设回报是有界的,即使重要性采样率为无限,加权重要性采样的方差也是趋于零的

实践中,由于加权重要性采样方差更小,一般更偏向于 使用它。然而,我们不能完全放弃原始重要性采样,因为使用函数近似,它更容易扩展到近似的方法。我们将在本书的第二部分介绍近似方法。

5.1.3 增量式的实现

蒙特卡洛预测方法可以用增量式的方式,用回合式的形式,拓展在第二章 (2.4节) 提到的的技术实现。第二章中我们平均 奖励,蒙特卡洛方法中,我们平均 回报

  • 同轨策略蒙特卡洛方法:其他第二章所 用到的都可以用。
  • 离轨策略蒙特卡洛方法:需要分别考虑 原始重要性采样和加权重要性采样两种情况。
加权重要性采样普通重要性采样
需要生成对回报 值的加权平均,所以需要一个稍有不同的增量式算法回报值会被重要性采样率 ρ t : T ( t ) − 1 \rho_{t: T(t)-1} ρt:T(t)1 (式5.3) 所缩放,然后再求平均(式 5.5)。对于这些方法,我们可以再次使用第二章用到的增量式的方法,但使用缩放的回报值代替 第二章所用的奖励值

加权重要性采样:假设我们有一系列的回报值 G 1 , G 2 , … , G n − 1 G_1, G_2, \ldots, G_{n-1} G1,G2,,Gn1 ,都是从相同的状态开始的,且每个回报值对应一 个随机的权值 W i W_i Wi (比如 W i = ρ t i : T ( t i ) − 1 W_i=\rho_{t_i: T\left(t_i\right)-1} Wi=ρti:T(ti)1 )。我们希望表示估计值
然后在每获得一个额外的回报 G n G_n Gn 时保持更新。除了跟踪 V n V_n Vn ,我们还必须保持给定前 n n n 个回报下 每个状态的累积权值 C n C_n Cn V n V_n Vn 的更新规则是
V n + 1 ≐ V n + W n C n [ G n − V n ] , n ≥ 1 C n + 1 ≐ C n + W n + 1 , V_{n+1} \doteq V_n+\frac{W_n}{C_n}\left[G_n-V_n\right], \quad n \geq 1\\ C_{n+1} \doteq C_n+W_{n+1}, Vn+1Vn+CnWn[GnVn],n1Cn+1Cn+Wn+1,
这里 C 0 ≐ 0 C_0 \doteq 0 C00 (且 V 1 V_1 V1 是随机的,因此需要一个具体值)。

算法:用于离轨策略加权重要性采样蒙特卡洛策略估计的完整多幕式的增量式算法(用于同轨策略时,让目标策略和行为策略一样, W W W 始终是1)。近似值 Q Q Q 收敛到 q π q_\pi qπ (对所有的出现的状态-动作对),而动作由另一个潜在的不 同策略 b b b 提供。

在这里插入图片描述

5.2 策略迭代

回顾:同轨策略的显著特点是,它在估计策略值的同时也用于控制。而离轨策略方法中,这两个功能是分开的,用于产生行为的策略称作行为策略,与要评估和提升的目标 策略无关。 分开的好处是目标策略可以是确定性的(即,贪心的),同时行为策略能持续访问所有的动作。它们跟随行为策略的同时,学习和提升目标策略。 其中,行为策略选择所有动作的概率是非零的(行为策略是软(soft)的),这些动作可能会被目标策略选择到(覆盖)。

算法:下边的框里展示了一个离策略蒙特卡洛方法来估计 π ∗ \pi_* π q ∗ q_* q ,它是基于广义策略迭代 (GPI) 和加 权重要性采样的。

目标策略 π ≈ π ∗ \pi \approx \pi_* ππ 是对于 Q Q Q 的贪心策略, Q Q Q q π q_\pi qπ 的估计。行为策略 b b b 可以是 任何的策略,但是为了保证 π \pi π 能收敛到最优策略,对每对状态动作对,都需要收集无限次的回报。 这一点可以通过选择 b b b ϵ \epsilon ϵ软性 来保证。

收敛性分析:即使动作是由另一个软策略 b b b 选择的,且策略 b b b 可能 在回合之间甚至回合中改变,策略 π \pi π 也能在所有遇到的状态收敛到最优。

在这里插入图片描述

潜在的问题及解决方法:当所有剩下的动作是贪心的时候,这个方法只能从回合的尾部学习。如果非贪 心的动作出现很多的话,学习过程会很慢,特别是对于长回合开始出现的状态而言,潜在地,这可 能会大大减慢学习速度。

当然,还没有足够的经验表明这在离策略蒙特卡洛方法中是个严重的问 题。如果这个问题很严重,那么处理它最重要的方式是结合时序差分学习 (temporal-difference) 来讲,这个算法将在下一章见到。或者,如果 γ \gamma γ 小于 1 ,下一节的方法也会管用。

5.3 减少重要性采样方差的方法

基于重要性采样的离策略将回报看成一个整体,对回报进行加权, 而并没有考虑到回报内在的结构是折扣奖励的和。 这一节的两个方法使用这个回报的结构来减少离策略估计的方差。

5.3.1 折扣敏感的重要性采样

回报的结构与方差的关系:考虑回合很长且 γ \gamma γ 远小于 1的情形 。假设回合有 100 个时间步长, γ = 0 \gamma=0 γ=0 ,那么时刻O的回报恰好是 G 0 = R 1 G_0=R_1 G0=R1 ,但它的重要的采样率将会是一百个参数的乘积,
π ( A 0 ∣ S 0 ) b ( A 0 ∣ S 0 ) π ( A 1 ∣ S 1 ) b ( A 1 ∣ S 1 ) ⋯ π ( A 99 ∣ S 99 ) b ( A 99 ∣ S 99 ) \frac{\pi\left(A_0 \mid S_0\right)}{b\left(A_0 \mid S_0\right)} \frac{\pi\left(A_1 \mid S_1\right)}{b\left(A_1 \mid S_1\right)} \cdots \frac{\pi\left(A_{99} \mid S_{99}\right)}{b\left(A_{99} \mid S_{99}\right)} b(A0S0)π(A0S0)b(A1S1)π(A1S1)b(A99S99)π(A99S99)
对于原始重要性采样而言,回报会被上述的乘积所缩放,但是, 真正起作用的是第一项,即 π ( A 0 ∣ S 0 ) b ( A 0 ∣ S 0 ) \frac{\pi\left(A_0 \mid S_0\right)}{b\left(A_0 \mid S_0\right)} b(A0S0)π(A0S0) ,而与其他 99 项 π ( A 1 ∣ S 1 ) b ( A 1 ∣ S 1 ) ⋯ π ( A 99 ∣ S 99 ) b ( A 99 ∣ S 99 ) \frac{\pi\left(A_1 \mid S_1\right)}{b\left(A_1 \mid S_1\right)} \cdots \frac{\pi\left(A_{99} \mid S 99\right)}{b\left(A_{99} \mid S_{99}\right)} b(A1S1)π(A1S1)b(A99S99)π(A99S99) 的乘积无关。因 为,第一个奖励后,回报就已经决定了,之后的乘积项与回报值独立且期望为 1 ;它们并不改变期望值,但是增加了许多方差。一些情况下甚至产生无限大的方差。

思路(平价部分回报):将折扣 γ \gamma γ视为某幕结束的概率,或者部分结束的程度 (degree) 。

对所有的 γ ∈ [ 0 , 1 ) \gamma \in[0,1) γ[0,1) ,我们考虑回报 G 0 G_0 G0 是有 1 − γ 1-\gamma 1γ 的度,在第一步后部分结束,产生只有一个奖励 R 1 R_1 R1 的 回报; 有 ( 1 − γ ) γ (1-\gamma) \gamma (1γ)γ 的度,在第二步后结束,产生 R 1 + R 2 R_1+R_2 R1+R2 的回报,等等。以二步为例, ( 1 − γ ) γ (1-\gamma) \gamma (1γ)γ 对应二步结束的度,其中, γ \gamma γ 表示第一步不结束的度, 1 − γ 1-\gamma 1γ 表示第二步结束的度。又 比如,第三步后结束的度为 ( 1 − γ ) γ 2 (1-\gamma) \gamma^2 (1γ)γ2 ,其中 γ 2 \gamma^2 γ2 表示第一步第二步都没有结束的度。这个部分的 回报我们称为 平坦部分回报 (flat partial returns) :
G ˉ t : h ≐ R t + 1 + R t + 2 + ⋯ + R h , 0 ≤ t < h ≤ T \bar{G}_{t: h} \doteq R_{t+1}+R_{t+2}+\cdots+R_h, \quad 0 \leq t<h \leq T Gˉt:hRt+1+Rt+2++Rh,0t<hT
其中,“平坦”表示缺少折扣,“部分”表示这些回报只算到第 h h h 步,不用一直算到结束, h h h 称为 水平 线 (horizon) ( T T T 是回合结束的时间)。

用平价部分回报改写状态值:传统的 G t G_t Gt 可以看成是这些部分平坦回报的和:
G t ≐ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ + γ T − t − 1 R T = ( 1 − γ ) R t + 1 + ( 1 − γ ) γ ( R t + 1 + R t + 2 ) + ( 1 − γ ) γ 2 ( R t + 1 + R t + 2 + R t + 3 ) ⋮ + ( 1 − γ ) γ T − t − 2 ( R t + 1 + R t + 2 + ⋯ + R T ) + γ T − t − 1 ( R t + 1 + R t + 2 + ⋯ + R T ) = ( 1 − γ ) ∑ h = t + 1 T − 1 γ h − t − 1 G ˉ t : h + γ T − t − 1 G ˉ t : T \begin{aligned} G_t \doteq & R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots+\gamma^{T-t-1} R_T \\ = & (1-\gamma) R_{t+1} \\ & +(1-\gamma) \gamma\left(R_{t+1}+R_{t+2}\right) \\ & +(1-\gamma) \gamma^2\left(R_{t+1}+R_{t+2}+R_{t+3}\right) \\ & \vdots \\ & +(1-\gamma) \gamma^{T-t-2}\left(R_{t+1}+R_{t+2}+\cdots+R_T\right) \\ & +\gamma^{T-t-1}\left(R_{t+1}+R_{t+2}+\cdots+R_T\right) \\ & =(1-\gamma) \sum_{h=t+1}^{T-1} \gamma^{h-t-1} \bar{G}_{t: h}+\gamma^{T-t-1} \bar{G}_{t: T} \end{aligned} Gt=Rt+1+γRt+2+γ2Rt+3++γTt1RT(1γ)Rt+1+(1γ)γ(Rt+1+Rt+2)+(1γ)γ2(Rt+1+Rt+2+Rt+3)+(1γ)γTt2(Rt+1+Rt+2++RT)+γTt1(Rt+1+Rt+2++RT)=(1γ)h=t+1T1γht1Gˉt:h+γTt1Gˉt:T
现在我们需要使用重要性采样率来缩放平坦部分回报,这与截断相似。由于 G t : h G_{t: h} Gt:h 只包含了到水平 线 h h h 的奖励,我们只需要到 h h h 的概率的比率。

  • 现在像式5.5那样定义一个原始重要性采样估计器
    V ( s ) ≐ ∑ t ∈ T ( s ) ( ( 1 − γ ) ∑ h = t + 1 T ( t ) − 1 γ h − t − 1 ρ t : h − 1 G ˉ t : h + γ T ( t ) − t − 1 ρ t : T ( t ) − 1 G ˉ t : T ( t ) ) ∣ T ( s ) ∣ V(s) \doteq \frac{\sum_{t \in \mathcal{T}(s)}\left((1-\gamma) \sum_{h=t+1}^{T(t)-1} \gamma^{h-t-1} \rho_{t: h-1} \bar{G}_{t: h}+\gamma^{T(t)-t-1} \rho_{t: T(t)-1} \bar{G}_{t: T(t)}\right)}{|\mathcal{T}(s)|} V(s)T(s)tT(s)((1γ)h=t+1T(t)1γht1ρt:h1Gˉt:h+γT(t)t1ρt:T(t)1Gˉt:T(t))
  • 像式5.6那样,定义一个加权重要性采样估计器
    V ( s ) ≐ ∑ t ∈ T ( s ) ( ( 1 − γ ) ∑ h = t + 1 T ( t ) − 1 γ h − t − 1 ρ t : h − 1 G ˉ t : h + γ T ( t ) − t − 1 ρ t : T ( t ) − 1 G ˉ t : T ( t ) ) ∑ t ∈ T ( s ) ( ( 1 − γ ) ∑ h = t + 1 T ( t ) − 1 γ h − t − 1 ρ t : h − 1 + γ T ( t ) − t − 1 ρ t : T ( t ) − 1 ) V(s) \doteq \frac{\sum_{t \in \mathcal{T}(s)}\left((1-\gamma) \sum_{h=t+1}^{T(t)-1} \gamma^{h-t-1} \rho_{t: h-1} \bar{G}_{t: h}+\gamma^{T(t)-t-1} \rho_{t: T(t)-1} \bar{G}_{t: T(t)}\right)}{\sum_{t \in \mathcal{T}(s)}\left((1-\gamma) \sum_{h=t+1}^{T(t)-1} \gamma^{h-t-1} \rho_{t: h-1}+\gamma^{T(t)-t-1} \rho_{t: T(t)-1}\right)} V(s)tT(s)((1γ)h=t+1T(t)1γht1ρt:h1+γT(t)t1ρt:T(t)1)tT(s)((1γ)h=t+1T(t)1γht1ρt:h1Gˉt:h+γT(t)t1ρt:T(t)1Gˉt:T(t))

我们称上述两种估计器 折扣感知 (discounting-aware) 重要性采样估计器。它们考虑了折扣率,但 如果 γ = 1 \gamma=1 γ=1 则没有影响 (与5.5节离策略估计器一样)。

5.3.2 每决策重要性抽样

思路:将回报结构作为奖励总和考虑在内,取期望后根据随机重要度采样比与收益的相关性,回报可以得到简化,这样的方法即使在没有折扣的情况下 (即 γ = 1 \gamma=1 γ=1 ) 也可以减少方差。

在离策略估计器5.5和5.6中,和中的每个元素本身也 是和:
ρ t : T − 1 G t = ρ t : T − 1 ( R t + 1 + γ R t + 2 + ⋯ + γ T − t − 1 R T ) = ρ t : T − 1 R t + 1 + γ ρ t : T − 1 R t + 2 + ⋯ + γ T − t − 1 ρ t : T − 1 R T \begin{aligned} \rho_{t: T-1} G_t & =\rho_{t: T-1}\left(R_{t+1}+\gamma R_{t+2}+\cdots+\gamma^{T-t-1} R_T\right) \\ & =\rho_{t: T-1} R_{t+1}+\gamma \rho_{t: T-1} R_{t+2}+\cdots+\gamma^{T-t-1} \rho_{t: T-1} R_T \end{aligned} ρt:T1Gt=ρt:T1(Rt+1+γRt+2++γTt1RT)=ρt:T1Rt+1+γρt:T1Rt+2++γTt1ρt:T1RT
离策略估计器依赖于这些值的期望;我们尝试用更简单的方式表达出来。每个元 素是一个随机奖励和一个随机重要性采样率的乘积。比如,第一个元素,
ρ t : T − 1 R t + 1 = π ( A t ∣ S t ) b ( A t ∣ S t ) π ( A t + 1 ∣ S t + 1 ) b ( A t + 1 ∣ S t + 1 ) π ( A t + 2 ∣ S t + 2 ) b ( A t + 2 ∣ S t + 2 ) ⋯ π ( A T − 1 ∣ S T − 1 ) b ( A T − 1 ∣ S T − 1 ) R t + 1 \rho_{t: T-1} R_{t+1}=\frac{\pi\left(A_t \mid S_t\right)}{b\left(A_t \mid S_t\right)} \frac{\pi\left(A_{t+1} \mid S_{t+1}\right)}{b\left(A_{t+1} \mid S_{t+1}\right)} \frac{\pi\left(A_{t+2} \mid S_{t+2}\right)}{b\left(A_{t+2} \mid S_{t+2}\right)} \cdots \frac{\pi\left(A_{T-1} \mid S_{T-1}\right)}{b\left(A_{T-1} \mid S_{T-1}\right)} R_{t+1} ρt:T1Rt+1=b(AtSt)π(AtSt)b(At+1St+1)π(At+1St+1)b(At+2St+2)π(At+2St+2)b(AT1ST1)π(AT1ST1)Rt+1
在所有这些项中,我们可以猜想,上式中只有第一项和最后一项(奖励)是相关的;所有其他都是 与奖励后发生的事件有关,他们的期望值是:
E [ π ( A k ∣ S k ) b ( A k ∣ S k ) ] = ∑ a b ( a ∣ S k ) π ( a ∣ S k ) b ( a ∣ S k ) = ∑ a π ( a ∣ S k ) = 1 \mathbb{E}\left[\frac{\pi\left(A_k \mid S_k\right)}{b\left(A_k \mid S_k\right)}\right]=\sum_a b\left(a \mid S_k\right) \frac{\pi\left(a \mid S_k\right)}{b\left(a \mid S_k\right)}=\sum_a \pi\left(a \mid S_k\right)=1 E[b(AkSk)π(AkSk)]=ab(aSk)b(aSk)π(aSk)=aπ(aSk)=1
通过更多几个步骤可以证明,如所猜想的那样,所有这些其他项对期望没有影响,换句话说,
E [ ρ t : T − 1 R t + 1 ] = E [ ρ t : t R t + 1 ] \mathbb{E}\left[\rho_{t: T-1} R_{t+1}\right]=\mathbb{E}\left[\rho_{t: t} R_{t+1}\right] E[ρt:T1Rt+1]=E[ρt:tRt+1]
如果对5.11中第k项重复上述的分析,我们得到
E [ ρ t : T − 1 R t + k ] = E [ ρ t : t + k − 1 R t + k ] \mathbb{E}\left[\rho_{t: T-1} R_{t+k}\right]=\mathbb{E}\left[\rho_{t: t+k-1} R_{t+k}\right] E[ρt:T1Rt+k]=E[ρt:t+k1Rt+k]
将上述结果代入式5.11,可以得到
E [ ρ t : T − 1 G t ] = E [ G ~ t ] G ~ t = ρ t : t R t + 1 + γ ρ t : t + 1 R t + 2 + γ 2 ρ t : t + 2 R t + 3 + ⋯ + γ T − t − 1 ρ t : T − 1 R T \mathbb{E}\left[\rho_{t: T-1} G_t\right]=\mathbb{E}\left[\tilde{G}_t\right]\\ \tilde{G}_t=\rho_{t: t} R_{t+1}+\gamma \rho_{t: t+1} R_{t+2}+\gamma^2 \rho_{t: t+2} R_{t+3}+\cdots+\gamma^{T-t-1} \rho_{t: T-1} R_T E[ρt:T1Gt]=E[G~t]G~t=ρt:tRt+1+γρt:t+1Rt+2+γ2ρt:t+2Rt+3++γTt1ρt:T1RT

改写状态值的估计器:上述思想我们称作每决策 (per-decision) 重要性采样。

  • 重要性采样估计器的替代算法:
    V ( s ) ≐ ∑ t ∈ T ( s ) G ~ t ∣ T ( s ) ∣ V(s) \doteq \frac{\sum_{t \in \mathcal{T}(s)} \tilde{G}_t}{|\mathcal{T}(s)|} V(s)T(s)tT(s)G~t
  • 加权重要性采样的替代算法不太清楚是否存在。目前为止,这样的估计器都是非一致的(即无限数据也不能让他们收敛到正确的值)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/178906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

go 语言 string 类型思考

string 作为 go 语言中的基础类型&#xff0c;其实有一些需要反复揣摩的&#xff0c;可能是我们使用的场景太简单&#xff0c;也可能是我们不需要那可怜的一点优化来提高性能&#xff0c;对它也就没那么上心了。 文章运行环境&#xff1a;go version go1.16.6 darwin/amd64 并…

浅析Java中的final关键字

一.final关键字的基本用法 在Java中&#xff0c;final关键字可以用来修饰类、方法和变量&#xff08;包括成员变量和局部变量&#xff09;。下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类 当用final修饰一个类时&#xff0c;表明这个类不能被继承。也就是说&a…

ACL访问控制的基本实例

典型案例&#xff1a; 配置需求∶ 在Router上部署基本ACL后&#xff0c;ACL将试图穿越Router的源地址为192.168.1.0/24网段的数据包过滤掉&#xff0c;并放行其他流量&#xff0c;从而禁止192.168.1.0/24网段的用户访问Router右侧的服务器网络。 配置&#xff1a; 1、Router已…

第三章 变量

一、数据类型&#xff08;P40&#xff09; 每一种数据都定义了明确的数据类型&#xff0c;在内存中分配了不同大小的内存空间(字节)。二、整数类型 整型的使用细节&#xff1a; &#xff08;1&#xff09;Java 各整数类型有固定的范围和字段长度&#xff0c;不受具体OS【操作系…

Java多线程(四)——ThreadPoolExecutor源码解析

ThreadPoolExecutor源码解析 多线程场景下&#xff0c;手动创建线程有许多缺点&#xff1a; 频繁创建、销毁线程会消耗大量 CPU 资源&#xff0c;销毁线程后需要被回收&#xff0c;对 GC 垃圾回收也有一定的压力 使用线程池有许多好处&#xff1a; 降低 CPU 资源消耗。通过…

Linux运维之解决服务器挖矿木马问题

文章目录1 挖矿木马1.1 定义1.2 挖矿特征1.3 解决挖矿木马1.3.1 阻断异常网络通信&#xff08;非必需&#xff09;1.3.2 清除定时任务1.3.3 清除启动项1.3.4 清除SSH公钥1.3.5 清除木马进程1.4 其他常见问题1.4.1 清除木马后又100%1.4.2 CPU占用100%却看不到进程1 挖矿木马 1.…

Python OS 文件目录方法 os.walk()

Python OS 文件/目录方法 os.walk() 概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名&#xff0c;向上或者向下。 os.walk() 方法是一个简单易用的文件、目录遍历器&#xff0c;可以帮助我们高效的处理文件、目录方面的事情。 在Unix&#xff0c;Windows中…

BFS(三)腐烂的橘子(感染问题)

994. 腐烂的橘子 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b; 值 1 代表新鲜橘子&#xff1b; 值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的…

领导看到我自用的IDEA插件,也回去悄悄安装了...

现在哪有程序员离得开 Idea 啊&#xff01;没有 Idea 的程序员那还有灵魂吗&#xff1f;那没有&#xff01;既然我们都用 Idea&#xff0c;如何提高 Idea 的开发效率&#xff0c;在开发工具上&#xff0c;我们就卷掉其他小伙伴呢&#xff01;今天鸡翅老哥就来给大家介绍几款我一…

函数的认识

文章目录 函数是什么库函数 自定义函数 函数参数 函数调用 函数的嵌套调用和链式访问 函数的声明和定义 函数递归一、函数是什么 维基百科中对函数的定义&#xff1a;子程序在计算机科学中&#xff0c;子程序&#xff08;英语&#xff1a;Subroutine, procedure, functio…

SpringBoot+Vue项目课程作业管理系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

NodeJS Web 框架 Express 之路由

NodeJS Web 框架 Express 之路由参考描述路由路由匹配规则顺序匹配模块化创建使用前缀参考 项目描述哔哩哔哩黑马程序员搜索引擎Bing 描述 项目描述Edge109.0.1518.61 (正式版本) (64 位)NodeJSv18.13.0nodemon2.0.20Express4.18.2 路由 在 Web 中&#xff0c;路由可以理解为…

体验 micronaut 微服务框架

体验 micronaut 微服务框架谁在使用 MICRONAUT主要特点代码示例展示几点特性原生云原生安装 Micronaut 命令行工具创建一个 MICRONAUT 应用程序MICRONAUT是基于 JVM 的现代全栈框架&#xff0c;用于构建模块化、易于测试的微服务和无服务器应用程序。 谁在使用 MICRONAUT 主要…

数学建模——评价算法

层次分析法&#xff08;AHP&#xff09; 步骤 1.建立层次结构模型&#xff1b; 2.构造判断(成对比较)矩阵&#xff1b; 3.层次单排序及其一致性检验&#xff1b; 4.层次总排序及其一致性检验&#xff1b; 建立层次结构模型 将决策的目标、考虑的因素(决策准则)和决策对象按…

【HBase入门】5. 常用 Shell 操作(2)

前言 我们可以以shell的方式来维护和管理HBase。例如&#xff1a;执行建表语句、执行增删改查操作等等。 导入测试数据集 需求 在资料的 数据集/ ORDER_INFO.txt 中&#xff0c;有一份这样的HBase数据集&#xff0c;我们需要将这些指令放到HBase中执行&#xff0c;将数据导入…

申请Moonbeam Accelerator孵化计划申请答题指导

Moonbeam Accelerator是一个为期10 周的孵化计划&#xff0c;由Moonbeam基金会、Arrington Capital和Rokk3r共同推出&#xff0c;旨在帮助初创团队提高技术、业务、营销、金融和融资技能&#xff0c;助力您的Web3创业之梦。 申请孵化计划有任何限制吗&#xff1f;没有&#xff…

BFS(二)二叉树层序遍历(I、II)、二叉树锯齿形层序遍历、N叉树层序遍历

目录 102. 二叉树的层序遍历 107. 二叉树的层序遍历 II 103. 二叉树的锯齿形层序遍历 429. N 叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。…

VUE3/TS/TSX入门手册指北

VUE3入门手册vue3入门首先 查看 官方文档&#xff1a;https://cn.vuejs.org/guide/quick-start.html如果有vue2基础&#xff0c;速成课程&#xff1a;https://www.zhoulujun.co/learning-vue3/component.html&#xff08;官方文档 还是建议 翻一遍&#xff09;VUE3深入首先看源…

STM32+python产生三角波

目录任务目标实现方法python制作数表由于项目需要&#xff0c;需要产生一个三角波&#xff0c;需要覆盖4000个点的一个数组&#xff0c;这样的数组点数太多了&#xff0c;肯定不能自己一个一个手写了。最简单的一个方法是在嵌入式程序中用C写一个函数&#xff0c;对一个数组&am…

基于蜣螂优化的Elman神经网络数据预测-附代码

基于蜣螂算法优化的Elman神经网络数据预测 - 附代码 文章目录基于蜣螂算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立4.基于蜣螂优化的Elman网络5.测试结果6.参考文献7.Matlab代码摘要&#xff1a;针对…