强化学习(5):多步时序差分方法与 n-step 回报

从一步时序差分到多步方法
上一篇已经讨论过,时序差分(Temporal Difference, TD)方法之所以重要,在于它用“一步奖励 + 后继价值估计”替代了完整回报,从而把价值学习推进到了可以边交互、边更新的形式。TD(0) 用一步目标估计状态价值,Sarsa 用一步目标估计当前策略下的动作价值,Q-learning 则进一步把一步目标改写成朝最优动作价值逼近的形式。换句话说,上一篇的主线其实可以概括为一句话:在不等待完整回报的前提下,如何利用一步经验进行更新。
但如果继续沿着这条思路往前看,一个新的问题会很自然地出现。
一步更新当然有它的优点。它更新及时,实现简单,而且只需要当前这一小段转移样本,就可以立刻修正价值估计。可与此同时,它也有一个明显特征:它看到的未来太短了。 无论是 TD(0) 的
$$ r_t+\gamma V_\pi(s_{t+1}) $$还是 Sarsa 的
$$ r_t+\gamma Q_\pi(s_{t+1},a_{t+1}) $$本质上都只把“一步之后”的信息显式纳入了目标,剩余更远的未来则完全交给后继状态或后继状态—动作对的当前估计去承担。
这就意味着,一步方法虽然已经比蒙特卡洛方法更及时,但它对未来信息的利用仍然非常局部。某个奖励信号如果出现在较后的位置,那么它对更早状态或动作价值的影响,往往需要经过很多次一步更新,才能逐渐向前传播。尤其在回报延迟较长的任务中,这种传播速度可能会比较慢。
于是,这里就形成了一个很值得继续追问的张力。
一方面,蒙特卡洛方法直接使用完整回报 $G_t$,它看到的是整段未来,但必须等到回合结束之后才能更新,而且样本波动通常较大。另一方面,TD(0)、Sarsa、Q-learning 这些一步方法能够立刻更新,但每次只显式看一步,未来信息利用得比较短。既然这两端各有优缺点,那么一个最自然的问题就是:
如果一步更新过于局部,而完整回报又过于滞后,能不能在两者之间找到一种折中方式?
这正是多步时序差分方法要解决的问题。
从这个角度看,这一篇并不是突然引入一组新的技巧,而是在上一篇基础上继续向前推进:既然一步 TD 已经说明“可以不等完整回报就提前更新”,那么接下来最自然的追问就是,这种提前更新是否只能看一步,还是可以适当向后多看几步。
如果答案是可以,那么我们就会得到一种新的目标构造方式:它既不像一步 TD 那样只依赖一步奖励,也不像蒙特卡洛那样必须一直等到整段轨迹完全结束,而是只向后展开有限的若干步,再把更远的未来交给当前估计去处理。这样的方法,正是后面要讲的 n-step 回报(n-step Return)。
所以,这一篇的核心问题可以先概括为下面这一句:
在一步时序差分与完整回报之间,是否存在一种更灵活的中间形式,使我们既能更早更新,又能显式利用更长范围的未来信息。
n-step 回报
如果希望在一步时序差分和蒙特卡洛回报之间建立一个中间形式,最直接的做法就是:先向后展开有限步的真实奖励,再在某个位置接上当前的价值估计。
先看状态价值的情形。
在时刻 $t$,如果只展开一步,那么 TD(0) 使用的目标是
$$ r_t+\gamma V_\pi(s_{t+1}) $$这里,第一项是真实观察到的一步奖励,第二项则用当前的状态价值估计来近似更远的未来。
如果不满足于只看一步,而是希望再多看几步,那么就可以继续向后展开。比如,向后看两步时,可以写成
$$ r_t+\gamma r_{t+1}+\gamma^2 V_\pi(s_{t+2}) $$这里前两项都是真实奖励,而从第 $t+2$ 个状态开始之后的未来,不再继续展开,而是交给当前的价值估计 $V_\pi(s_{t+2})$。
同理,向后看三步时,可以得到
$$ r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\gamma^3 V_\pi(s_{t+3}) $$可以看到,这个形式已经很有规律了:前面若干步使用真实采样到的奖励,到了第 $n$ 步,就停止继续展开,并接上一个自举项。
于是,一般地,**n-step 回报(n-step Return)**可以写成
$$ G_t^{(n)} = r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n V_\pi(s_{t+n}) $$这里的含义可以分成两部分来看:
第一部分是
$$ r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1} $$它表示从当前时刻开始,向后连续 $n$ 步所观察到的真实奖励。
第二部分是
$$ \gamma^n V_\pi(s_{t+n}) $$它表示在第 $n$ 步之后,不再继续等待真实后续奖励全部出现,而是用当前对状态 $s_{t+n}$ 的价值估计来概括更远的未来。
这样定义以后,一步 TD 和蒙特卡洛方法就都可以被看成它的特殊情形。
当 $n=1$ 时,
$$ G_t^{(1)} = r_t+\gamma V_\pi(s_{t+1}) $$这正是 TD(0) 的一步目标。
而当 $n$ 足够大,大到从时刻 $t$ 一直展开到回合结束,并且终止状态的后续价值记为 $0$ 时,那么这个式子就会变成完整回报
$$ G_t = r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\cdots $$也就是蒙特卡洛方法使用的目标。
因此,n-step 回报最重要的意义就在于:它把一步 TD 和蒙特卡洛回报放进了同一个统一表达式里。
它不是一种完全独立的新目标,而是一族目标。当 $n$ 取不同值时,就对应了“看多远的真实未来”这一设计选择。
从直观上说,$n$ 越小,目标越接近一步 TD,更新越早,自举成分越强;$n$ 越大,目标越接近蒙特卡洛,使用的真实奖励越多,但也需要等待更长的后续信息。
n-step TD
有了 n-step 回报之后,下一步就很自然了:如果一步 TD 是“用一步目标去更新状态价值”,那么现在就可以把这个目标替换成 n-step 回报,从而得到对应的多步时序差分更新。
在一步 TD 中,状态价值的更新写成
$$ V_\pi(s_t)\leftarrow V_\pi(s_t)+\alpha\Big[r_t+\gamma V_\pi(s_{t+1})-V_\pi(s_t)\Big] $$如果把其中的一步目标
$$ r_t+\gamma V_\pi(s_{t+1}) $$替换为前一节定义的 n-step 回报
$$ G_t^{(n)} = r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n V_\pi(s_{t+n}) $$那么就得到 n-step TD 的更新形式:
$$ V_\pi(s_t)\leftarrow V_\pi(s_t)+\alpha\Big[G_t^{(n)}-V_\pi(s_t)\Big] $$也就是
$$ V_\pi(s_t)\leftarrow V_\pi(s_t)+\alpha\Big[r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n V_\pi(s_{t+n})-V_\pi(s_t)\Big] $$从形式上看,这个更新和 TD(0) 其实非常一致。它们都可以理解为:
- 先构造一个目标;
- 再让当前估计朝这个目标移动一步。
真正的区别只在于,目标里到底展开了多少步真实奖励。
一步 TD 只用到当前一步奖励,然后立刻接上 $V_\pi(s_{t+1})$;
n-step TD 则先把后面连续 $n$ 步的真实奖励显式写出来,到第 $n$ 步时再接上 $V_\pi(s_{t+n})$。因此,它仍然是一个**自举(Bootstrap)**方法,只不过自举发生得更晚了一些。
这点很重要。n-step TD 并没有放弃 TD 方法的基本思想,它只是把“从哪里开始使用估计值来代替未来”这个位置向后推迟了。于是,一步 TD 与蒙特卡洛之间就不再是割裂的两种方法,而是变成了一条连续变化的路径:
- 一步 TD:只展开 1 步,最早开始自举;
- n-step TD:展开有限的 $n$ 步,再开始自举;
- 蒙特卡洛:一直展开到回合结束,不再自举。
所以,n-step TD 可以理解为:在保留 TD 方法在线更新思想的同时,显式纳入更长范围的真实奖励信息。
接下来可以进一步看它在学习过程中的具体含义。
假设当前时刻是 $t$,如果要构造 $G_t^{(n)}$,就必须至少看到从 $t$ 到 $t+n$ 这一段经验,也就是说,要等到第 $t+n$ 个状态已经出现,才能对 $s_t$ 做这次更新。这说明 n-step TD 相比 TD(0) 有一个直接变化:更新会延迟若干步,但不必一直等到整回合结束。
这正体现了它在“一步 TD”和“蒙特卡洛”之间的位置。
- 与 TD(0) 相比,它不再每一步都立刻更新当前状态,而是要先积累到足够长的一小段轨迹;
- 与蒙特卡洛相比,它又只需要等有限步,而不是必须等整个回合完全结束。
因此,n-step TD 的意义并不只是“目标更长了”,而是它改变了信息利用的方式: 用一个有限长度的真实未来,替代一步方法中过于局部的目标,同时又避免了蒙特卡洛那种必须等待整段轨迹结束的滞后。
这里还可以顺着公式再看出另一个现象。由于目标中前 $n$ 步使用的都是真实奖励,所以如果某个较重要的奖励出现在未来第 2 步、第 3 步,甚至第 $n$ 步之内,那么它就能够在这一次更新中直接作用到 $V_\pi(s_t)$。这比一步 TD 中“奖励只先影响前一个状态,再慢慢向前传”要更直接一些。
也正因为如此,多步方法通常会比一步方法具有更快的信息传播能力。它并不是让价值“凭空更准确”,而是让某些本来需要经过多轮一步更新才能逐渐传回来的信息,可以在一次更新里跨越更长的时间范围。
不过,这里也开始隐含出一个新的权衡。随着 $n$ 变大,目标里包含的真实奖励更多,未来信息利用得更充分;但与此同时,目标中累积的随机性也会增加,而且更新必须等待更长的后续轨迹。因此,$n$ 不是越大越好,也不是越小越好,而是在不同任务中对应不同的折中选择。
从状态价值到动作价值
前面讨论的 n-step TD 是在**状态价值(State Value)**框架下展开的。它回答的是:在给定策略 $\pi$ 的前提下,如何用 n-step 回报去更新 $V_\pi(s)$。但如果继续沿着上一篇的主线往下走,就会发现仅停留在状态价值还不够。
原因并不复杂。状态价值回答的是“处在这个状态下,长期来看大概有多好”,但在控制问题里,我们更关心的其实是:在这个状态下,不同动作分别有多好。 只有这样,策略才有直接的依据去比较和选择动作。
这也是为什么上一篇在介绍 TD(0) 之后,很自然地转向了 Sarsa 和 Q-learning。因为一旦要从“评估一个给定策略”进一步走向“学习更好的决策”,就需要把估计对象从状态价值
$$ V_\pi(s) $$转向动作价值
$$ Q_\pi(s,a) $$从定义上看,动作价值与状态价值的差别只是多固定了当前动作:
$$ Q_\pi(s,a)=\mathbb{E}_\pi[G_t\mid S_t=s,\;A_t=a] $$它表示:当前处于状态 $s$,并且这一步先执行动作 $a$,之后再按照策略 $\pi$ 继续行动时,未来回报的期望是多少。
既然定义仍然是“回报的条件期望”,那么前面关于 n-step 回报的思路其实可以原样延续过来。也就是说,如果状态价值可以用 n-step 回报来构造多步更新,那么动作价值也同样可以。不同之处只在于:自举项不再是状态价值 $V_\pi(s_{t+n})$,而要换成某个动作价值估计。
这一步转换的关键,在于动作价值不是只和状态有关,而是和状态—动作对有关。因此,当我们把真实奖励向后展开了若干步之后,到达第 $t+n$ 个时刻时,不能只停在状态 $s_{t+n}$ 上,还必须说明:在这个状态下,接下来接的是哪个动作的价值。
这正是动作价值情形与状态价值情形相比,多出来的一层信息。
在状态价值的 n-step TD 中,第 $n$ 步之后接上的自举项是
$$ V_\pi(s_{t+n}) $$因为状态价值本来就只依赖状态本身。
但在动作价值里,若只写
$$ Q_\pi(s_{t+n},\cdot) $$还不够,因为动作价值必须指向一个具体动作。因此,若仍然考虑同策略(On-policy)情形,那么在第 $t+n$ 个状态处,就应当接上按当前策略实际继续选择的那个动作对应的价值。
于是,动作价值版本的 n-step 回报就会写成:
$$ G_{t}^{(n,Q)}=r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n Q_\pi(s_{t+n},a_{t+n}) $$这里的 $a_{t+n}$ 表示在状态 $s_{t+n}$ 下,按照当前策略 $\pi$ 继续采样得到的动作。
这个式子和状态价值版本几乎是平行的:
- 前 $n$ 步仍然是实际观察到的真实奖励;
- 到第 $n$ 步之后,仍然不再继续完全展开,而是接上一个自举项;
- 只不过现在的自举对象从状态价值变成了动作价值。
从结构上说,它表达的仍然是同一件事:
先利用有限步的真实未来,再用当前估计去概括更远的未来。
到这里,其实已经离 n-step Sarsa 很近了。因为上一篇已经讲过,Sarsa 本身就是同策略的动作价值 TD 方法,它的一步目标写成
$$ r_t+\gamma Q_\pi(s_{t+1},a_{t+1}) $$现在如果把其中的一步目标自然推广为 n-step 目标,那么就会得到
$$ r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n Q_\pi(s_{t+n},a_{t+n}) $$这正是 n-step Sarsa 的目标形式。
所以,从逻辑上看,这里并不是“突然又引入一个新算法”,而只是把上一篇的一步 Sarsa,按和 TD(0) 完全一致的方式推广到了多步版本:
- TD(0) 对应一步状态价值更新;
- n-step TD 对应多步状态价值更新;
- Sarsa 对应一步动作价值更新;
- n-step Sarsa 对应多步动作价值更新。
n-step Sarsa
现在可以正式进入动作价值情形下最自然的多步方法:n-step Sarsa。
先回顾一步 Sarsa。上一篇已经讨论过,在同策略(On-policy)设定下,Sarsa 更新的是当前策略对应的动作价值函数 $Q_\pi(s,a)$。如果在时刻 $t$ 处于状态 $s_t$,执行动作 $a_t$,得到奖励 $r_t$,转移到下一状态 $s_{t+1}$,并按当前策略继续选出下一动作 $a_{t+1}$,那么一步 Sarsa 的更新目标是
$$ r_t+\gamma Q_\pi(s_{t+1},a_{t+1}) $$对应更新为
$$ Q_\pi(s_t,a_t)\leftarrow Q_\pi(s_t,a_t)+\alpha\Big[r_t+\gamma Q_\pi(s_{t+1},a_{t+1})-Q_\pi(s_t,a_t)\Big] $$如果把这个思路按前面的方式向后推广,多看几步,就得到 n-step Sarsa。
它的目标不再只包含一步奖励,而是先显式累积接下来 $n$ 步的真实奖励,到第 $n$ 步时再接上一个动作价值估计。于是,n-step Sarsa 的目标写成
$$ G_t^{(n)}= r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\cdots+\gamma^{n-1}r_{t+n-1} +\gamma^n Q_\pi(s_{t+n},a_{t+n}) $$这里的 $a_{t+n}$ 不是额外指定的动作,而是按照当前策略继续采样得到的动作。这一点很关键,因为它体现了 Sarsa 一直保持的同策略性质:更新所依赖的后续动作,来自当前真正执行的策略,而不是另一个单独拿来算目标的策略。
于是,更新公式就是
$$ Q_\pi(s_t,a_t)\leftarrow Q_\pi(s_t,a_t)+\alpha\Big[G_t^{(n)}-Q_\pi(s_t,a_t)\Big] $$也就是 $$ Q_\pi(s_t,a_t)\leftarrow Q_\pi(s_t,a_t)+\alpha\Big[ r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1} +\gamma^n Q_\pi(s_{t+n},a_{t+n})
Q_\pi(s_t,a_t) \Big] $$ 从结构上看,它和前面的 n-step TD 完全平行:
前 $n$ 步使用真实采样到的奖励;
第 $n$ 步之后接上一个当前的价值估计;
整体仍然是“目标减当前估计”的增量更新。
只是这里更新的对象已经从状态价值 $V_\pi(s)$ 变成了动作价值 $Q_\pi(s,a)$。
为了更清楚地看出它和一步 Sarsa 的关系,可以直接看特殊情形。
当 $n=1$ 时,
$$ G_t^{(1)}=r_t+\gamma Q_\pi(s_{t+1},a_{t+1}) $$这就正好退化为一步 Sarsa。
当 $n$ 不断增大,并且一直展开到回合结束时,如果终止后的动作价值视为 $0$,那么这个目标就会越来越接近从 $(s_t,a_t)$ 出发的完整回报。也就是说,n-step Sarsa 同样处在“一步 TD”和“蒙特卡洛”之间,只不过这里统一的是动作价值更新。
这里还可以顺着公式看出 n-step Sarsa 的直观意义。
在一步 Sarsa 中,当前的 $(s_t,a_t)$ 只会直接看到一步奖励 $r_t$,然后立刻把剩余未来压缩进 $Q_\pi(s_{t+1},a_{t+1})$。而在 n-step Sarsa 中,当前的 $(s_t,a_t)$ 可以直接看到后面连续 $n$ 步的实际奖励。因此,如果某个较关键的奖励出现在接下来第 2 步、第 3 步,或者第 $n$ 步之内,那么它可以在这一次更新中直接影响当前动作价值,而不必完全依赖后续多轮一步传播。
这就是多步方法在动作价值学习中的一个核心意义:让后续经验对当前决策的影响传播得更快。
不过,和状态价值情形一样,n-step Sarsa 也不是单纯“步数越大越好”。$n$ 变大时,目标中包含的真实奖励更多,信息更直接,但同时也意味着:
- 更新需要等待更长的后续轨迹;
- 目标中累积的随机性也会更强。
因此,n-step Sarsa 的价值不在于固定某个最优步数,而在于它提供了一条可调节的路径,使动作价值学习不再只能在“一步自举”和“完整回报”之间二选一。
多步方法的意义
到这里,n-step 回报、n-step TD 和 n-step Sarsa 的形式都已经写出来了。接下来更重要的问题是:为什么要这样设计? 如果只是把一步目标改得更长一些,而不说明这样做解决了什么问题,那么多步方法就会显得只是形式变化,而不是方法上的推进。
这一节可以从两个角度来理解它的意义:一是信息传播速度,二是偏差与方差之间的折中。
先看信息传播速度。
在一步方法中,价值信息是沿着时间逐步向前传递的。以一步 TD 或一步 Sarsa 为例,当前更新只会直接使用一步奖励,以及下一状态或下一状态—动作对的现有估计。这样做的结果是,如果某个关键奖励出现在较远的未来,那么它不会立刻影响更早的状态或动作,而是要通过后继价值的多次更新,逐步往前传回来。
例如,假设某个正奖励出现在第 $t+3$ 步。
在一步方法里,这个奖励会先直接影响第 $t+2$ 步附近的价值估计;接着还需要后续更新,才能再影响第 $t+1$ 步;再经过更多更新,才会传到第 $t$ 步。也就是说,信息传播是“逐跳进行”的。
而在 n-step 方法里,如果 $n$ 足够覆盖这个奖励出现的位置,那么这个奖励就可以在一次更新中直接进入更早时刻的目标。例如,当采用 3-step 或 4-step 目标时,第 $t+3$ 步附近的奖励就可能直接出现在对 $s_t$ 或 $(s_t,a_t)$ 的更新目标中。这样一来,本来需要经过多轮一步更新慢慢前传的信息,现在可以更快地作用到前面的估计。
所以,从这个角度看,多步方法的一个直接意义就是:
它让延迟奖励的信息能够跨越更长的时间范围,更快地传回到早期状态或动作。
这在奖励稀疏、回报延迟明显的任务里尤其重要。因为在这类任务中,如果只依赖一步传播,学习往往会显得比较慢,而多步目标能够更直接地把“后面发生了什么”反馈到前面。
再看第二个角度:偏差与方差。
前面已经多次提到,一步 TD 和蒙特卡洛各有优缺点,这种差异本质上就体现在偏差和方差上。
一步 TD 的目标是
$$ r_t+\gamma V_\pi(s_{t+1}) $$或者动作价值情形下的
$$ r_t+\gamma Q_\pi(s_{t+1},a_{t+1}) $$这里后半部分使用的是当前价值估计,而不是真实完整回报。因此,它的目标通常带有一定偏差(Bias):如果当前估计本身还不够准确,那么这个不准确性就会进入更新目标。
但与此同时,一步方法的目标只依赖很短的一段真实样本,因此通常具有较低的方差(Variance)。因为它没有把整段未来轨迹中的随机性都累加进来,目标波动往往相对更小。
与之相对,蒙特卡洛方法直接使用完整回报
$$ G_t $$作为目标,不再依赖当前价值估计,因此从“是否使用估计值替代未来”这个意义上说,它的目标偏差更小,甚至可以理解为不引入这种自举偏差。但完整回报会把后续整段轨迹中的随机性全部纳入进来,所以目标波动通常更大,也就是方差更高。
于是,多步方法正好落在两者之间。
n-step 回报
$$ G_t^{(n)} = r_t+\gamma r_{t+1}+\cdots+\gamma^{n-1}r_{t+n-1}+\gamma^n V_\pi(s_{t+n}) $$或者动作价值版本,本质上是:
- 前面一部分使用真实奖励;
- 后面一部分仍然使用当前估计。
因此,当 $n$ 增大时,目标里真实奖励所占的部分更多,自举所占的部分更少,目标通常会更接近真实回报,于是偏差往往减小;但同时,由于真实采样部分变长,累积进来的随机性更多,方差通常会上升。
反过来,当 $n$ 较小时,目标更接近一步 TD,自举成分更强,偏差可能更明显,但方差通常较小。
所以,多步方法最核心的第二层意义就是:
它提供了一个从低方差、高偏差的一步 TD,到低偏差、高方差的蒙特卡洛之间的连续折中。
这也是为什么 $n$ 通常不是一个纯理论上固定的数字,而更像一个方法设计中的调节旋钮。不同任务、不同环境随机性、不同奖励结构下,合适的 $n$ 可能并不相同。
到这里,其实可以把这一篇前面的内容再统一起来看一遍:
- 一步 TD 解决了“必须等完整回报”的问题,但看得较近;
- 蒙特卡洛看得最远,但更新滞后、波动较大;
- n-step 方法则在两者之间提供了一条连续可调的中间路径。
因此,多步方法真正解决的问题,并不是“能不能再多写几项奖励”,而是更本质的两个问题:
第一,如何让未来信息更快地影响当前估计;
第二,如何在自举带来的偏差与完整回报带来的方差之间,找到更合适的平衡。
小结
回到这篇文章最开始的问题:如果一步更新过于局部,而完整回报又过于滞后,能否在两者之间找到一种折中方式?现在这个问题已经有了比较清晰的答案。
n-step 回报给出的思路是:先向后展开有限步的真实奖励,再在某个位置接上当前的价值估计。 这样一来,一步 TD 和蒙特卡洛方法就不再是彼此割裂的两端,而是被放到了同一条连续的路径上。
沿着这条路径,可以看到:
- 当 $n=1$ 时,得到的一步目标就是 TD(0) 或一步 Sarsa 所使用的目标;
- 当 $n$ 不断增大并一直展开到回合结束时,就会逐渐逼近蒙特卡洛回报;
- 而中间的有限步目标,则构成了多步时序差分方法。
在状态价值情形下,这对应于 n-step TD;在动作价值情形下,自然得到 n-step Sarsa。它们的共同特征都是一样的:既保留了时序差分方法“可以不等完整回报就提前更新”的优点,又比一步方法显式利用了更长范围的真实未来信息。
因此,多步方法可以看成是对上一篇一步方法的一次自然扩展。上一篇的重点是说明“为什么可以用一步目标进行自举更新”;这一篇进一步说明的是:自举并不一定非得发生在一步之后,它可以推迟到第 $n$ 步之后。
而这样做带来的结果也已经比较明确:
第一,多步目标通常能让延迟奖励的信息传播得更快。某些本来需要经过多轮一步更新才能逐步传回来的信息,现在可以在一次更新中跨越更长的时间范围。
第二,多步目标在偏差(Bias)与方差(Variance)之间提供了更灵活的折中。步数较小时,更接近一步 TD;步数较大时,更接近蒙特卡洛;不同任务可以根据需要选择不同的中间位置。
从这里再往前走,一个很自然的问题就是:既然 $n$ 可以取 1、2、3、……,那么是否一定要预先固定某一个具体步数?或者说,能不能把不同步数的信息进一步组合起来,而不是只选其中某一个?
这正会把问题继续引向后面的一个更一般的方向:资格迹(Eligibility Traces) 以及 TD($\lambda$)。从某种意义上说,n-step 方法已经搭好了这个过渡的桥梁。因为一旦认识到一步、自举、多步、完整回报其实都在同一条连续路径上,那么下一步最自然的想法就是:不只使用单个 n-step 目标,而是把不同步数的目标按某种方式统一起来。