作者:hjp1993 | 来源:互联网 | 2022-12-05 20:34
我正在研究这篇文章中的时间差异学习.这里TD(0)的更新规则对我来说很清楚,但是在TD(λ)中,我不明白在一次更新中如何更新所有先前状态的效用值.
以下是用于比较机器人更新的图表:
上图解释如下:
在TD(λ)中,由于合格性迹线,结果传播回所有先前的状态.
我的问题是,即使我们使用具有资格跟踪的以下更新规则,如何将信息传播到单个更新中的所有先前状态?
在单个更新中,我们只更新单个状态Ut(s)
的实用程序,然后如何更新所有先前状态的实用程序?
编辑
根据答案,很明显,此更新适用于每一步,这就是传播信息的原因.如果是这种情况,那么它再次让我困惑,因为更新规则之间的唯一区别是资格跟踪.
因此,即使资格跟踪的值对于先前的状态不为零,在上述情况下delta的值将为零(因为最初的奖励和效用函数被初始化为0).那么以前的状态如何在第一次更新中获得除零以外的其他效用值?
同样在给定的python实现中,在单次迭代后给出以下输出:
[[ 0. 0.04595 0.1 0. ]
[ 0. 0. 0. 0. ]
[ 0. 0. 0. 0. ]]
这里只更新了2个值而不是所有5个先前的状态,如图所示.我在这里缺少什么?