什么是Temporal Difference (TD)

2021-08-14  本文已影响0人  Rain师兄

Temporal difference 是通过没有环境先验知识的一组episode从环境中学习的一个代理。
这意味着时间差异采用无模型或无监督学习方法。也就是从过去经验中学习。

Gamma (γ): 折扣率,一个介于 0 和 1 之间的值。值越高,您打折的就越少。
Lambda (λ): 信用分配变量。一个介于 0 和 1 之间的值。值越高,您可以分配给更远的状态和操作的功劳越大。
Alpha (α): 学习率。我们应该接受多少错误并因此调整我们的估计。一个介于 0 和 1 之间的值。较高的值会积极调整,接受更多的误差,而较小的值会保守调整,但可能会更保守地向实际值移动。
Delta (δ): 价值的变化或差异。

TD(1) Algorithm

所以我们着手的第一个算法是 TD(1)。 TD(1) 以与 Monte Carlo 相同的方式在回合结束时更新我们的值。所以回到我们的随机游走,随机向左或向右走,直到降落在“A”或“G”。一旦回合结束,则对先前状态进行更新。正如我们上面提到的,如果 lambda 值越高,信用可以分配得越远,在这种情况下,它是 lambda 等于 1 的极端。这是一个重要的区别,因为 TD(1) 和 MC 仅适用于回合环境,这意味着它们需要一个'finish line' 进行更新。

现在让我们看看算法并尝试理解这一点。 Gt(图 2)是我们剧集中所有奖励的折扣总和。因此,当我们在我们的环境中穿越时,我们会跟踪所有奖励并将他们折扣求和。所以让我们表现得好像我们在大声朗读:给定点(时间,t+1)的即时奖励(R)加上未来奖励(Rt+2)乘以折扣(γ)等等。未来的折扣更多(γ^T-1),越是远,折扣的越多。。因此,如果 γ=0.2 并且您在时间步骤 6 对奖励进行折扣,则您的折扣值 γ 变为 γ^6–1,等于 0.00032。仅在 6 个时间步长后就明显变小了。


image.png
上一篇 下一篇

猜你喜欢

热点阅读