我正在阅读Silver et al (2012) "Temporal-Difference Search in Computer Go",并试图了解资格跟踪算法的更新顺序。
在本文的算法1和2中,权重在更新资格跟踪之前进行更新。我想知道这个顺序是否正确(算法1中的第11行和第12行,以及算法2中的第12行和第13行)。
考虑到lambda=0
的极端情况,该参数不会使用初始状态操作对进行更新(因为e
仍为0)。所以我怀疑顺序是否应该相反。
有人可以澄清这一点吗?
我发现该论文对于学习强化学习领域很有指导意义,因此想详细了解该论文。
如果有一个更合适的平台问这个问题,请也告诉我。
答案 0 :(得分:2)
在我看来您是正确的,e
应该在之前更新theta
。根据本文的数学计算,这也应该发生。例如,参见方程式(7)和(8),其中e_t
首先使用phi(s_t)
计算,而只有THEN被theta
使用delta V_t
更新( delta Q
(在控制案例中)。
请注意,您用lambda=0
写的关于极端情况的内容并不完全正确。初始状态-动作对仍将参与更新(不在第一次迭代中,但是在第二次迭代中它们将并入e
中)。但是,在我看来,第一个奖励r
永远不会在任何更新中使用(因为它只出现在第一个迭代中,其中e
仍然是0
)。由于本文是关于Go的,因此我认为这无关紧要;除非他们做的是非常规的事情,否则他们可能只会对终端游戏状态使用非零奖励。