我正在阅读Silver 等人的论文 (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)
计算,然后才使用delta V_t
(在控制情况下为delta Q
)更新theta
。
你关于lambda=0
的极端情况的说法并不完全正确。初始状态-动作对仍然会参与更新(不是在第一次迭代,而是在第二次迭代中被纳入e
)。然而,在我看来,非常第一步的奖励r
永远不会在任何更新中使用(因为它只在第一次迭代中出现,此时e
仍然是0
)。由于这篇论文是关于围棋的,我怀疑这不会有影响;除非他们在做一些非常规的事情,他们可能只对终端游戏状态使用非零奖励。