趋近智
直接比较 SARSA 和 Q-学习两种算法是很有价值的。它们都是基础的时序差分 (TD) 控制方法,旨在通过估计动作值函数 (Q 值) 来学习最优行为。它们共享 TD 自举的核心思想——根据其他已学估计值更新估计值。然而,它们的更新规则和学习原理存在显著差异,主要源于 SARSA 是一种在线策略算法,而 Q-学习是一种离线策略算法。
核心区别在于每种算法如何计算更新中使用的目标值。让我们回顾一下在采取动作 At 并获得奖励 Rt+1 后,从状态 St 到 St+1 转移的更新规则。
SARSA 更新: SARSA 代表 State-Action-Reward-State-Action。这个名称反映了其更新规则,该规则使用在状态 St+1 中根据当前策略 π 采取的实际动作 At+1。
Q(St,At)←Q(St,At)+α[TD 目标 (使用实际的下一个动作 At+1)Rt+1+γQ(St+1,At+1)−Q(St,At)]目标值 Rt+1+γQ(St+1,At+1) 取决于下一个状态 St+1 和由当前策略选择的下一个动作 At+1 (在学习过程中通常是 ϵ-贪心策略)。SARSA 学习在状态 St 中采取动作 At 然后此后遵循当前策略的价值。
Q-学习更新: 另一方面,Q-学习使用下一个状态 St+1 中最大可能的 Q 值来形成其目标,无论实际接下来采取的动作是什么。
Q(St,At)←Q(St,At)+α[TD 目标 (使用下一个动作的最大 Q 值)Rt+1+γamaxQ(St+1,a)−Q(St,At)]目标值 Rt+1+γmaxaQ(St+1,a) 代表所获得的奖励加上从状态 St+1 中最佳可能动作的折扣值,根据当前的 Q 值估计。Q-学习学习在状态 St 中采取动作 At 然后此后最优地 (贪婪地) 动作的价值,即使智能体实际的下一个动作 At+1 (例如通过 ϵ-贪婪行为选择) 不同。
目标更新的这种差异直接关联到在线策略/离线策略的区别:
学习行为策略 (SARSA) 的价值与最优策略 (Q-学习) 的价值之间的差异可能导致不同的学习行为,特别是在行为可能存在风险的环境中。
考虑一个类似强化学习文献中常用的“悬崖行走”问题的场景。智能体需要找到从起点到目标状态的最短路径,但网格中的一个区域 ('悬崖') 如果进入会产生很大的负奖励。
悬崖行走环境中的路径差异。SARSA 倾向于学习一条更安全、可能更长的远离悬崖的路径,因为它考虑了在边缘附近次优行为动作的负面后果。Q-学习学习最短路径,假设最终会采取最优动作,忽略学习过程中使用的行为策略中固有的风险。
因为 SARSA 在其更新中包含实际选择的动作 At+1 (这可能是一个随机行为动作),所以它学习到靠近悬崖的状态-动作对的 Q 值较低。这鼓励了一种避开危险区域的策略。Q-学习通过使用 max 运算符,学习到最优路径就在悬崖边缘,假设智能体在重要时不会犯行为错误。它对未来的动作更乐观。
| 特性 | SARSA | Q-学习 |
|---|---|---|
| 类型 | 在线策略 TD 控制 | 离线策略 TD 控制 |
| 更新规则 | 使用 (St,At,Rt+1,St+1,At+1) | 使用 (St,At,Rt+1,St+1) 和 maxQ |
| 目标值 | Rt+1+γQ(St+1,At+1) | Rt+1+γmaxaQ(St+1,a) |
| 学习内容 | 行为策略的价值 (包含行为) | 最优 (贪婪) 策略的价值 |
| 行为方式 | 更保守,避免有风险的行为 | 更具进取性,直接学习最优路径 |
| 收敛性 | 收敛到 Qπ (对于策略 π) | 收敛到 Q∗ (最优值) |
SARSA 和 Q-学习之间的选择取决于具体的应用场景。如果你需要在特定行为策略下评估或保证性能,或者如果学习过程中的安全性是主要考量 (避免灾难性行为动作),SARSA 可能更受欢迎。如果主要目的是尽可能高效地找出最优策略,并且学习阶段的性能是次要的,Q-学习通常是更直接的方法,并为许多先进的深度强化学习算法奠定基础。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造