引言
本文主要介绍策略梯度算法的一种改进——带基线的策略梯度算法(Reinforce with baseline)。通过引入基线,有效降低了学习过程中的方差,从而提升训练过程的稳定性。
1 基线
基线函数可以是任意随机函数或确定函数,它可以与状态有关,但是不能和动作有关。满足这样的条件后,基线函数自然满足
证明:
由于和动作无关,所以
进而
得证。
2 如何选择基线
选择基线时,应当参照一下两个思想:
1.基线的选择应当有效降低方差。一个基线函数能不能降低方差不容易在理论上判别,往往需要通过实践获知。
2.基线函数应当是可以得到的。例如我们不知道最优价值函数,但是可以得到最优价值函数的估计。价值函数的估计也可以随着迭代过程更新。
一个能有效降低方差的基线是状态价值函数的估计,如Reinfoece_with_baseline算法所示。
3 Reinfoece_with_baseline算法伪代码
4 最佳基线的确定
接下来,我们来分析什么样的基线函数能最大程度地减小方差。根据方差与期望之间的联系:
的方差为
上式关于求偏导,得到
其中求导时存在,
令上面求得的偏导数为0,并假设与相互独立
可知
这意味着,最佳的基线函数应当接近回报以梯度为权重加权平均的结果。不过,由于梯度并不会预先知道,所以实际应用时无法使用这样的基线函数。