PG

Policy Gradient

是一条路径,

是我的策略

是路径走下来能获得的收益

是在策略的情况下,走出路径的概率

考虑计算在使用的情况下,收益的期望

先介绍一个工具,为底

因为:

试试计算一下(策略是变量) 可以被表示成: 那么我们对进行一个蒙特卡洛估计,对路径采样次,第次得到的路径为,其长度为,可以得到: 最后,我们用算出来的去更新,设为学习率,则:

对策略梯度的理解

是路径的概率,随参数变化最陡的方向,参数在该方向进行更新时,若沿着正方向,则路径出现的概率会变大;若沿着负方向,则路径出现的概率会变小

控制了参数更新的方向和步长,为正且越大,则参数更新后出现的概率越大;为负且越小,则参数更新后出现的概率越小

策略梯度会增加高回报路径的概率,减小低回报路径的概率

Baseline

假设对于所有的恒成立

那么根据策略梯度的特点,我永远提高路径出现的概率,如果本来有一条路径的回报比较高,但是最初几次采样没有取到,可能就很难再被取到了(如逆水行舟,别的出现的概率都在增加,被采样到的概率自然就小了)

可以采用添加Baseline的做法缓解这种情况: 其中,即所有路径的收益的平均值

优点

  • 连续的动作空间,或者高维空间中更加高效
  • 可以实现随机化策略
  • 某些情况下,价值函数可能比较难以计算,而策略函数较容易

缺点

  • 通常收敛到局部最优,而非全局最优

    无法保证关于是凸的

  • 评估一个策略是低效的

PG没有通过误差反向传播,它通过观测信息选出一个行为直接进行反向传播,不存在误差这个概念,而利用reward直接对选择行为的可能性进行增强或减弱,好的行为下次出现的概率就大,不好的行为下次出现的概率就小

然而,用reward来评判动作的好坏是不准确的,甚至用result来评判也是不准确的,因为任何一个reward或result都依赖于大量的动作,不能只将功劳或者过错归因于当前的动作上