10

Q-learning 和 SARSA 之间的区别在于 Q-learning 比较当前状态和可能的最佳下一个状态,而 SARSA 比较当前状态和实际下一个状态。

如果使用贪心选择策略,即 100% 的时间选择具有最高动作值的动作,那么 SARSA 和 Q-learning 是否相同?

4

3 回答 3

16

好吧,实际上不是。SARSA 和 Q-learning 之间的一个关键区别在于 SARSA 是一种 on-policy 算法(它遵循正在学习的策略),而 Q-learning 是一种 off-policy 算法(它可以遵循任何策略(满足一些收敛要求) .

请注意,在以下两种算法的伪代码中,SARSA 选择 a' 和 s' 然后更新 Q 函数;而Q-learning首先更新Q-function,并且在下一次迭代中选择下一个要执行的动作,从更新后的Q-function导出,不一定等于选择更新Q的a'。

在此处输入图像描述

在此处输入图像描述

在任何情况下,这两种算法都需要探索(即采取不同于贪婪动作的动作)才能收敛。

SARSA 和 Q-learning 的伪代码摘自 Sutton 和 Barto 的书:Reinforcement Learning: An Introduction(HTML 版)

于 2015-10-27T08:46:05.693 回答
4

如果我们只使用贪心策略,那么将没有探索,因此学习将不起作用。在 epsilon 变为 0 的极限情况下(例如 1/t),那么 SARSA 和 Q-Learning 将收敛到最优策略 q*。然而,当 epsilon 固定时,SARSA 将收敛到最优epsilon-greedy策略,而 Q-Learning 将收敛到最优策略 q*。

我在这里写一个小笔记来解释两者之间的区别,希望对您有所帮助:

https://tcnguyen.github.io/reinforcement_learning/sarsa_vs_q_learning.html

于 2017-08-04T13:41:42.563 回答
0

如果最优策略已经形成,纯贪婪的 SARSA 和 Q-learning 是一样的。

然而,在训练中,我们只有一个策略或次优策略,具有纯贪婪的 SARSA 只会收敛到可用的“最佳”次优策略,而不会尝试探索最优策略,而 Q-learning 会这样做,因为在此处输入图像描述,这意味着它会尝试所有可用的操作并选择最大的一个。

于 2019-04-09T22:26:56.907 回答