这一章内容较少,主要是将前面的 MC 和 1-step TD 方法做了一个整合,提出了 n-step TD 方法

7.1 n-step TD Prediction

我们将每隔 n 步做一次时序差分的方法称为n-step TD 方法

从上图可以看出,第六章的方法是 1-step TD ,第五章的 MC 方法则可看作 -step TD 。

n-step return

我们将下面这样的返回值定义为 n-step 返回值:

显然可知,只有当 都确定好后才能得到

n-step TD

将上面的 n 步返回值用于算法更新式,可以得到 n 步 TD 算法

由于 n 步返回值只在一定时间后才能求出,所以也会影响到这一算法,因此在前 n 步都不会作更新。

error reduction property:

上面的 n-step TD 方法的收敛性由 error reduction property 这一性质来保证:

有了这个性质,理论上可以证明 n-step TD 确实能够收敛。

7.2 n-step Sarsa

将 n-step return 加入到 Sarsa 算法的更新式中,即可得到 n-step Sarsa 算法。

此外,期望 Sarsa 算法也类似

Expected Sarsa:

其中

7.3 n-step Off-policy Learning

n-step 的 Off-policy 学习也可以很方便地表示为类似的形式,只需要乘上一个重要性权重即可:

n-step Off-policy Sarsa:

7.4 *Per-decision Methods with Control Variates

前面提到的算法在理论上都比较简洁易算,如下式

但在实际使用中,离线学习可能存在一些效率上的问题,这是因为如果在重要性采样过程中,如果重要性权重 一直较低,此时更新量太小,甚至可以认为没有在更新,所以这会严重影响更新式的更新效率。

一个比较直观简洁的考虑是,采取下式来计算返回值:

这样,当 较大时,返回值的计算结果和之前的原始结果相近;而当 较小时,则会直接采用一个旧的估计 去计算和更新,而不是像之前那样几乎不做更新。

7.5 Off-policy Learning Without Importance Sampling: The n-step Tree Backup Algorithm

离线学习是否可以不引入一个新的 behavior 策略呢?上一章讲 Q-learning 时已经提过,先作整体估计再采取行动的方法,其实就可以看作离线学习策略,而这一章更广义地将这类方法定义为“n-步树回溯法”,即在每步行动前,对所有分支进行整体估计然后做更新,更新之后再采取一个具体行动,这个算法的示意图如下图所示

7.6 *A Unifying Algorithm: n-step

这一小节,将多种算法从理论上进行了公式上的统一,此处不再细讲。