时序差分学习(Temporal Difference Learning,简称TD学习)是强化学习中最重要的概念之一,也是现代强化学习算法的核心基础。如果说强化学习是一栋大厦,那么TD学习就是这栋大厦的地基。本文主要是面向初学者,深入理解这个看似复杂但实际上非常直观的学习方法。
学习的本质是什么?
在开始之前,让我们思考一个问题:人类是如何学习的?
想象你第一次学开车。你不会等到考完驾照才开始总结经验,而是在每次练车过程中不断调整:
- 刚开始转弯时总是转得太急,几次练习后学会了提前减速
- 停车时总是停不准,通过观察后视镜的反馈不断改进
- 每次小的改进都基于当时的反馈,而不是等到所有练习结束
这就是TD学习的核心思想:用当前的经验来改进我们的预测,而不是等到所有事情结束。
TD学习的核心思想
时序差分这个名字听起来很学术,但概念其实很简单:
- 时序:涉及时间序列,我们在不同时刻有不同的预测
- 差分:比较不同时刻预测之间的差异
TD学习的核心就是:用"更准确的后续预测"来改进"当前的预测"。简单来说就是“有事及时处理”。
生活化的类比:天气预报学习
假设你想学会预测天气,但你不是气象专家,只能通过观察来学习。
传统方法(等到月底再学习):
- 月初预测:这个月平均气温25度
- 等到月底:实际平均气温27度
- 月底学习:调整下个月的预测策略
TD方法(每天都学习):
- 1号预测:这个月平均25度,明天26度
- 2号实际:昨天确实26度,今天预测这个月平均25.1度,明天27度
- 发现:昨天预测月平均25度,但今天的新信息(实际26度+预测明天27度)暗示月平均可能更高
- 立即调整:把对这个月平均气温的预测从25度调到25.1度
关键洞察:我们不需要等到月底,每天的新信息都能帮助我们改进长期预测!

TD学习的数学原理
TD学习的核心公式看起来是这样的:
V(s) ← V(s) + α × [r + γ × V(s') - V(s)]各部分含义:
- V(s):我们对状态s的价值估计
- α:学习率(0-1之间,比如0.1)
- r:在状态s执行动作后获得的即时奖励
- γ:折扣因子(0-1之间,比如0.9)
- V(s'):我们对下一状态s'的价值估计
核心思想:新估计 = 旧估计 + 学习率 × (更好的估计 - 旧估计)
公式中的 [r + γ × V(s') - V(s)] 被称为TD误差(TD Error),这是TD学习的核心:
r + γ × V(s')
:基于当前经验的"更好估计"
- r:我们实际获得的奖励
- γ × V(s'):未来价值的折扣估计
- V(s):我们之前的估计
- TD误差:两者的差值,告诉我们估计的准确程度
TD误差的含义:
- 如果TD误差 > 0:我们低估了当前状态的价值,应该调高
- 如果TD误差 < 0:我们高估了当前状态的价值,应该调低
- 如果TD误差 = 0:我们的估计刚好准确
机器人学习走迷宫
问题设置
想象一个简单的3×3迷宫:
[S][ ][G]
[ ][#][ ]
[ ][ ][ ]S:起始位置
G:目标位置(奖励+10)
\#:障碍物
空格:可以通行(每步奖励-1)
学习目标:学会评估每个位置的价值(从该位置到达目标的期望累计奖励)
初始状态
刚开始时,机器人对所有位置的价值估计都是0:
价值估计表:
V(S) = 0, V(G) = 10, V(其他位置) = 0
学习率 α = 0.1
折扣因子 γ = 0.9第一次探索过程
步骤1:从S向右移动
- 当前状态:S,价值估计V(S) = 0
- 执行动作:向右
- 获得奖励:r = -1(移动成本)
- 到达新状态:中间位置,价值估计V(中间) = 0
TD更新:
TD误差 = r + γ × V(中间) - V(S)
= -1 + 0.9 × 0 - 0
= -1
更新V(S) = V(S) + α × TD误差
= 0 + 0.1 × (-1)
= -0.1步骤2:从中间向右移动到目标
- 当前状态:中间,价值估计V(中间) = 0
- 执行动作:向右
- 获得奖励:r = 10(到达目标)
- 到达新状态:目标G,价值估计V(G) = 10
TD更新:
TD误差 = r + γ × V(G) - V(中间)
= 10 + 0.9 × 10 - 0
= 19
更新V(中间) = V(中间) + α × TD误差
= 0 + 0.1 × 19
= 1.9第二次探索过程
现在价值估计表变成了:
V(S) = -0.1, V(中间) = 1.9, V(G) = 10再次从S向右移动:
TD误差 = r + γ × V(中间) - V(S)
= -1 + 0.9 × 1.9 - (-0.1)
= -1 + 1.71 + 0.1
= 0.81
更新V(S) = -0.1 + 0.1 × 0.81 = -0.019学习过程的直观理解
通过这个例子,我们可以看到:
- 即时学习:每走一步都更新价值估计,不用等到到达终点
- 信息传播:目标的高价值(+10)逐渐"传播"到前面的状态
- 渐进改进:每次更新都让估计更准确一点点
- 最终收敛:经过足够多的探索,所有状态的价值估计会趋于真实值
TD学习的优势与局限
主要优势
- 模型无关:不需要知道环境的转移概率和奖励函数
- 在线学习:可以在与环境交互过程中实时学习
- 内存高效:不需要存储完整的轨迹历史
- 快速响应:能够快速适应环境的变化
- 理论保证:在一定条件下保证收敛到最优解
主要局限
- 探索问题:如何平衡探索未知状态和利用已知信息
- 函数近似:在大状态空间中需要函数近似,可能不稳定
- 参数调整:学习率、折扣因子等参数需要仔细调整
- 收敛速度:虽然每步都学习,但总体收敛可能较慢