REINFORCE算法
我们已知策略梯度∂θ∂J(θ)的计算公式为:
∂θ∂J(θ)=Eτ∼pθ(τ)[t=0∑T−1(∂θ∂logπθ(at∣st)γtG(τt:T))]
其中,期望可以通过采样的方法来进行近似。对于当前策略πθ,可以随机游走采集多个轨迹τ(1),τ(2),⋯,τ(N),每一条轨迹τ(n)=s0(n),a0(n),s1(n),a1(n),⋯,其梯度定义为
∂θ∂J(θ)≈N1n=1∑N(t=0∑T−1∂θ∂logπθ(at(n)∣st(n))γtGτt:T(n))
结合随机梯度上升算法,我们可以每次采集一条轨迹,计算每个时刻的梯度并更新参数,称为REINFORCE算法。
REINFORCE算法通用框架:一个示例

带基准线的REINFORCE算法
REINFORCE算法的一个主要缺点是不同路径之间的方差很大,导致训练不稳定,这是在高维空间中使用蒙特卡罗方法的的通病。一种减少方差的通用方法是引入一个控制变量。