Artificial intelligence 平均报酬问题的SARSA算法

Artificial intelligence 平均报酬问题的SARSA算法,artificial-intelligence,reinforcement-learning,q-learning,Artificial Intelligence,Reinforcement Learning,Q Learning,我的问题是关于在强化学习中使用SARSA算法来解决一个未贴现的连续(非情节)问题(它能用于这样的问题吗?) 我一直在研究Sutton和Barto的教科书,他们展示了如何修改Q学习算法,使其可以用于未贴现的问题。他们在第6.7章中将新算法(针对未贴现问题)称为R-学习。基本上,在R-learning中,Q(s,a)在每次迭代中的更新规则是: Q(s,a)=Q(s,a)+alpha*[r-rho+max_a{Q(s',a)}-Q(s,a)] 在这里,只有在状态s处选择贪婪操作时,才在每次迭代中更新r

我的问题是关于在强化学习中使用SARSA算法来解决一个未贴现的连续(非情节)问题(它能用于这样的问题吗?)

我一直在研究Sutton和Barto的教科书,他们展示了如何修改Q学习算法,使其可以用于未贴现的问题。他们在第6.7章中将新算法(针对未贴现问题)称为R-学习。基本上,在R-learning中,Q(s,a)在每次迭代中的更新规则是:

Q(s,a)=Q(s,a)+alpha*[r-rho+max_a{Q(s',a)}-Q(s,a)]

在这里,只有在状态s处选择贪婪操作时,才在每次迭代中更新rho。rho的更新规则为:

rho=rho+beta*[r-rho+max_a{Q(s',a)}-max_a{Q(s,a)}]

(这里,alpha和beta是学习参数。)现在,我的问题是关于SARSA,而不是Q学习。我想修改SARSA算法,使其适用于平均报酬(未贴现)问题,就像Q-学习被修改用于平均报酬问题一样(我不知道这是否可行?)。然而,在文献中,我找不到一个关于如何针对平均报酬问题修改SARSA的确切解释

下面是我的猜测,在一个未解决的问题中应该如何使用SARSA。我猜更新规则应该是:

Q(s,a)=Q(s,a)+alpha*[r-rho+Q(s',a')-Q(s,a)]

其中a'是在s状态下实际选择的动作。这似乎相当明显。但rho应该如何更新呢?我的猜测是,由于SARSA是一种on-policy算法,所以每次迭代时都应该更新rho,无论是否在s处选择贪婪操作,更新规则应该是:

rho=rho+beta*[r-rho+Q(s',a')-Q(s,a)]


有人能告诉我这是否正确吗?或者rho是否仍应根据s和s'状态下的最佳行动进行更新?

首先,问题在于未贴现的非偶发性任务是一个病态问题,因为预期的奖励是发散的(除非奖励具有某些属性,使其在未来减少)

编辑:对不起,我在书中查阅了参考章节,注意到R-learning确实是一种处理未打折的非情节性任务的方法


AD REM:我认为以这种方式更新rho背后的想法是估计当前政策的平均回报。因此,我猜测,即使SARSA是一个on-policy方法,您也应该仅在选择贪婪操作的情况下更新rho。这是因为如果你想准确估计当前政策的平均回报,你应该只考虑当你遵循这项政策时会发生的事件。由于勘探步骤而发生的事件并不代表“该政策的价值”的准确样本。当然,这只是一个直观的论点——我没有任何R-learning方面的经验,也没有正式分析过这个问题。

另一个原因是我建议以后详细阐述你的文章。虽然这可能是一个答案,但它需要更彻底的解释才能真正引人注目。谢谢你的建议。我已经更新了答案-很遗憾,它的初始版本没有任何意义:)现在这是一个更好的答案:]谢谢!