SARSA

Parent: ai_keywords

核心定义

SARSA(State-Action-Reward-State-Action)是一种模型无关的时序差分(TD)控制算法,属于强化学习中的在线策略(on-policy) 方法。其名称源自更新时使用的五元组 (s, a, r, s', a'):当前状态-动作对,获得的奖励,下一状态,以及下一状态实际执行的动作。SARSA 通过逐步逼近最优动作价值函数 Q(s,a),使智能体在与环境交互的过程中直接优化其行为策略本身。

关键技术点

  1. 在线策略学习
    SARSA 使用当前策略(如 ε-贪婪策略)采集数据,并同时用该策略产生的 (s,a,r,s',a') 元组更新 Q 值。这意味着“学到的策略”与“探索时执行的策略”完全一致,避免偏离当前行为分布,保证了策略改善的稳定性。

  2. Q 值更新公式
    单步 SARSA 的更新规则为:
    Q(s,a) ← Q(s,a) + α [r + γ Q(s',a') - Q(s,a)]
    其中 α 为学习率,γ 为折扣因子。与 Q-learning 不同,SARSA 使用下一状态的真实动作 a'(而非贪心动作)来构造 TD 目标,因此其更新方差更低,但对探索噪声更敏感。

  3. ε-贪婪探索与收敛行为
    SARSA 通常结合 ε-贪婪策略,在每一步以概率 ε 随机选择动作,以概率 1-ε 选择当前 Q 最大动作。随着训练进行,ε 逐渐衰减,算法最终收敛到最优策略(满足一定条件下)。由于在线性质,SARSA 在收敛过程中会“谨慎”对待高风险动作,更适合安全敏感任务。

  4. 与 Q-learning 的本质差异
    Q-learning 是离线策略算法,其 TD 目标 r + γ max_a' Q(s',a') 隐含假设后续采取贪心动作,因此可能高估价值并导致激进策略。SARSA 则使用实际采样动作,其 TD 目标更接近当前策略的真实回报,因此 SARSA 通常表现更保守,在奖励稀疏或环境噪声大的场景中更鲁棒。

医学/神经科学应用场景

脑卒中后上肢运动功能康复的个性化难度调节
首都医科大学宣武医院神经康复中心的研究中,针对脑卒中后偏瘫患者的上肢康复训练,引入 SARSA 算法构建自适应训练系统。
系统将患者当前运动功能状态(如关节活动度、肌力评分)定义为状态 s,可选的康复任务难度(如目标位置、阻力等级)为动作 a,康复训练后功能改善的量化评估(如 Fugl-Meyer 量表得分变化)作为即时奖励 r
SARSA 算法实时更新 Q 表,每当患者完成一次试次,系统根据前一次状态-动作对及后续状态和实际执行的下一动作 a' 更新价值估计,动态调整后续任务难度。由于 SARSA 的在线保守特性,它能在避免过度疲劳或失败挫败(防止患者放弃)的前提下,逐步引导患者挑战更高难度任务,最终安全、高效地改善运动功能。该设计已在宣武医院神经康复科的初步临床试验中展现出优于固定难度方案的康复效率。