引言
本文主要介绍策略梯度算法的一种改进——带基线的策略梯度算法(Reinforce with baseline)。通过引入基线,有效降低了学习过程中的方差,从而提升训练过程的稳定性。
1 基线
基线函数
可以是任意随机函数或确定函数,它可以与状态
有关,但是不能和动作
有关。满足这样的条件后,基线函数自然满足
证明:
由于
和动作
无关,所以

进而
![E\left [ \gamma ^{t}\left ( G_{t}-B\left ( S_{t} \right ) \right )\triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]](https://file.cfanz.cn/uploads/gif/2022/01/23/10/c2fZ97M272.gif)
得证。
2 如何选择基线
选择基线时,应当参照一下两个思想:
一个能有效降低方差的基线是状态价值函数的估计,如Reinfoece_with_baseline算法所示。
3 Reinfoece_with_baseline算法伪代码 
4 最佳基线的确定
接下来,我们来分析什么样的基线函数能最大程度地减小方差。根据方差与期望之间的联系:
![E\left [\left [ \gamma ^{t}\left ( G_{t}-B\left ( S_{t} \right ) \right ) \triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]^{2} \right ]-\left [ E\left [ \gamma ^{t}\left ( G_{t}-B\left ( S_{t} \right ) \right ) \triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]\right ]^{2}](https://file.cfanz.cn/uploads/gif/2022/01/23/10/Kc716Rb5F8.gif)
上式关于
求偏导,得到
![E\left [ -2\gamma ^{t}\left ( G_{t}-B\left ( S_{t} \right ) \right )\left [ \triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]^{2} \right ]](https://file.cfanz.cn/uploads/gif/2022/01/23/10/CMU4TH48OY.gif)
其中求导时存在,
令上面求得的偏导数为0,并假设
与
相互独立
![E\left [B\left ( S_{t} \right )\left [ \triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]^{2} \right ]=E\left [ B\left ( S_{t} \right )\right ]E\left [\left [ \triangledown ln\pi _{\theta }\left ( A_{t}\mid S_{t} \right ) \right ]^{2} \right ]](https://file.cfanz.cn/uploads/gif/2022/01/23/10/28O3BNcDEG.gif)
可知
这意味着,最佳的基线函数应当接近回报
以梯度
为权重加权平均的结果。不过,由于梯度
并不会预先知道,所以实际应用时无法使用这样的基线函数。










