资格跟踪算法,更新顺序

时间:2018-10-15 00:06:41

标签: algorithm machine-learning reinforcement-learning sarsa monte-carlo-tree-search

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

有人可以澄清这一点吗?

我发现该论文对于学习强化学习领域很有指导意义,因此想详细了解该论文。

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

enter image description here enter image description here

1 个答案:

答案 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的,因此我认为这无关紧要;除非他们做的是非常规的事情,否则他们可能只会对终端游戏状态使用非零奖励。