强化学习入门学习第二课 —— 基础方法 :时序差分学习

2025-12-17 12:00:34
文章摘要
摘要:时序差分学习(TD)是强化学习的核心方法,巧妙结合了蒙特卡洛和动态规划的优势。TD(0)通过即时奖励和下一状态价值估计更新当前价值函数,其核心是TD误差反映"惊喜程度"。文章详细介绍了经典TD算法SARSA(同策略)和Q-Learning(异策略)的更新公式与区别,并通过悬崖行走示例对比两者行为差异。此外还探讨了TD与MC方法的偏差-方差权衡,以及拓展方法TD(λ)和资格

目录

为什么需要TD学习?

TD学习的核心思想

1. 价值函数的定义

2. TD(0) 更新公式

3. TD误差的直观理解

TD学习流程图

经典TD算法:SARSA与Q-Learning

1. SARSA(State-Action-Reward-State-Action)

2. Q-Learning

3. SARSA vs Q-Learning 对比

TD与MC方法的偏差-方差权衡

拓展:TD(λ) 与资格迹

1. n步TD方法

2. TD(λ) 算法

3. 资格迹(Eligibility Traces)

💡 实践小贴士

总结

嗨,欢迎来到强化学习的世界!🎉

在强化学习中,时序差分学习(Temporal Difference Learning,简称TD) 是一种非常核心且优雅的学习方法。它巧妙地结合了蒙特卡洛方法(Monte Carlo) 和动态规划(Dynamic Programming) 的优点,是现代强化学习算法的基石。

今天我们就来深入了解TD学习的原理、公式推导以及经典算法!💪


为什么需要TD学习?

在介绍TD之前,我们先回顾一下其他两种方法的特点:

方法

优点

缺点

动态规划(DP)

利用贝尔曼方程进行自举(Bootstrap)

需要完整的环境模型

蒙特卡洛(MC)

不需要环境模型,从经验中学习

必须等到回合结束才能更新

TD学习的出现就是为了取两者之长:

  1. 像MC一样,不需要环境模型
  2. 像DP一样,可以在线更新(不用等回合结束)

TD学习的核心思想

1. 价值函数的定义

首先,回顾状态价值函数的定义:

其中:

  1. \pi 是策略
  2. \gamma \in [0,1] 是折扣因子
  3. R_{t+k+1} 是在时刻 t+k+1 获得的奖励

2. TD(0) 更新公式

TD学习的核心更新公式如下:

让我们拆解这个公式:

符号

含义

\alpha

学习率(步长),控制更新幅度

R_{t+1}

执行动作后获得的即时奖励

\gamma V(S_{t+1})

下一状态的折扣价值估计

R_{t+1} + \gamma V(S_{t+1})

TD目标(TD Target)

R_{t+1} + \gamma V(S_{t+1}) - V(S_t)

TD误差(TD Error),记作 \delta_t

3. TD误差的直观理解

TD误差可以理解为"惊喜程度":

  1. \delta_t > 0:实际情况比预期好 😊
  2. \delta_t < 0:实际情况比预期差 😢
  3. \delta_t = 0:与预期一致 😐

TD学习流程图


经典TD算法:SARSA与Q-Learning

1. SARSA(State-Action-Reward-State-Action)

SARSA是一种同策略(On-policy) TD控制算法,直接学习动作价值函数 Q(s,a)

更新公式:

算法伪代码:

初始化 Q(s, a) 为任意值
对于每个回合:
    初始化状态 S
    根据Q选择动作 A(如ε-greedy)
    
    重复(对于回合中的每一步):
        执行动作 A,观测 R, S'
        根据Q选择动作 A'(如ε-greedy)
        Q(S, A) ← Q(S, A) + α[R + γQ(S', A') - Q(S, A)]
        S ← S'
        A ← A'
    直到 S 是终止状态


2. Q-Learning

Q-Learning是一种异策略(Off-policy) TD控制算法。

更新公式:

关键区别: Q-Learning使用 \max_a Q(S_{t+1}, a) 而不是实际采取的动作的Q值。

算法伪代码:

初始化 Q(s, a) 为任意值
对于每个回合:
    初始化状态 S
    
    重复(对于回合中的每一步):
        根据Q选择动作 A(如ε-greedy)
        执行动作 A,观测 R, S'
        Q(S, A) ← Q(S, A) + α[R + γ max_a Q(S', a) - Q(S, A)]
        S ← S'
    直到 S 是终止状态




TD与MC方法的偏差-方差权衡


拓展:TD(λ) 与资格迹

1. n步TD方法

TD(0)只看一步,而我们可以扩展到n步:

更新公式变为:

n值

方法类型

n = 1

TD(0)

n = ∞

蒙特卡洛

1 < n < ∞

n步TD

2. TD(λ) 算法

TD(λ)巧妙地结合了所有n步回报的加权平均:

其中 \lambda \in [0,1] 是衰减参数:

  1. \lambda = 0 等价于 TD(0)
  2. \lambda = 1 等价于 MC

3. 资格迹(Eligibility Traces)

资格迹是一种高效实现TD(λ)的技术:

更新规则:


实践小贴士

  1. 学习率选择\alpha 通常取0.01~0.1,太大会震荡,太小收敛慢
  2. 探索策略:常用ε-greedy,ε一般从1.0逐渐衰减到0.01
  3. 初始化:乐观初始化可以促进探索
  4. 回放缓冲区:结合经验回放可以提高样本效率

总结

特性

动态规划

蒙特卡洛

TD学习

需要环境模型

✅ 是

❌ 否

❌ 否

需要完整回合

❌ 否

✅ 是

❌ 否

自举

✅ 是

❌ 否

✅ 是

在线学习

✅ 是

❌ 否

✅ 是

TD学习是强化学习中的核心方法,理解它对于学习更高级的算法(如DQN、Actor-Critic等)至关重要!

希望这篇文章对你有帮助!如果有任何问题,欢迎在评论区讨论 💬

觉得不错的话,别忘了点赞收藏哦! ⭐👍

声明:该内容由作者自行发布,观点内容仅供参考,不代表平台立场;如有侵权,请联系平台删除。
标签:
强化学习(RL)
Q-Learning