Policy Gradient with Baseline

  • Post author:
  • Post category:其他


策略梯度的推导:

策略梯度中的Baseline:

策略梯度中常用Baseline方法来降低方差,可以使得收敛更快。Baseline可以是一个函数b,该函数是什么都可以,但就是不能依赖于动作A。

下面是Baseline的一个重要等式推导,灰色部分是用链式法则展开,

添加Baseline后的策略梯度:

引入b既然等于0为什么要引入呢?原因是神经网络中的策略梯度并不是按照这个公式计算,而是这个公式的蒙特卡洛近似,如果选取的b合适,那么就会使得蒙特卡洛的方差变小,使得收敛的更快。

添加Baseline后的蒙特卡洛近似:

直接计算这个期望比较困难,我们用蒙特卡洛近似来算这个期望,期望里面的记作

,它依赖于随机变量

,期望是关于随机变量

求的,

的概率密度函数是策略网络π,我们可以对策略函数做随机抽样,得到一个

。得到的

即为蒙特卡洛近似,

是策略梯度的一个无偏估计,

其实是一个随机梯度,它是对策略梯度的蒙特卡洛近似。真正训练网络的时候,都是用的

,而不是真正的策略梯度。

实际训练策略网络的时候,我们用随机梯度上升来更新参数θ,β是学习率,用随机梯度上升就意味着能让策略更好。

b只要与

无关,那么策略梯度的期望就会保持不变,但是b却影响

,一个好的b,即非常接近

,那么就会使得方差很小,收敛更快。

常见的Baseline:

(1)b=0时,就得到了标准的策略梯度函数。

(2)b=

,因为

是先于

被观测到的,所以与

无关。



版权声明:本文为qq_41903673原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。