资格痕迹:在线与离线λ回报算法

3
我有一些疑惑,不太明白为什么在线版本的λ-return算法需要在每次时间步长中都重新访问一个回合上所有时间步骤。这个问题来自以下书籍的第12章《强化学习导论》(第2版)作者是 Sutton & Barto:
Reinforcement Learning: An Introduction, 2nd Edition, Chapter 12, Sutton & Barto

Horizon step-by-step expansion

图中,每个时域 h 的权重向量序列 W1、W2、......、Wh 都从前一个回合结束时的权重 W0 开始。但它们似乎不依赖于先前时域的回报/权重,并且可以独立计算。这对我来说似乎只是为了澄清而解释,您只需在回合终止时为最终时域 h=T 计算即可。这与离线版本算法所做的相同,实际更新规则如下:

General weight-vector update formula

毫不奇怪,在19状态随机行走示例上,两种算法给出了完全相同的结果:

On-line VS Off-line graph chart

书中提到,在线版本应该表现得更好,并且在这种情况下应该与 True Online TD(λ) 的结果相同。但是,在实现后者时,其性能真的比离线版本要好得多,但是我无法想象简单而缓慢的在线版本为什么能做到这一点。

非常感谢您的建议。

1个回答

3

我觉得这个解释只是为了澄清,并且你只能在每轮结束时的最终时间点h=T计算它们,这是不正确的。

实际上,在线λ返回算法的整个意义就在于它是在线的:它在每个轮次中进行更新。这在控制环境中非常重要,因为所选的动作是由当前值估计决定的。即使在预测环境中,早期视角的权重更新也会产生影响。

这是因为最后一个视角的最终权重向量始终用于计算更新目标——截断λ返回。因此,w_1^1用于计算所有h=2的目标,w_2^2用于计算所有h=3的目标。由于目标是使用最新的权重向量计算的,它们通常更准确。

即使在预测环境中,在线λ返回算法的表现也优于离线版本,因为它使用的目标更好。


@philip_raesghasem 您是正确的,在控制设置中这更为重要。在线版本中,值估计会朝向与离线版本相同的方向更新,唯一的区别是终止时间T被替换为地平线h,并且在最后使用G{t:h}而不仅仅是Gt。我不明白的是,如果在书中他们在引用您之前说了几句话:“每个序列中的第一个权重向量wh0都是从上一个情节继承来的(因此它们对于所有h都是相同的)”,那么为什么在最终地平线T之前进行这些更新会有影响呢? - xenomeno
是的,关于更详细的更新我同意。我只是想知道为什么最后结果并没有像书中离线版本那样稍微好一些。谢谢。 - xenomeno
@xenomeno,我重新审视了这个问题并意识到我错了。我的编辑答案有一些具体的更改,您应该在您的代码中进行。 - Philip Raeisghasem
在哪里将w_1^1用作h=2的目标,或者将w_2^2用作h=3的目标?对于每个h:w_0^h是相同的初始权重向量(从上一集继承,而不是地平线),只使用来自相同地平线的w_t^h,例如它们不依赖于前一个地平线的w_t^(h-1)? - xenomeno
@xenomeno 每次更新的目标是截断的lambda回报G。请参见(12.9)和(12.1)以了解如何计算它。它最终是一些权重w的函数。您在计算每个视野h的G时使用的权重是w_{h-1}^{h-1}。 - Philip Raeisghasem
对于现在阅读此内容并像我一样感到困惑的任何人,最关键的隐含句子在第298页的顶部:“我们有了新的数据,包括R2和S2以及新的w1,因此现在我们可以构建一个更好的更新目标...” - Robin Carter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接