我有一些问题想弄清楚为什么你需要从书中的 λ-return 算法的在线版本的每个地平线上重新访问一个情节的所有时间步长:
Reinforcement Learning: An Introduction, 2nd Edition, Chapter 12, Sutton & Barto
这里,每个水平 h 的所有权重向量序列 W1、W2、...、Wh 都从 W0(前一集末尾的权重)开始。然而,它们似乎并不依赖于前一个地平线的返回/权重,并且可以独立计算。在我看来,这只是为了澄清而解释的那样,你只能在剧集结束时为最终地平线 h=T 计算它们。这与算法的离线版本所做的相同,实际更新规则是:
毫不奇怪,我在 19 状态随机游走示例中的 2 种算法得到了完全相同的结果:
书中提到在线版本应该表现得更好一点,在这种情况下,它应该与真正的在线 TD(λ) 具有相同的结果。在实现后者时,它确实优于离线版本,但我无法弄清楚简单而缓慢的在线版本。
如有任何建议,我们将不胜感激。
谢谢
最佳答案
This appears to me explained like that just for clarification and you can calculate them only for the final horizon h=T at episode termination.
这不是真的。在线 λ-return 算法的全部要点在于它是在线的:它在剧集中进行更新。 This is crucial in the control setting, when actions selected are determined by the current value estimates.即使在预测设置中,为早期视野所做的权重更新也会产生影响。
这是因为最后一个地平线的最终权重向量总是用于计算更新目标,即截断的 lambda 返回。所以w_1^1用于计算h=2的所有目标,w_2^2用于计算h=3的所有目标。因为目标是使用最新的权重向量计算的,所以它们通常更准确。
即使在预测设置中,在线 lambda 返回算法也优于离线版本,因为它使用的目标更好。
关于lambda - 资格跟踪 : On-line vs Off-line λ-return algorithm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55000663/