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

Mou*_*ous 6 reinforcement-learning q-learning sarsa

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

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

Pab*_* EM 10

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

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

在此输入图像描述

在此输入图像描述

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

SARSA和Q学习的伪代码摘自Sutton和Barto的书:强化学习:简介(HTML版本)

  • 在上面显示的两个实现中,在epsilon = 0的情况下,总是根据从Q派生的策略选择动作.但是,Q-learning首先更新Q,并且它基于更新的Q选择下一个动作.在SARSA的情况下,它会选择下一个动作并在更新之后Q.所以,我认为它们并不等同. (6认同)
  • 在随机情况下,即使您不使用泛化,它也会产生一些影响.例如,如果当前状态和下一个状态相同.但是,正如您所指出的那样,在某些特定情况下,两种算法都可以学习相同的策略. (3认同)