描述
状态–动作–奖励–状态–动作(SARSA)是机器学习的强化学习领域中的一项基本算法。最初由 Rummery 和 Niranjan 开发为“改进的联结主义 Q-Learning”,其当前名称 SARSA 由 Rich Sutton 推广。该名称本身源自构成其 Q 值更新规则基础的五个元素:当前状态(S)、采取的动作(A)、获得的奖励(R)、后续状态(S')以及在新状态下选择的下一个动作(A')。这个特定的序列,通常表示为(S_t, A_t, R_{t+1}, S_{t+1}, A_{t+1}),正是赋予该算法独特名称的原因。
SARSA 作为一种同策略学习算法运行,这意味着它在遵循某个策略的同时学习该策略的价值。该算法的核心在于其 Q 值更新方程:Q_new(S_t, A_t) ← (1 - α)Q(S_t, A_t) + α [R_{t+1} + γ Q(S_{t+1}, A_{t+1})]。其中,α 代表学习率,控制新信息覆盖旧信息的程度;γ 是折扣因子,决定了未来奖励的重要性。学习率为 0 意味着不发生学习,而学习率为 1 则优先考虑最新信息。折扣因子为 0 使智能体变得短视,只关注即时奖励,而接近 1 的因子则鼓励最大化长期奖励。
与 Watkin 的 Q-Learning 等算法不同,后者通过考虑下一个状态可能获得的最大奖励来估计最优状态-动作值函数,SARSA 则学习与其当前执行策略相关的 Q 值。这种区别对于理解其行为至关重要,尤其是在采用探索策略的环境中。Q-Learning 的优化有时可以应用于 SARSA。算法的性能也受其初始条件的影响。“乐观初始条件”,即 Q 值被设置为一个高值(可能为无穷大),可以通过使初始动作看起来更有回报来鼓励探索。最近的研究还探索了使用首次获得的奖励来重置初始条件,从而在确定性奖励场景中实现即时学习,这种方法与人类学习模式一致。
SARSA 特别适用于需要在环境中通过试错来学习最优行为的智能体,尤其是在行动后果未完全知晓的情况下。其同策略的性质使其适用于智能体必须学习根据特定策略行事的场景,例如在机器人技术、游戏玩法或资源管理中,其中探索策略直接影响学习到的策略。
状态–动作–奖励–状态–动作亮点
学习马尔可夫决策过程策略
使用状态、动作、奖励、下一个状态和下一个动作进行更新
同策略学习算法
基于学习率(alpha)的 Q 值更新规则
用于未来奖励重要性的折扣因子(gamma)
可适应不同的初始条件
支持用于探索的乐观初始条件
可整合首次奖励以重置初始条件
强化学习智能体的基础
在动态环境中实现自适应决策
适用于通过试错学习
状态–动作–奖励–状态–动作入门
初始化状态-动作对的 Q 值
根据当前策略和 Q 值选择一个动作
执行动作,观察奖励和下一个状态
根据当前策略在新的状态下选择下一个动作
使用 SARSA 更新规则更新前一个状态-动作对的 Q 值
重复直到收敛或满足终止条件
状态–动作–奖励–状态–动作的使用案例
- 机器人控制
- 游戏 AI 开发
- 自主导航
- 资源管理
- 个性化推荐
- 算法交易






