重要性采样
离线策略学习
估计一个不同分布的期望
E x ∼ p [ f ( x ) ] = ∫ x p ( x ) f ( x ) d x = ∫ x q ( x ) p ( x ) q ( x ) f ( x ) d x = E x ∼ q [ p ( x ) q ( x ) f ( x ) ] \begin{aligned} \mathbb{E}_{x\sim p}{[f(x)]} &= \int_{x}{p(x)f(x)dx} \\ &= \int_{x}{q(x)\frac{p(x)}{q(x)}f(x)dx} \\ &= \mathbb{E}_{x\sim q}{\left[\frac{p(x)}{q(x)}f(x)\right]} \end{aligned} Ex∼p[f(x)]=∫xp(x)f(x)dx=∫xq(x)q(x)p(x)f(x)dx=Ex∼q[q(x)p(x)f(x)]
将每个实例的权重重新分配为 β ( x ) = p ( x ) q ( x ) \beta(x)=\frac{p(x)}{q(x)} β(x)=q(x)p(x)
使用重要性采样的离线策略蒙特卡洛
使用 策略
μ
\mu
μ 产生的累计奖励评估 策略
π
\pi
π
根据两个策略之间的重要性比率(importance ratio)对累计奖励
G
t
G_{t}
Gt 加权
每个片段乘以重要性比率
{ s 1 , a 1 , r 2 , s 2 , a 2 , … , s T } ∼ μ \{s_{1},a_{1},r_{2},s_{2},a_{2},\dots,s_{T}\}\sim\mu {s1,a1,r2,s2,a2,…,sT}∼μ
G t π / μ = π ( a t ∣ s t ) μ ( a t ∣ s t ) π ( a t + 1 ∣ s t + 1 ) μ ( a t + 1 ∣ s t + 1 ) ⋯ π ( a T ∣ s T ) μ ( a T ∣ s T ) G T G^{\pi/\mu}_{t}=\frac{\pi(a_{t}|s_{t})}{\mu(a_{t}|s_{t})}\frac{\pi(a_{t+1}|s_{t+1})}{\mu(a_{t+1}|s_{t+1})}\cdots\frac{\pi(a_{T}|s_{T})}{\mu(a_{T}|s_{T})}G_{T} Gtπ/μ=μ(at∣st)π(at∣st)μ(at+1∣st+1)π(at+1∣st+1)⋯μ(aT∣sT)π(aT∣sT)GT
更新值函数以逼近修正的累计奖励值
V ( s t ) ← V ( s t ) + α ( G t π / μ − V ( s t ) ) {V(s_{t})}\leftarrow{V(s_{t})+\alpha{(G^{\pi/\mu}_{t}-V(s_{t}))}} V(st)←V(st)+α(Gtπ/μ−V(st))
- 无法在 π \pi π 非零而 μ \mu μ 为零时使用
- 重要性采样将显著增大方差(variance)
如果 μ ( a ∣ s ) \mu(a|s) μ(a∣s) 非常小,那么会导致学习的variance会很大
π ( a ∣ s ) μ ( a ∣ s ) → ∞ \frac{\pi(a|s)}{\mu(a|s)}\rightarrow\infty μ(a∣s)π(a∣s)→∞
使用重要性采样的离线策略时序差分
使用策略
μ
\mu
μ 产生的时序差分目标评估策略
π
\pi
π
根据重要性采样对时序差分目标
r
+
γ
V
(
s
′
)
r+\gamma V(s')
r+γV(s′) 加权
仅需要一步来进行重要性采样修正
- 具有比蒙特卡洛重要性采样更低的方差
- 策略仅需在单步中被近似
使用重要性采样时会用什么方法避免 π \pi π 非零而 μ \mu μ 为零的问题呢?
一般使用一些平滑算法,例如拉普拉斯一类的平滑
α ^ = π ( a ∣ s ) + β μ ( a ∣ s ) + β \hat{\alpha}=\frac{\pi(a|s)+\beta}{\mu(a|s)+\beta} α^=μ(a∣s)+βπ(a∣s)+β
这里的 β \beta β 是平滑的超参数
还有一种就是clip,也就是ratio如果绝对值超过了某个阈值
α
\alpha
α ,那就设置成这个
α
\alpha
α 值(符号不变)
这些方法其实都是损失了一点点variance,来换来bias的巨大下降