SARSA,即State Action Reward State Action,是一种在强化学习中使用的策略算法,用于在新策略上训练马尔可夫决策过程模型。
SARSA算法完全根据当前的学习策略运行,并且在仅选择产生最大奖励以移动到下一个状态时不考虑任何偏差。
SARSA使用Q表来存储每个状态-动作对的值。使用基于价值的策略,我们通过教它识别哪些状态更有价值来间接训练代理。
通常我们将Q表中的所有值初始化为0,然后使用训练来优化Q表。代理可以使用存储在Q表中的信息来选择每个状态下的最佳动作,即每个状态具有最高值的动作是代理选择的那个。
由于SARSA使用时间差分(TD)方法,算法将在每一步后不断更新Q表,直到达到最大迭代次数或解收敛到最优解。
SARSA算法与Q-learning的区别
SARSA算法是Q-learning算法的改进版本,这两种算法之间的区别在于,SARSA选择遵循当前策略的动作并更新其Q值,而Q-learning选择更贪婪的动作,为状态提供最大Q值,即遵循最优策略。
在代理的两个学习策略中,Q-Learning是一种Off Policy技术,使用贪婪的方法来学习Q值。而SARSA是一种On Policy技术,它使用当前策略执行的操作来学习Q值。
注:对于任何强化学习算法中的学习代理,它的策略可以有两种类型。
On Policy—在这种情况下,学习代理根据当前使用的策略派生的当前动作来学习价值函数。
Off Policy—在这种情况下,学习代理根据从另一个策略派生的动作来学习价值函数。