- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是关于在强化学习中使用 SARSA 算法来解决一个未折现的、持续的(非情节)问题(它可以用于这样的问题吗?)
我一直在研究 Sutton 和 Barto 的教科书,他们展示了如何修改 Q-learning 算法,以便它可以用于解决未打折扣的问题。他们在第 6.7 章中将新算法(用于未折现的问题)称为 R-learning。基本上,在 R-learning 中,每次迭代 Q(s,a) 的更新规则是:
Q(s,a) = Q(s,a) + alpha * [r - rho + max_a{Q(s',a)} - Q(s,a)]
在这里,只有在状态 s 选择贪婪 Action 时,才会在每次迭代中更新 rho。 rho 的更新规则是:
rho = rho + beta * [r - rho + max_a{Q(s',a)} - max_a{Q(s,a)}]
(这里,alpha 和 beta 是学习参数。)现在,我的问题是关于 SARSA,而不是 Q-learning。我想修改 SARSA 算法,使其适用于平均奖励(未折扣)问题,就像修改 Q-learning 以用于平均奖励问题一样(我不知道这是否可能?) .然而,在文献中我找不到关于如何针对平均奖励问题修改 SARSA 的确切解释。
以下是我对 SARSA 应如何用于未贴现问题的猜测。我猜更新规则应该是:
Q(s,a) = Q(s,a) + alpha * [r - rho + Q(s',a') - Q(s,a)],
其中 a' 是在状态 s 实际选择的 Action 。这似乎相当明显。但是 rho 应该如何更新呢?我的猜测是,由于 SARSA 是一种 on-policy 算法,因此每次迭代都应始终更新 rho - 无论是否在 s 处选择了贪婪操作 - 并且更新规则应该是:
rho = rho + beta * [r - rho + Q(s',a') - Q(s,a)]。
有人能告诉我这是否正确吗?还是应该根据状态 s 和 s' 的最佳 Action 更新 rho?
最佳答案
首先,问题是未折现的非情节任务是病态问题,因为预期奖励是发散的(除非奖励具有某些属性,这会使它们在 future 减少)。
编辑:对不起,我已经查找了书中引用的章节,并注意到 R 学习确实是一种处理未折现的非情节任务的方法。
AD REM:我认为以这种方式更新 rho 背后的想法是估计当前策略的平均奖励。因此,我猜测即使 SARSA 是一种基于策略的方法,您也应该仅在选择了贪婪操作时才更新 rho。这是因为如果您想准确估计当前政策的平均奖励,您应该只考虑在您遵循此政策时会发生的事件。由于探索步骤而发生的事件并不代表“该策略的值(value)是什么”的准确样本。这当然只是一个直观的论点——我没有任何 R 学习经验,也没有正式分析过这个问题。
关于artificial-intelligence - 平均奖励问题的 SARSA 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696637/
我在无模型强化学习中遇到了 SARSA 算法。具体来说,在每个状态下,您将执行一个操作 a,然后观察一个新状态 s'。 我的问题是,如果你没有状态转移概率方程 P{next state |当前状态 =
在尝试将 Episodic Semi-gradient Sarsa with 神经网络实现为逼近器时,我想知道如何根据当前学习到的网络权重选择最佳 Action 。如果 Action 空间是离散的,我
我正在尝试实现资格跟踪(前瞻性),其伪代码可以在下图中找到 我不确定 For all s, a 的含义(从下面第 5 行)。他们从哪里获得 s, a 的集合? 如果是前瞻性的,是否从当前状态向前循环观
我已经使用表查找成功实现了 SARSA 算法(一步法和使用资格跟踪)。本质上,我有一个 q 值矩阵,其中每行对应一个状态,每列对应一个操作。 类似于: [Q(s1,a1), Q(s1,a2), Q(s
我正在用 C++ 实现 SARSA(lambda) 模型,以克服 DP 模型的一些限制(DP 模型所需的大量时间和空间),这有望减少计算时间(需要相当多的时间 atm)对于类似的研究),更少的空间将允
我的问题是关于在强化学习中使用 SARSA 算法来解决一个未折现的、持续的(非情节)问题(它可以用于这样的问题吗?) 我一直在研究 Sutton 和 Barto 的教科书,他们展示了如何修改 Q-le
我有一个关于 this 的问题SARS FA。 在输入单元格 142 中我看到此修改后的更新 w += alpha * (reward - discount * q_hat_next) * q_hat
我正在查看这个 SARSA-Lambda 实现(即:具有资格跟踪的 SARSA),但有一个细节我仍然不明白。 (图片来自http://webdocs.cs.ualberta.ca/~sutton/bo
Q-learning 和 SARSA 的区别在于 Q-learning 比较当前状态和可能的最佳下一个状态,而 SARSA 比较当前状态和实际下一个状态。 如果使用贪心选择策略,即 100% 的时间选
虽然我知道SARSA符合政策,而 Q-learning是偏离策略的,当查看他们的公式时,(对我来说)很难看出这两种算法之间的任何区别。 根据书Reinforcement Learning: An In
我正在尝试基于 Sutton & Barto's Book 实现线性梯度下降 Sarsa ,算法见下图。 但是,我很难理解算法中的某些内容: w 和 z 的维度是否与可以采取的不同操作数量无关?在书中
由于我是这个领域的初学者,所以我对不同的 epsilon 值将如何影响 SARSA 和 Qlearning 与用于 Action 选择的 epsilon 贪婪算法之间的影响表示怀疑。 据我了解,当 e
我是一名优秀的程序员,十分优秀!