Q-Learning离线策略学习与SARSA对比
Q-Learning和SARSA都是时序差分学习算法,但分属off-policy和on-policy。请解释两者的更新公式、学习方式差异、收敛性和适用场景。
回答
屠龙少年
Q-Learning和SARSA都是基于时序差分(TD)学习的无模型强化学习算法,核心区别在于策略使用方式。
Q-Learning(Watkins, 1989):
- 更新公式: Q(s,a) ← Q(s,a) + α·[R + γ·max_{a'} Q(s',a') - Q(s,a)]
- 目标值:使用下一个状态的最优Q值(max操作),不依赖于当前行为策略选择的实际动作。
- Off-Policy:行为策略(如ε-greedy)用于与环境交互生成数据,但更新时使用目标策略(贪心)的Q值。
- 直接逼近最优Q*,独立于行为策略。
SARSA(Rummery & Niranjan, 1994):
- 完整名称:State-Action-Reward-State-Action。
- 更新公式: Q(s,a) ← Q(s,a) + α·[R + γ·Q(s',a') - Q(s,a)]
- 目标值:使用下一个状态s'下实际选择的动作a'的Q值。
- On-Policy:行为策略和目标策略是同一个策略(即实际执行的动作就是用于更新的动作)。
关键差异总结:
| 特性 | Q-Learning | SARSA |
|---|---|---|
| 策略 | Off-Policy | On-Policy |
| 目标值 | max_a' Q(s',a') | Q(s',a') |
| 保守性 | 激进(可能高估风险) | 保守(考虑实际策略) |
| 悬崖问题 | 可能掉下悬崖(贪心路径) | 主动绕开悬崖 |
| 收敛 | 确定性MDP下收敛到最优 | 收敛到当前策略的最优值 |
典型对比——悬崖行走(Cliff Walking):
- 环境:智能体从起点到终点,边缘是悬崖(-100奖励)。
- Q-Learning:学习到沿着悬崖边缘走的最优路径,但因为ε-greedy探索,有概率掉下去。
- SARSA:学到更安全的远离悬崖的路径,因为更新时考虑了ε-greedy探索的风险。
适用场景:
- 若探索代价低或可在线调整ε:Q-Learning更好(最终收敛到最优)。
- 若探索代价高(如机器人物理损坏):SARSA更安全(考虑探索时的真实后果)。
- 实际中,DQN(Q-Learning的深度网络版本)更为常用,配合经验回放实现稳定训练。