lambda - 资格跟踪 : On-line vs Off-line λ-return algorithm

标签 lambda return offline reinforcement-learning online-algorithm

我有一些问题想弄清楚为什么你需要从书中的 λ-return 算法的在线版本的每个地平线上重新访问一个情节的所有时间步长:
Reinforcement Learning: An Introduction, 2nd Edition, Chapter 12, Sutton & Barto

Horizon step-by-step expansion

这里,每个水平 h 的所有权重向量序列 W1、W2、...、Wh 都从 W0(前一集末尾的权重)开始。然而,它们似乎并不依赖于前一个地平线的返回/权重,并且可以独立计算。在我看来,这只是为了澄清而解释的那样,你只能在剧集结束时为最终地平线 h=T 计算它们。这与算法的离线版本所做的相同,实际更新规则是:

General weight-vector update formula

毫不奇怪,我在 19 状态随机游走示例中的 2 种算法得到了完全相同的结果:

On-line VS Off-line graph chart

书中提到在线版本应该表现得更好一点,在这种情况下,它应该与真正的在线 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/

相关文章:

function - Lua函数返回问题

java - 在java中返回 boolean 值?

java - 如何使用函数返回 Iterable?

html - 下载 html 页面供离线使用

vue.js - 如何使用 Electron js 和 Vue 离线制作桌面应用程序,具有服务器端 Laravel?

java - lambda foreach parallelStream 创建的数据少于预期

c# - 有没有办法分解 Expression<Func<T, Bool>> 并获得相等比较的右侧?

c# - 创建、组合和缓存 lambda 表达式

Python 和 Tkinter - 设置标签文本变量的按钮命令问题

map - 在 phonegap 应用程序中制作离线传单 map ?