Q学习和SARSA之间的区别在于Q学习比较当前状态和最佳可能的下一状态,而SARSA将当前状态与实际下一状态进行比较。
如果使用贪婪的选择策略,即100%的时间选择具有最高动作值的动作,那么SARSA和Q学习是否相同?
答案 0 :(得分:9)
嗯,实际上并非如此。 SARSA和Q学习之间的一个关键区别是SARSA是一种策略上的算法(它遵循正在学习的策略)而Q-learning是一种非策略算法(它可以遵循任何策略(满足一些收敛要求))
请注意,在以下两种算法的伪代码中,SARSA选择'和s'然后更新Q函数; Q学习首先更新Q函数,并且在下一次迭代中选择要执行的下一个动作,从更新的Q函数导出,并且不一定等于a'选择更新Q。
在任何情况下,两种算法都需要探索(即采取与贪婪行动不同的行动)来收敛。
SARSA和Q学习的伪代码摘自Sutton和Barto的书:Reinforcement Learning: An Introduction (HTML version)
答案 1 :(得分:2)
如果我们只使用贪婪的政策那么就没有探索,所以学习不会起作用。在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
答案 2 :(得分:0)