Q-learning和SARSA的贪婪选择是否相同?

问题描述 投票:4回答:3

Q学习和SARSA之间的区别在于Q学习比较当前状态和最佳可能的下一状态,而SARSA将当前状态与实际下一状态进行比较。

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

reinforcement-learning q-learning sarsa
3个回答
9
投票

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

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

enter image description here

enter image description here

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

SARSA和Q学习的伪代码是从Sutton和Barto的书中提取的:Reinforcement Learning: An Introduction (HTML version)


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


0
投票

如果已经形成了最优政策,那么纯粹贪婪和Q学习的SARSA就是一样的。

然而,在培训中,我们只有一个政策或次优政策,具有纯粹贪婪的SARSA只会收敛到“最佳”次优政策而不试图探索最优政策,而Q学习会做,因为enter image description here,这意味着它会尝试所有可用的操作并选择最大的操作。

© www.soinside.com 2019 - 2024. All rights reserved.