策略梯度算法是一类直接对策略进行优化的算法,但它的优化目标与基于价值的算法是一样的,都是累积的价值期望 V∗(s) 。我们通常用 πθ(a|s) 来表示策略,即在状态 s 下采取动作 a 的概率分布 p(a|s),其中 θ 是我们要去求出来的模型参数。
蒙特卡洛策略梯度算法,即我们可以不必采样所有的轨迹,而是采样一部分且数量足够多的轨迹,然后利用这些轨迹的平均值来近似求解目标函数的梯度。
发现如果轨迹τ的初始状态是s0并且终止状态是s的话,轨迹概率公式Pθ(τ)跟平稳分布的dπ(s)是等效的,当然前提是该条轨迹必须“无限长”,即t→∞。但是平稳分布与轨迹概率公式相比,它的好处就是只涉及一个定量即初始状态s0和一个变量s。对于每个状态s,我们用Vπ(s)表示策略π下对应的价值。读者们现在可以往前回顾,为什么笔者说策略梯度算法跟基于价值函数的算法都是在计算累积状态的价值期望了,此时策略梯度算法目标函数就可以表示为式:
对于连续动作空间,通常策略对应的动作可以从高斯分布N(ϕ(s)Tθ,σ2),对应的梯度也可求得: