Reference
TD(0) 到 n-step return
对于我们自己选择的 Metric:
Model free 基础方法中介绍了两种估计方式: TD方法,基础的TD方法即 TD(0),只选取下一步进行单步 Booststrap:
或者进行蒙特卡罗方法估计:
前者高偏差但是低方差,后者低偏差高方差。仅后者是无偏的。
Model free 基础方法中提到了可以采用多步 TD 的方法来降低方差。TD(λ) 也是为了实现这个目的:结合TD 和 MC 的特点,它以把所有 n-step return 都结合起来:
这里的 是一个归一化系数,保证权重之和为 1。直觉上:
- :退化为 TD(0),只用
- :退化为 Monte Carlo,用完整回报
- :短步的 return 权重更大(因为 指数衰减),长步的权重越来越小
GAE
是用于估计价值函数的方法,GAE则把这个方法与 Actor-Critic方法做了结合。
先给定优化目标,GAE 最初的优化目标是优化下面的 Metric,使之最大化:
注
这与上文的优化 metric 不同的原因是:首先本文会通过证明证明上述那个 metric 的偏差不会太大;同时实践中很难获得远期的回报值,导致远期方差极大,一般都会加上衰减系数减小其影响。
作为一个轨迹的回报,由于没有储存转移函数等,这个优化目标不能直接求出,需要一个估计器来近似。近似函数一般近似目标函数的梯度,可以直接求出目标函数的增长方向:
这里 可以是这几个函数近似:
| # | 说明 | |
|---|---|---|
| 1 | 整条轨迹的总回报(最原始的 REINFORCE,方差最大) | |
| 2 | reward-to-go(利用因果性: 之前的 reward 与 无关) | |
| 3 | 加 baseline(比如 ),进一步降方差 | |
| 4 | Actor-Critic 的基础形式 | |
| 5 | Advantage,几乎是方差最小的选择 | |
| 6 | TD residual(one-step advantage 估计) | |
| 其中: |
其中 Advantage 基本是方差最小的选择,在优势 Actor-Critic中可见。
为了进一步降低方差,文章接着引入了TD(0) 到 n-step return中的技巧,使用了衰减系数,将上述三个函数重写为:
接下来找出 估计是一个有偏(但是不太过有偏)的 估计。其中找 是因为 是一个空间极大的,只能用估计的方式,所以实践中采用函数 用于估计。当这个估计函数取代 时不引入偏差,则称其为 -just 的。
如果 满足 -just 条件,则:
即如果 是 对于所有 满足 -just 的话,则
可以证明如果 可以写成如下形式,且满足 的条件,那么 是 -just。此处 是个
则这几个表达都是 -just 的:
作者在这里引入了两层 bias,即两层估计。第一层是使用 来代替 ,这个是明确引入了 bias 了。而第二层是使用 代替了 中的 ,这里在找到一个没有偏差的估计。
优势函数估计
接下来找到一个准确的估计 ,用于估计优势函数 。由[[深度 RL|优势函数是由 TD error 近似]]的结论,可以尝试使用 TD error 来估计。特别的,对于价值函数 ,定义该价值函数的 TD error 为:。TD error 可以看作一个动作的优势函数的估计,如果使用正确的价值函数 ,则 TD error 是一个 -just 优势函数估计并且是 的无偏估计。
然而这只对 是 -just 的,其他都不能保证。
再引入 telescoping sum,标注为 ,这是一种降低 bias 的方法。
当 时, 有:
再引入 n-steps return 的思路,可以得到泛化优势估计(generalized advantage estimator):
同样的:
- :退化为
- :
后者无论什么价值函数 都是 -just 的,但是引入了高方差,前者只对 是 -just 的。
这在实践中基本不可能实现一个逐点相等的价值函数。
这段的总结
我们描述了具有两个独立参数 γ 和 λ 的优势估计器,这两个参数在使用近似值函数时都有助于偏差-方差权衡。然而,它们有不同的目的,并且在不同的值范围下效果最好。 γ 最重要的是决定了价值函数 的尺度,它不依赖于 λ。无论价值函数的准确性如何,采用 γ < 1 都会在策略梯度估计中引入偏差。另一方面,仅当价值函数不准确时,λ < 1 才会引入偏差。根据经验,我们发现 λ 的最佳值远低于 γ 的最佳值,这可能是因为对于相当准确的值函数,λ 引入的偏差远小于 γ。
INTERPRETATION AS REWARD SHAPING
本段提供了另一种视角观察参数 ,暂时先跳过。
Value Function Estimation
在估计价值函数的时候会遇到以下几个问题:
- 目标在漂移:策略 在不断更新, 这个回归目标也在漂移,critic 永远在追一个移动靶。
- 数据分布在漂移:每次迭代用的是新策略收集的数据,旧数据和新数据分布不同。
- 过拟合到最近批次:如果对最近一批数据优化得过于激进,critic 会遗忘之前学到的全局结构,在下一次迭代时给出质量很差的估计。
- critic 崩坏的连锁反应:critic 变差 → advantage 估计变差 → 策略梯度变差 → 策略更新方向错误 → 收集到的数据质量更差 → critic 更难学。这是一个正反馈失控循环。
一个朴素的解决方法是直接求解:
其中 表示蒙特卡洛采样,虽然是无偏采样,但是因为整条轨迹的随机性累积导致方差大,且存在前面说的过拟合问题。并没有解决上述的问题。
于是论文引入了信赖域算法:
其中 , 表示的是旧的参数,此约束等价于约束新旧 value function 之间的平均 KL 散度小于 ,如果将 value function 解释为一个条件高斯分布 的均值,具体来说,两个同方差高斯分布 和 之间的 KL 散度为:
因此有:
这是一个自适应归一化:如果旧 critic 的预测误差本来就很大( 大),说明问题本身噪声大,允许较大的参数更新;如果旧 critic 已经很准( 小),则更新应该更保守。
这个信赖域的求解非常复杂,因此论文将这个优化问题转为线性化和二次近似的方法:
其中:
- 是目标函数的梯度。
- ,而 是每个样本预测值对参数的梯度。 Q