资格跟踪SARSA-Lambda实施中的剧集之间的重新初始化

MrD*_*MrD 15 machine-learning reinforcement-learning sarsa

我正在研究这个SARSA-Lambda实现(即:具有资格跟踪的SARSA),还有一个我仍然没有得到的细节.

在此输入图像描述

(图片来自http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node77.html)

所以我理解所有Q(s,a)都是更新的,而不仅仅是代理为给定时间步长选择的Q(s,a).我也理解E矩阵在每集开头都没有重置.

让我们假设一分钟图7.12的面板3是第1集的结束状态.

在第2集开始时,代理人向北而不是向东移动,让我们假设这给它奖励-500.这不会影响前一集中访问过的所有州吗?

如果想要奖励那些在当前剧集中被访问过的状态,那么为什么在每集开头都没有重置包含所有e(s,a)值的矩阵?看起来在这个实现中,在上一集中访问过的状态对于代理在这一新剧集中所做的动作是"惩罚"或"奖励".

sea*_*erd 23

我100%同意你的意见.在每集开始时未能重置电子矩阵正是您所描述的问题.据我所知,这是伪代码中的错误.您引用的引用非常流行,因此错误已传播到许多其他引用.然而,这篇引用得很好的论文非常明确地指出应该在剧集之间重新初始化电子矩阵:

资格痕迹初始化为零,在剧集任务中,它们在每集后重新初始化为零.

作为进一步的证据,方法提出:

跟踪e在每集开始时设置为0.

本文的脚注#3 :

......在每次试验开始时,资格痕迹重置为零.

表明这是常见的做法,因为两者都是指剧集之间的重新初始化.我希望还有更多这样的例子.

在实践中,该算法的许多用途不涉及多个剧集,或者具有相对于其衰减率的这样长的剧集,这不会成为问题.我希望这就是为什么它还没有在互联网上更明确地澄清.