GAE
abstract
策略梯度算法可以直接优化累计奖励,并且可以直接用于神经网络等非线性函数逼近器。但是存在两个挑战:
-
需要大量的样本
-
很难让算法在变化的数据中获得稳定的上升。
而在本章中,使用价值函数,通过类似于的优势函数的指数加权估计值,来答复减少策略梯度估计值的偏差。通过对策略和值函数使用置信域的方法来解决第二个问题。
Introduction
强化学习中的典型问题是使策略的期望总回报最大化,但是其中难度的一个关键来源使动作和产生的影响之间的长时间延迟。这个问题被称为the credit assignment problem。
但现在我们可以使用值函数的方式来估计延迟的奖励。
-
当使用参数化随机策略使,是可以得到总回报梯度的无偏估计。但是梯度估计量的方差步符合时间范围,因为行动影响与过去和未来行动的影响混杂在一起。
-
另一类为策略梯度算法,使用价值函数而不是经验回报,以引入偏差为代价获得方差更低的估计量。
-
但是尽管高方差需要使用更多的样本,偏差却更有害——即使有无限数量的样本,偏差也会导致算法无法收敛,或者收敛到一个甚至不是局部最优解的糟糕解。
本文的主要贡献为:
-
为策略梯度的有效方差减少方案提供了理由和直觉,称之为广义优势估计(GAE)
-
提出了一种基于信赖域的值函数优化方法。
-
得到了一种经验上有效的学习神经网络策略的算法,用于连续的控制任务。
Preliminaries
策略梯度可以有以下的几种表达方式:
并给出如下的定义:
可以发现在,使用A时,可以使策略梯度的方差最小。
通过引入折扣回报,上述的三个定义将修改为:
策略梯度也会修改为:
并给出定义近似,即对进行近似替代后,不会产生偏差。
定义一个估计为近似,需要:
此时有以下的性质:
其中一个是的充分条件是可以分解为两个函数和的形式,其中可以依赖于任何轨迹,但是是需要是上诉定义的Q函数的无偏估计,需要是在采样之前的状态和动作的任何函数。
一些常见的近似如:
ADVANTAGE FUNCTION ESTIMATION
在本节中,是为了找到对的一个准确的估计,并用来构建策略梯度的近似估计:
在定义TD-error后,,可以将考虑为动作的优势估计:
由于也是拥有时间的区分的,因此也可以对不同时间的步数进行区分,即可以产生如下定义:
我们看到,即一个k步的折扣回报和减去一个基线函数,当使,可以得到:
,那么此时我们就可以得到广义优势函数(GAE)的定义了:
并且对于,这两种情况,GAE有特殊的表达
-
当时,是,但是会引入高方差
-
当且时,,但是由于求和,它虽然拥有更小的方差但是会带来偏差。
对于GAE来说有两个独立的参数,这两个方差都有助于减少方差和偏差,但是它们有不同的用途,并且取得最好效果的时候值也不同。
-
最重要的是决定了的尺度,它不依赖于。无论值函数的准确性如何,如果,都会在策略梯度中引入偏差
-
当时,只有在值函数不准确时引入偏差
-
并且根据实验,发现的最佳值远低于的最佳值,这可能时因为引入的偏差远小于
使用GAE,我们可以构造的无偏估计:
Interpretation as Reward shaping
Reward shaping是将回报函数进行转换:
把么我们可以得到一个轨迹的折扣回报为:
并且通过下式我们可以发现,是没有产生变化的:
并且如果.那么状态值函数为0.
那么令,并且为了防止远距离奖励带来的噪声,因此加上一个更快的衰减,就得到了前面定义的GAE:
Frequently asked questions
why don't you just use a Q—Function