Q-Prop利用Control Variate来减小强化学习中由于采样所带来的方差较高的问题。

Control Variate

Monte Carlo方法是一种可以通过采样方法来解积分的方法,但是如果当我们采样的个数比较少的情况下,往往方差较高。具体可以参考文献1
Control Variate 是一种用于解决Monte Carlo方法带来的方差较高的问题,其做法是在原有估计的基础上,加上一个控制参数,例如我们想要估计m变量的期望$E(m)$,那么我们可以估计$m^{\star} = c(t-\tau)$,其中t是另一个分布的变量,假设$\tau = E(t)$我们是已知的(或者相对m来说更好计算),很容易得知$m^{\star}$是$m$的无偏估计。
而加了这个控制变量之后,如果c的选择比较合理,且$t$与$m$有一定的相关性,则$Var(m^{\star})$是非常小的,直观的解释是因为$m$在估计的时候有一定的方差(扰动因子),而$t$是一个和$m$相关的变量,那么具有类似的扰动因子,而$E(t)$是已知的,那么$t-E(t)$就是$t$扰动因子的量,然后$m$减去一定量($c$)的这个扰动因子,这样相当于就减少了$m$的扰动,从而降低方差。具体的数学证明参考文献2

Q-Prop 的理解

qprop[文献3] 的提出主要解决了强化学习中,Reward的要么可能方差大,无偏,要么方差小,但是有偏的问题,具体就是采用Control Variate的方法,加上泰勒展开的trick方式。
论文里面已经对整个推导过程阐述的很详细,这里主要针对几个问题提出自己的理解:

1. 为什么要选择action-dependet的控制变量

因为我们在计算梯度的时候,梯度所代表的意思是在当前状态$s_i$下,选择动作$a_i$,是否对整体期望的reawrd有帮助,并且我们在计算$V(s_i)$的时候也是对当前状态下所有$a_i$的积分,所以方差的来源是包含$a_i$的,所以在选择控制变量时需要的是 action-depent的,论文里面选择的是$Q_w(s_i,a_i)$。

2. 文中(6)式似乎不是control variate的形式?

我的理解是如果把$\bar{f}(s_t,a_t)$看作控制变量,$c=-1$, 就变成了式(6)的形式了

3. $\eta(s_t)$控制因子为什么是和状态有关的变量?

参考文献2中证明如果 控制因子为
$$c=\frac{\operatorname{Cov}(m, t)}{\operatorname{Var}(t)}$$
且$m^{\star}$的方差为:

$$\begin{aligned}
\operatorname{Var}\left(m^{\star}\right) &=\operatorname{Var}(m)-\frac{[\operatorname{Cov}(m, t)]^{2}}{\operatorname{Var}(t)} \\
&=\left(1-\rho_{m, t}^{2}\right) \operatorname{Var}(m)
\end{aligned}$$

而文中关于斜方差和方差的计算如下
$$
\operatorname{Cov}{\boldsymbol{a}{t}}(\hat{A}, \bar{A}) =\mathbb{E}{\pi}\left[\hat{A}\left(\boldsymbol{s}{t}, \boldsymbol{a}{t}\right) \bar{A}\left(\boldsymbol{s}{t}, \boldsymbol{a}{t}\right)\right]
$$
方差如下:
$$
\begin{aligned}
\operatorname{Var_{a_t(\bar{A})}} &= \mathbb{E_{\pi}}[\bar{A}(s_t, a_t)^2]\\
&= \nabla_{a} Q_w(s_t, a)|_{a
= {\mu}_{\theta}(s_t)} ^{T} \Sigma_{\theta}(s_t) \nabla_{a} Q_w(s_t, a)|_{a
= {\mu}_{\theta}(s_t)}
\end{aligned}
$$

可以看出两者都是和状态无关的变量

4. 这么做有什么好处

上面只是说了可以这么做,但是这么做有什么好处?首先$Q_w$我们不管它准不准,只要它能把方差的部分给计算出来,$\bar{Q}$能够减去这部分方差,这样就可以做到无偏且方差较小,那么$Q_w$怎么计算,这部分就可以通过off-policy的方式先把它给计算出来,这样$Q_w$的期望就计算出来了,保证了无偏。然后在梯度计算的过程中,有因为$Q_w$是action-depent的,那么就可以去捕捉干扰因子,然后再减去这部分干扰因子,就可以极大的减小梯度的方差。而这部分训练可以利用on-policy来计算,Amazing。

参考文献

[1]《蒙特卡洛积分》, 知乎专栏. https://zhuanlan.zhihu.com/p/146144853 (见于 1月 05, 2021).
[2]《Control variates》, Wikipedia. 7月 26, 2020, 见于: 1月 06, 2021. [在线]. 载于: https://en.wikipedia.org/w/index.php?title=Control_variates&oldid=969628525.
[3]S. Gu, T. Lillicrap, Z. Ghahramani, R. E. Turner和S. Levine, 《Q-Prop: Sample-Efficient Policy Gradient with An Off-Policy Critic》, arXiv:1611.02247 [cs], 2月 2017, 见于: 1月 04, 2021. [在线]. 载于: http://arxiv.org/abs/1611.02247.