KnightCap国际象棋引擎中TD-Leaf算法的不一致

人工智能 机器学习 强化学习 游戏-ai
2021-11-16 07:09:40

请注意,在下面的公式中,最右边的项乘以λdi

w:=w+αi=1N1r(xil,w)j=iN1λjidi

注意i是第一个总和的索引。

但是,在下面的公式中,该术语是dm,这是di在第一个等式中。

wj:=wj+αi=1N1r(xil,w)wjm=iN1λmidm

注意m是第二个总和的索引。

在我看来,第一个等式似乎是合理的。λ在第二个实际上似乎像折扣因子一样工作。

在另一个国际象棋引擎Giraffe中,作者引用了同一篇论文,注意到第一个等式,但随后继续实施第二个等式。另见KnightCap 论文

2个回答

第二个等式是正确的。在 TD (λ), 这λλ=0, 和蒙特卡洛回报(使用完整情节的回报)λ=1.

在第一个等式中,j=iN1λjidi可以解释为...总结完全相同的时间差项di多次(具体来说,N1j次),但每次乘以不同的标量。我不确定这有什么用处。

在第二个等式中,m=iN1λmidm可以解释为加权组合;

  • 1×di:这是我们预测的回报之间的差异i+1,而我们之前预测的回报将是i.
  • +λ1×di+1:我们自己的两个预测之间的差异非常相似,现在是当时的预测i+2i+1. 这次时间差项由参数加权λ(完全忽略如果λ=0, 全重如果λ=1, 如果介于两者之间0<λ<1)。
  • +λ2×di+2: 又是一个类似的时差项,现在又向未来迈进了一步。在以下情况下,权重比上一期多一点0<λ<1.
  • 等等。

对于熟悉 TD(λ), 萨尔萨 (λ)、资格痕迹等来自强化学习文献,这更有意义。该符号与 TD 等算法的标准文献仍有一些不同(λ),但实际上一旦你注意到在本文中他们讨论的领域只有与终端状态相关的奖励,而没有中间奖励,实际上就变得等价了。

直观地说,他们在做什么λ参数为短期预测/短期“期望”(英语意义上的单词,而不是单词的数学意义上的)或奖励观察分配更多的权重(或“信用”或“重要性”),长期预测/观察。在极端情况下λ=0,你完全忽略了长期的预测/观察,只传播观察到的奖励非常缓慢,一步一步地传播。在另一个极端情况下λ=1,您将在剧集结束时观察到的奖励以相同的权重传播到剧集的开始,通过您进入的所有状态,为观察到的奖励赋予它们相同的权重。0<λ<1,你选择这两个极端之间的平衡。


另请注意,KnightCap 论文中的方程式(5)(他们类似地讨论了λ=1,就像我上面做的那样)如果我们从你的问题中取第一个方程是不正确的,但如果我们取第二个方程是正确的。

当然,第一个等式是正确的。d是时间差,它是当前状态和下一个状态之间的差。当前状态是i,这个差值需要在求和循环内保持不变。

第二个等式只是一个拼写错误。