Policy Gradient
设是一条路径,
设是我的策略
设是路径走下来能获得的收益
设是在策略的情况下,走出路径的概率
考虑计算在使用的情况下,收益的期望
先介绍一个工具,,以为底
因为:
试试计算一下(策略是变量) 而可以被表示成: 那么我们对进行一个蒙特卡洛估计,对路径采样次,第次得到的路径为,其长度为,可以得到: 最后,我们用算出来的去更新,设为学习率,则:
对策略梯度的理解
是路径的概率,随参数变化最陡的方向,参数在该方向进行更新时,若沿着正方向,则路径出现的概率会变大;若沿着负方向,则路径出现的概率会变小
控制了参数更新的方向和步长,为正且越大,则参数更新后出现的概率越大;为负且越小,则参数更新后出现的概率越小
策略梯度会增加高回报路径的概率,减小低回报路径的概率
Baseline
假设对于所有的恒成立
那么根据策略梯度的特点,我永远提高路径出现的概率,如果本来有一条路径的回报比较高,但是最初几次采样没有取到,可能就很难再被取到了(如逆水行舟,别的出现的概率都在增加,被采样到的概率自然就小了)
可以采用添加Baseline的做法缓解这种情况: 其中,即所有路径的收益的平均值
优点
- 连续的动作空间,或者高维空间中更加高效
- 可以实现随机化策略
- 某些情况下,价值函数可能比较难以计算,而策略函数较容易
缺点
通常收敛到局部最优,而非全局最优
无法保证关于是凸的
评估一个策略是低效的
PG没有通过误差反向传播,它通过观测信息选出一个行为直接进行反向传播,不存在误差这个概念,而利用reward直接对选择行为的可能性进行增强或减弱,好的行为下次出现的概率就大,不好的行为下次出现的概率就小
然而,用reward来评判动作的好坏是不准确的,甚至用result来评判也是不准确的,因为任何一个reward或result都依赖于大量的动作,不能只将功劳或者过错归因于当前的动作上