资格跟踪算法,更新顺序

Eligibility trace algorithm, the update order

我正在阅读 Silver et al (2012) "Temporal-Difference Search in Computer Go",并试图了解资格跟踪算法的更新顺序。 在论文的算法 1 和算法 2 中,权重在更新资格轨迹之前被更新。我想知道这个顺序是否正确(算法 1 中的第 11 和 12 行,以及算法 2 中的第 12 和 13 行)。 考虑 lambda=0 的极端情况,参数不会用初始状态-动作对更新(因为 e 仍然是 0)。所以我怀疑顺序可能应该是相反的。

有人能澄清一下吗?

我觉得这篇论文对学习强化学习领域很有指导意义,所以想详细了解这篇论文。

如果有更合适的平台问这个问题,也请告诉我。

在我看来你是对的,e 应该在 theta 之前更新。根据论文中的数学计算,这也是应该发生的情况。例如,参见等式 (7) 和 (8),其中 e_t 首先使用 phi(s_t) 计算,然后 theta 使用 delta V_t 更新(这将是delta Q 在控制案例中)。

请注意,您使用 lambda=0 写的关于极端情况的内容并不完全正确。初始状态-动作对仍将参与更新(不是在第一次迭代中,但它们将在第二次迭代期间合并到 e 中)。然而,在我看来,第一个奖励 r 永远不会在任何更新中使用(因为它只出现在第一个迭代中,其中 e 仍然是 0)。由于这篇论文是关于 Go 的,所以我想这无关紧要;除非他们在做一些非常规的事情,否则他们可能只对终端游戏状态使用非零奖励。