何时选择SARSA与Q Learning


19

SARSA和Q Learning都是强化学习算法,它们以相似的方式工作。最显着的差异是SARSA处于策略状态,而Q Learning处于策略状态。更新规则如下:

Q学习:

Q(st,at)Q(st,at)+α[rt+1+γmaxaQ(st+1,a)Q(st,at)]

SARSA:

Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]

其中st,atrt是状态,在时间步t处的动作和奖励,而γ是折扣因子。

它们的外观基本相同,只是在SARSA中我们采取实际行动,在Q Learning中我们采取最高奖励的行动。

在任何理论或实践环境中,一个都应该偏爱另一个吗?我可以看到,在Q Learning中获得最大收益可能会非常昂贵,甚至在连续的动作空间中甚至更多。但是还有别的吗?


在连续动作空间中,通常使用直接策略搜索方法(例如各种策略梯度方法),因为如您所知,为连续动作空间维护和评估离散值函数是不切实际的,尤其是当动作空间具有多个维度时(由于维数诅咒)。
HelloGoodbye 18/09/20

Answers:


27

它们的外观基本相同,只是在SARSA中我们采取实际行动,在Q Learning中我们采取最高奖励的行动。

实际上,接下来,您都“采取”了实际的单个生成动作。在Q学习中,无论您采取了哪种操作,您都将从可能的下一个操作的最大估计值更新估计值。在SARSA中,您将根据更新估算值并采取相同的措施。at+1

这可能就是您在问题中“采取”的意思,但是在文献中,采取行动意味着它成为的值,并影响,。atrt+1st+1

在任何理论或实践环境中,一个都应该偏爱另一个吗?

与SARSA相比,Q学习具有以下优点和缺点:

  • Q学习直接学习最优策略,而SARSA在探索过程中学习接近最优的策略。如果要使用SARSA学习最佳策略,则需要确定一种在 epsilon-贪婪动作选择中衰减的策略,这可能会成为调整的怪异超参数。ϵϵ

  • Q学习(通常是非政策学习)的每样本方差高于SARSA,因此可能会出现收敛问题。当通过Q学习训练神经网络时,这成为一个问题。

  • SARSA将趋于趋同,以允许探索性行动可能受到的惩罚,而Q学习将忽略它们。这使SARSA变得更加保守-如果存在接近最佳路径的较大负面奖励的风险,Q学习将倾向于在探索时触发该奖励,而SARSA倾向于避免危险的最佳路径并仅缓慢学习使用它降低勘探参数时。证明这种效果的经典玩具问题被称为“ 悬崖行走”

在实践中,如果错误造成的损失很大,那么最后一点将有很大的不同-例如,您正在训练的机器人不是在模拟中,而是在现实世界中。如果机器人损坏了实时性和金钱,您可能更喜欢一种保守的学习算法,该算法可以避免高风险。

如果您的目标是在模拟中或在低成本且快速迭代的环境中训练最佳代理,那么由于第一点(直接学习最佳策略),Q学习是一个不错的选择。如果您的代理商在线学习,并且您在乎学习时获得的回报,那么SARSA可能是更好的选择。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.