资格迹算法的更新顺序

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

能否有人澄清这一点?

我发现这篇论文对学习强化学习领域非常有指导意义,所以我想详细了解这篇论文。

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

enter image description hereenter image description here


回答:

在我看来,你是对的,e应该在theta之前更新。这也符合论文中的数学公式。例如,参见方程(7)和(8),其中e_t首先使用phi(s_t)计算,然后才使用delta V_t(在控制情况下为delta Q)更新theta

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

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注