问题标签 [sarsa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
154 浏览

reinforcement-learning - 这是 Sutton&Barto 的 RL 书中的 SARSA λ 主题中的错误吗?

在具有累积资格跟踪的 sarsa λ ( http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node77.html ) 中,给出的算法与公式不匹配。

公式说 E ← ɣλE+ 1

其中 [algo] 使用第一个 E ← E+1 进行更新,然后 E ← ɣλE 使更新有效
E ← ɣλ.(E+1)

哪个是对的?我还看到了具有完全相同公式和算法的研究论文。

他们错过了在 E+1 周围放置一对括号是否是出版物中的差异?
如果是这样,大多数研究论文如何复制相同的错误。

或者
如果我误解了什么,请指出。

0 投票
0 回答
52 浏览

reinforcement-learning - 如何理解 Keepaway 中的 RLstep(与 Sarsa 比较)

在“Stone、Peter、Richard S. Sutton 和 Gregory Kuhlmann。“机器杯足球比赛的强化学习。” Adaptive Behavior 13.3 (2005): 165-188.”中,RLstep 伪代码似乎与 Sarsa(λ) 有很大不同,作者说 RLStep 实现了。

这是RLstep 伪代码,这是Sarsa(lambda) 伪代码

混乱的领域是:

  • Sarsa(λ) 伪代码中的第 10 行在将 1 加 1更新每个状态-动作对的 Q 值e(s,a)。但是在 RLstep 伪代码中,资格跟踪更新(第 19 行)直到值更新(第 17 行)之后才会发生。

  • RLstep 中的第 18 行和第 19 行似乎与 Sarsa(λ) 伪代码完全不同。

  • 第 20-25 行对资格跟踪做了什么?

0 投票
1 回答
651 浏览

reinforcement-learning - 了解线性梯度下降 Sarsa(基于 Sutton 和 Barto)

我正在尝试基于Sutton & Barto's Book实现线性梯度下降 Sarsa ,请参见下图中的算法。

但是,我很难理解算法中的某些内容:

  • w 和 z 的维度是否与可以采取多少不同的动作无关?在书中似乎它们的维度等于特征的数量,我想说这与有多少动作无关。
  • 每个动作都有 aw 和 az 吗?另外,我在书中看不到应该是这种情况。
  • 如果我在上面的两个项目符号中是正确的,那么我看不到索引列表 F_a 将如何依赖于动作,因此我看不到动作值函数 q_a 如何依赖于动作(请参阅下面标有黄色的行在算法中)但是动作值必须取决于动作。所以有些东西我没有得到......

我希望任何人都可以帮助我澄清这一点:)

萨尔萨算法

0 投票
1 回答
462 浏览

r - 如何在 R 程序中获取网格世界模型的 SARSA 代码?

我的学习案例有问题。我对网格世界模型的强化学习很感兴趣。模型是 7x7 运动场的迷宫。考虑一个迷宫般的田野。有四个方向:上、下、左、右(或N、E、S、W)。所以最多有政策。当使用撞墙时给予的立即惩罚时,许多人可以被排除在外。另外采用抑制返回原则通常甚至更少的行动是可以接受的。许多策略仅在目标之后的部分有所不同或等效。

▼ 状态:有障碍物 ▼ 奖励:如果 r=1 如果 s=G,否则 r=0 对于任何允许的移动,否则 r=-100 ▼ 初始化:Q0(a,s)~N(0,0.01)

为了解决这个模型,我编写了一个 R 代码,但它不能正常工作。

模型:7x7,S:开始状态,G:终端状态,O:可访问状态,X:墙壁

所以我想知道如何纠正这个 gridworld 模型的代码(而不是 uppon 代码),并且想知道如何通过 SARSA 模型来解决这个模型。

0 投票
2 回答
212 浏览

machine-learning - 在 SARSA 中加入转移概率

我正在 C++ 中实现一个 SARSA(lambda) 模型,以克服 DP 模型的一些限制(DP 模型所需的大量时间和空间),这有望减少计算时间(类似研究需要几个小时 atm ) 和更少的空间将允许为模型添加更多的肤色。

我们确实有明确的转移概率,它们确实有所作为。那么我们应该如何将它们整合到 SARSA 模型中呢?

简单地根据概率本身选择下一个状态?显然 SARSA 模型并不完全期望你使用概率——或者我可能读错了书。

PS-有没有办法知道算法是否正确实施?第一次与 SARSA 合作。

0 投票
1 回答
295 浏览

reinforcement-learning - 如何防止 lambda = 1 的 SARSA 中的资格跟踪因状态-动作对被大量访问而爆炸?

我在 Windy Grid World 中使用 lambda = 1 测试 SARSA,如果探索导致在达到目标之前多次访问相同的状态-动作对,则资格跟踪每次都会增加而没有任何衰减,因此它会爆炸并导致一切溢出。如何避免这种情况?

0 投票
1 回答
1460 浏览

neural-network - 具有神经网络的情节半梯度 Sarsa

在尝试将Episodic Semi-gradient Sarsa with神经网络实现为逼近器时,我想知道如何根据当前学习的网络权重选择最佳动作。如果动作空间是离散的,我可以只计算当前状态下不同动作的估计值,然后选择给出最大值的那个。但这似乎不是解决问题的最佳方式。此外,如果动作空间可以是连续的(例如自动驾驶汽车的加速),它就不起作用。

所以,基本上我想知道如何解决Choose A' as a function of q(S', , w)萨顿这个伪代码中的第 10 行: 在此处输入图像描述

这些问题通常是如何解决的?有人可以推荐这个算法的一个很好的例子Keras吗?

编辑:使用网络作为逼近器时是否需要修改伪代码?那么,我是否只是简单地最小化MSE了网络的预测和奖励R

0 投票
1 回答
744 浏览

reinforcement-learning - Sarsa 用神经网络解决山地车任务

我正在尝试实施 Sutton 书中描述的用于估计 q 的情节半梯度 Sarsa 来解决Mountain Car Task. 为了近似q,我想使用neural network. 因此,我想出了这段代码。但遗憾的是,我的代理人并没有真正学会解决任务。在某些情节中,发现解决方案非常快(100-200 步),但有时代理需要超过 30k 步。我认为,我在实施中犯了一些基本错误,但我自己无法找到它。有人可以帮助我,并指出我的实施中的错误/错误吗?

0 投票
1 回答
45 浏览

c++ - SARSA 的 Zeta 变量(lamda)

zeta 在critic 方法中代表什么?我相信它会跟踪状态-动作对并表示资格跟踪,这是状态-动作的临时记录,但是 zeta 究竟代表什么以及它在 c++ 中的外观(例如双精度向量)?

评论家 评论家

0 投票
1 回答
2680 浏览

reinforcement-learning - 为什么 Sutton 的 RL 书中没有 n-step Q-learning 算法?

我想我搞砸了。

我一直认为:
- 1-step TD on-policy = Sarsa
- 1-step TD off-policy = Q-learning

因此我得出结论: - n-step TD on-policy = n-step Sarsa
- n-step TD off-policy = n-step Q-learning

然而,在 Sutton 的书中,他从未介绍过 n-step Q-Learning,但他确实介绍了 n-step off-policy Sarsa。现在我感到很困惑。

有人可以帮我命名吗?

链接到 Sutton 的书(Off-Policy n-step Sarsa,第 149 页)