准备

众所周知, 策略梯度有多种写法, 总的来说, 在保持策略梯度不变的情况下, 策略梯度可以写作

其中可以是

其中

这里逗号表示指的是这样的序列,的下标枚举了要被积分的变量. 前面项的推导或者推导资料在参数优化中都有说明, 而残差其实是优势函数的一种无偏估计.

其中令(优势函数) 的选择有几乎最小的方差. 这一点可以从策略梯度的角度直观的解释: 策略梯度中的每一步都会增加 “高于平均水平的动作” 的概率, 减少 “低于平均水平的动作” 的概率, 而优势函数恰好衡量了动作相对平均水平的好坏, 当动作高于平均水平时, 优势函数会取正数, 从而增加其概率; 当动作低于平均水平时, 优势函数会取负数. 从而降低其概率.

我们利用一个参数来降低回报对延迟效应的反应的权重 (即减少未来回报的影响) 来减少方差, 代价是引入偏差. 这个参数相当于有折损的公式, 但是我们将其当做一个在无折损问题中的一个减少方差的参数. 这些有折损的公式可以表示为

梯度的有折损近似可以表示为

由于优势函数是未知的, 所以我们需要对它进行估计. 在实践中, 往往只能学习到的一个有偏估计 (但没有那么偏) .

我们引入一个关于的一个估计, 并且这个估计是无偏的. 考虑一个与整个轨迹有关的优势函数的估计.

我们定义: 一个估计的当且仅当

因此如果对于所有的来说都是的话, 就有

一个令的充分条件是可以被分解为两个函数之间的差. 并且可以依赖于轨迹中的任意变量, 但必须是-折扣 的函数 (状态-动作价值函数) 的无偏估计 (如果要求是状态-动作价值函数的估计, 那么由于马尔科夫性, 在时间之前的变量都对状态-动作价值函数的值没有影响, 因此只被时间以及以后的变量决定), 而是先于被采样的动作和状态的任意函数. 即如果可以被写成的形式, 并且对于任意的, 那么就是的.

证明:

其中

根据定理 (见参数优化) 有

因此

所以有

也就是说的.

容易验证, 下列估计表达式也是的:

优势函数的估计

折扣残差. 注意到可以被看做是动作的优势. 事实上, 如果我们有确切的价值函数, 那么会是一个无偏的,的优势估计.

然而, 也只有当时这个优势估计才是的.

接着, 让我们考虑项这样的相加的情况, 我们将其记为

容易得出当且仅当的. 注意到当时, 由于项急剧减小 (当时, 该项会产生偏差), 因此其偏差也会减少, 而项是不会产生偏差的 (因为这是基线). 令, 我们得到

仅仅是回报减去价值函数基线.

广义优势估计被定义为这些步估计量的指数加权平均:

这个公式有两个特殊的情况即,

 的, 不论的精度如何, 但由于其表达式中有多项和而导致其有高方差. 而的当且仅当, 如果并非如此, 那么就会包含偏差, 但其往往具有更低的方差. 当时我们得到更普遍的优势估计, 并且通过调整参数, 我们可以在偏差和方差之间取得一个平衡.

我们引入了一个包含两个参数的优势估计, 这两个参数都会影响偏差和方差之间的平衡. 但是, 它们的作用以及对平衡的影响有本质上的不同.决定了价值函数的最大值, 而对其并没有影响. 并且无论价值函数是否是正确的, 只要那么对于梯度来说就一定会有偏差 (因为已经使用了有折损回报, 而我们要优化的是无折损回报, 而可以看做是影响方差与偏差的一个参数) . 而当时只有错误的价值函数才会带来偏差. 因此我们往往会发现的最优值往往比的最优值要低得多, 这有可能是因为当获取到一个足够准确的价值函数后引入的误差要比小得多.

使用广义优势估计, 我们可以构建一个的有偏估计

时就是无偏的了.

对回报变形后的解释

为在状态空间上的任意函数考虑一个变形后的回报

容易证明, 对于变形后的回报, 其有折损和为

类似的, 我们定义

分别为变形后的回报, 价值, 优势函数.

注意到如果如果恰好等于价值函数, 那么对于任何状态都等于零.

同样注意到使用变形后的回报对最大化有折损回报的策略梯度是没有影响的. 但本文的目的其实是要最大化无折损回报, 而是一个用来降低方差的参数.

引出回报变形后, 让我们考虑将其使用在梯度估计上. 注意到的形式与完全相同. 如果我们令, 那么就有

因此可以将理解为变形后的回报, 而其实就是折损.

还有另一种解释, 记响应函数

注意到. 然后重新回忆我们用折扣因子来估计的策略梯度 (式) 有中如下形式

使用折扣相当于急剧减少当的项 (因为会变得很小) . 因此这些项带来的偏差会随着的增加而变少, 也就是说, 在大约步后行动对回报的影响看起来像是被 “遗忘” 了.

如果我们使用变形后的回报并且有, 不难得到当时有(由于之后时刻采取的动作的概率完全依赖于那时候的状态, 而时刻的动作已经给定为) . 因此只有是项才是非零的. 因此变形回报将依赖长时间的梯度估计变成了瞬时的. 当然我们往往难以得到非常好的估计, 但这已经能够给出式的一个很好的解释: 变形后的回报可以通过拟合来减少响应函数起作用的范围, 通过引入一个更陡的折损来减少由回报延迟 (即梯度估计中有很多项回报的和) 引起的噪声 (这是产生方差的原因), 也就是当时忽略项.

后记

这篇文章可能可以算是论文 High-Dimensional Continuous Control Using Generalized Advantage Estimation 的一个翻译, 但是其中增添了一些我自己的理解并且有些东西换了一些表述. 这篇文章只有论文前半部分的内容, 后面则是讲如何拟合价值函数以及一些探究, 有兴趣的可以看原论文. 其实原论文后面这段解释我看着怪怪的… 虽然说不出什么问题吧… 但是总感觉没什么必要… 因为前面的介绍以及推导已经解释了是如何起作用的… 还有我本人英语非常菜, 借助了翻译才一点点看下来… 如果哪个地方理解不对请指出, 还有大佬们请轻喷.