蒙特卡洛方法
- 5. 离轨策略
- 5.1 策略评估(基于重要度采样)
- 5.1.1 计算目标策略下的状态值
- 5.1.2 蒙特卡洛算法(状态值估计)
- 5.1.3 增量式的实现
- 5.2 策略迭代
- 5.3 减少重要性采样方差的方法
- 5.3.1 折扣敏感的重要性采样
- 5.3.2 每决策重要性抽样
5. 离轨策略
所有控制方法存在探索与利用的问题:一方面,希望学到的动作使得随后智能体的行为最优; 另一方面,需要采取非最优的行动,来探索所有的动作(来保证找到最优的动作)。
如何既能够学到最优策略,又能够在实际中多探索呢?
同轨策略:实际上是一个妥协,学习的并非最优策略的动作值,而是学习一个接近最优但仍然保留了探索的策略的动作值。
离轨策略:更直截了当,使用两个策略,一个策略用来学习最优策略,另一个则更具探索性地用来产生行为。 用来学习的策略称为 目标策略 ,另一个用来生成行为的称作 行为策略 。 学习所用数据离开了待学习的目标策略,故称为“离轨策略”。
- 离轨策略方法通常拥有更大的方差,收敛更慢,因为数据是由另一个不同的策略产生的。
- 离轨策略方法更强大且更一般化,它包括同轨策略方法作为特殊情况(目标和行为策略相同)。
离轨策略方法在应用程序中也有各种其他用途。例如,能够从非传统学习器或人类专家生成的数据中学习;还被看成是学习多步预测模型的关键,该模型常被用来预测现实世界的动力学
5.1 策略评估(基于重要度采样)
思路:由另一个策略 b b b ( b ≠ π {b} \neq \pi b=π)得到的若干幕样本估计 v π v_\pi vπ 或者 q π q_\pi qπ。 π \pi π 是目标策略, b b b 是行为策略。本节,这两种策略都设定为已知且固定。
设定:覆盖(coverage) 假设,确定性的目标策略
- 为了使用策略 b b b 得到的若干幕样本来估计 π \pi π 的价值,我们要求在策略 π \pi π 下做出的动作也能,至少时不时 地在策略 b b b 下做出。就是说,我们需要当 π ( a ∣ s ) > 0 \pi(a \mid s)>0 π(a∣s)>0 有 b ( a ∣ s ) > 0 b(a \mid s)>0 b(a∣s)>0 。这个称为 覆盖(coverage) 假设。
- 对特定的状态,策略 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,…,ST∣St,At:T−1∼π}=π(At∣St)p(St+1∣St,At)π(At+1∣St+1)⋯p(ST∣ST−1,AT−1)=k=t∏T−1π(Ak∣Sk)p(Sk+1∣Sk,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:T−1≐∏k=tT−1b(Ak∣Sk)p(Sk+1∣Sk,Ak)∏k=tT−1π(Ak∣Sk)p(Sk+1∣Sk,Ak)=k=t∏T−1b(Ak∣Sk)π(Ak∣Sk)
注意:上式中的轨迹的概率依赖于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[Gt∣St=s]=vb(s) ,因此不能平均得到
v
π
v_\pi
vπ 。 这是重要性抽样 的来源。比率
ρ
t
:
T
−
1
\rho_{t: T-1}
ρt:T−1 将收益转换为具有正确的期望值:
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:T−1Gt∣St=s]=vπ(s)
5.1.2 蒙特卡洛算法(状态值估计)
算法使用行为策略 b b b 下的一批观察到的若干幕样本来估计 v π ( s ) v_\pi(s) vπ(s) 。
设定:将时间步调设置为穿过回合的递增形式,即下一个回合开始时的时间步调不清零,而是 接着上个回合的末尾加一。比如,这一批的回合中,第一回合在时间 100 的时候结束,那么下一 个回合在时间 t = 101 t=101 t=101 开始。这使我们能够使用时间步调来指代特定回合中的时间步调。
- 对于每次访问,定义一个集合表示状态 s s s 被访问到的时间步调,记为 T ( s ) \mathcal{T}(s) T(s) 。
- 对于首次访问, 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}t∈T(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}t∈T(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)∣∑t∈T(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)≐∑t∈T(s)ρt:T(t)−1∑t∈T(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,…,Gn−1 ,都是从相同的状态开始的,且每个回报值对应一 个随机的权值
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+1≐Vn+CnWn[Gn−Vn],n≥1Cn+1≐Cn+Wn+1,
这里
C
0
≐
0
C_0 \doteq 0
C0≐0 (且
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(A0∣S0)π(A0∣S0)b(A1∣S1)π(A1∣S1)⋯b(A99∣S99)π(A99∣S99)
对于原始重要性采样而言,回报会被上述的乘积所缩放,但是, 真正起作用的是第一项,即
π
(
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(A0∣S0)π(A0∣S0) ,而与其他 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(A1∣S1)π(A1∣S1)⋯b(A99∣S99)π(A99∣S99) 的乘积无关。因 为,第一个奖励后,回报就已经决定了,之后的乘积项与回报值独立且期望为 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:h≐Rt+1+Rt+2+⋯+Rh,0≤t<h≤T
其中,“平坦”表示缺少折扣,“部分”表示这些回报只算到第
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+⋯+γT−t−1RT(1−γ)Rt+1+(1−γ)γ(Rt+1+Rt+2)+(1−γ)γ2(Rt+1+Rt+2+Rt+3)⋮+(1−γ)γT−t−2(Rt+1+Rt+2+⋯+RT)+γT−t−1(Rt+1+Rt+2+⋯+RT)=(1−γ)h=t+1∑T−1γh−t−1Gˉt:h+γT−t−1Gˉ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)∣∑t∈T(s)((1−γ)∑h=t+1T(t)−1γh−t−1ρt:h−1Gˉt:h+γT(t)−t−1ρ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)≐∑t∈T(s)((1−γ)∑h=t+1T(t)−1γh−t−1ρt:h−1+γT(t)−t−1ρt:T(t)−1)∑t∈T(s)((1−γ)∑h=t+1T(t)−1γh−t−1ρt:h−1Gˉt:h+γT(t)−t−1ρ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:T−1Gt=ρt:T−1(Rt+1+γRt+2+⋯+γT−t−1RT)=ρt:T−1Rt+1+γρt:T−1Rt+2+⋯+γT−t−1ρt:T−1RT
离策略估计器依赖于这些值的期望;我们尝试用更简单的方式表达出来。每个元 素是一个随机奖励和一个随机重要性采样率的乘积。比如,第一个元素,
ρ
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:T−1Rt+1=b(At∣St)π(At∣St)b(At+1∣St+1)π(At+1∣St+1)b(At+2∣St+2)π(At+2∣St+2)⋯b(AT−1∣ST−1)π(AT−1∣ST−1)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(Ak∣Sk)π(Ak∣Sk)]=a∑b(a∣Sk)b(a∣Sk)π(a∣Sk)=a∑π(a∣Sk)=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:T−1Rt+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:T−1Rt+k]=E[ρt:t+k−1Rt+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:T−1Gt]=E[G~t]G~t=ρt:tRt+1+γρt:t+1Rt+2+γ2ρt:t+2Rt+3+⋯+γT−t−1ρt:T−1RT
改写状态值的估计器:上述思想我们称作每决策 (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)∣∑t∈T(s)G~t - 加权重要性采样的替代算法不太清楚是否存在。目前为止,这样的估计器都是非一致的(即无限数据也不能让他们收敛到正确的值)。