全称是generalized advantage estimator,几乎所有最先进的policy gradient算法实现里面都使用了该技术。
这篇文章介绍了一种能够广泛适用的advantage的估计方法,所估计的advantage应用在策略梯度类方法里面能够有效减小梯度估计的方差,从而降低训练所需要的样本。该方法一经发明之后广泛地被应用到各种最先进的强化学习算法实现中。
1. 策略梯度的估计
策略梯度的估计有多种不同的形式,下面列出的这些形式都是无偏估计(注意到Q、V、A都是准确的),但有着不同的方差,其中advantage(第4种或者第6种)几乎有最小的方差。
2. 引入参数 的策略梯度估计
其实这里引入的参数 的形式和discount rate一样,只不过这里把它当做一种参数。
注意到这里的 相对于前面的 是有偏的。不过在大多数的带有discount rate的强化学习问题里面,实际上也是以discounted cumulative reward为目标的,相应的策略梯度估计就是这里的这种。
接下来文中给出了 -just 的定义,其实就是说找到 的一个估计 ,使得用这个估计来计算得到的梯度估计期望不变。
如下的这些估计都是 -just的
3. GAE
文章提出一种generalized advantage estimator,定义如下
它具有如下性质:
4. 与reward shaping的关系
在专栏前面的文章里面讲了potential-based reward shaping
一个自然的想法就是使用估计到的 来作为这个势能,同时为了避免很远的奖励带来的噪声,加上一个更快的衰减,自然就得到了前面定义的GAE
由此可以看出,GAE是就是一种reward shaping的应用,用来估计一个更instructive的value function。
5. 其他
后面的实验作者就是把GAE用在了TRPO上面,事实上GAE版本的TRPO和PPO已经是baselines里面的标准版本了。
Ps. 在草稿箱里面存了好长时间,终于写出来了。