1. 时序差分学习(TD Learning)的核心思想
1.1 从蒙特卡洛到TD学习的演进
想象你正在教一个机器人学习走迷宫。传统蒙特卡洛方法就像让机器人完整走完整个迷宫后才告诉它哪里走错了——这显然效率低下。TD学习则像实时导航系统,每走一步就立即给出反馈:"刚才那个转弯不错,继续保持"或者"这个方向不太对,建议调整"。
蒙特卡洛方法的核心局限在于:
- 必须等待整个回合(episode)结束才能获得回报G_t
- 对于长周期任务(如围棋),学习速度会变得极其缓慢
- 高方差问题突出,因为G_t受整个轨迹随机性的影响
TD学习的突破性在于发现了价值函数的递归特性:
V(s_t) = E[r_t + γV(s_{t+1})]
这个看似简单的等式意味着——我们不需要等待最终结果,用下一步的估计值就能更新当前状态的价值。
1.2 TD(0)算法的数学本质
TD(0)的更新公式:
V(s_t) ← V(s_t) + α[r_t + γV(s_{t+1}) - V(s_t)]
这个公式包含三个关键部分:
-
TD目标(Target):r_t + γV(s_{t+1})
- 即时奖励 + 折扣后的下一状态估值
- 相比蒙特卡洛的G_t,这个目标具有更低的方差
-
TD误差(δ):r_t + γV(s_{t+1}) - V(s_t)
- 当前估值与目标的差距
- 驱动参数更新的核心信号
-
学习率α:
- 控制更新步长的超参数
- 通常需要随时间衰减以满足收敛条件
实际应用提示:在机器人控制任务中,设置γ=0.9~0.99能让系统更关注长期收益。学习率α建议从0.1开始,按α_t = α_0/(1+t/T)衰减,其中T是衰减周期。
1.3 TD学习的双重优势
与动态规划(DP)和蒙特卡洛(MC)相比,TD学习实现了最佳平衡:
| 特性 | DP | MC | TD |
|---|---|---|---|
| 需要环境模型 | 是 | 否 | 否 |
| 引导(bootstrap) | 是 | 否 | 是 |
| 更新时机 | 全状态更新 | 回合结束 | 单步后更新 |
| 方差 | 低 | 高 | 中 |
| 偏差 | 无 | 无 | 可能有 |
这种平衡使得TD特别适合:
- 大规模问题(不需要完整轨迹)
- 在线学习场景(实时更新)
- 部分可观测环境(通过值函数估计弥补信息缺失)
2. TD(λ)算法:多步预测的统一框架
2.1 λ-回报的数学构造
TD(0)只使用一步信息,而蒙特卡洛使用整条轨迹。TD(λ)通过引入λ∈[0,1]参数,创造了连续统:
n步回报定义:
G_t^(n) = Σ_{k=0}^{n-1} γ^k r_{t+k} + γ^n V(s_{t+n})
λ-回报则是所有n步回报的几何加权平均:
G_t^λ = (1-λ)Σ_{n=1}^∞ λ^{n-1} G_t^(n)
这个设计精妙之处在于:
- 当λ=0时,退化为TD(0)
- 当λ=1时,等价于蒙特卡洛
- 中间值实现不同长度的多步预测
2.2 前向视角与后向视角
前向视角(理论分析用):
- 需要等待未来信息计算G_t^λ
- 概念清晰但不适合在线学习
后向视角(实际算法):
- 通过资格迹(e_t)实现在线更新
- 每个状态维护一个"信用度"追踪器
- 更新规则:
e_t(s) = γλe_{t-1}(s) + I(s=s_t)
V(s) ← V(s) + αδ_t e_t(s)
调试经验:在Atari游戏实验中,λ=0.7通常能取得较好平衡。对于稀疏奖励任务(如围棋),可适当提高λ至0.9以获取更多远期信息。
2.3 资格迹的生物学启示
有趣的是,资格迹机制与神经科学中的"突触标记"现象高度吻合:
- 多巴胺信号(对应TD误差)广泛投射
- 活跃过的突触(对应资格迹)更容易被强化
- 这种机制使得生物智能体也能实现高效的时序信用分配
实际实现时,资格迹有三种常见形式:
- 累积迹(标准形式):e_t = γλe_{t-1} + I(s)
- 替换迹:e_t(s) = max(γλe_{t-1}(s), I(s=s_t))
- 荷兰迹:结合前两者的混合形式
3. 核心算法实现与优化
3.1 SARSA:On-policy控制算法
SARSA的名称来源于其更新依赖的五元组(s,a,r,s',a')。其核心更新规则:
Q(s,a) ← Q(s,a) + α[r + γQ(s',a') - Q(s,a)]
算法特点:
- 采用ε-greedy策略进行探索
- 学习的是当前策略下的动作价值
- 收敛相对稳定但可能保守
在悬崖行走(Cliff Walking)环境中的典型表现:
- 会学习到更安全的路径(避开悬崖边缘)
- 相比Q-learning更少冒险行为
- 适合需要安全探索的场景(如医疗决策)
3.2 Q-learning:Off-policy控制算法
Watkins提出的Q-learning采用更激进的更新方式:
Q(s,a) ← Q(s,a) + α[r + γmax_a' Q(s',a') - Q(s,a)]
关键突破:
- 直接学习最优策略的价值函数
- 行为策略(如ε-greedy)与目标策略分离
- 理论上保证收敛到最优Q函数
实际应用时的技巧:
- 使用目标网络稳定训练(DQN的核心改进)
- 优先经验回放(Prioritized Experience Replay)
- Double Q-learning解决过高估计问题
3.3 收敛性理论分析
TD算法的收敛基于随机近似理论,核心条件包括:
-
步长序列满足Robbins-Monro条件:
Σα_t = ∞
Σα_t^2 < ∞ -
状态/动作空间满足遍历性
-
价值函数表示能力足够(如表格法或神经网络通用近似)
收敛速度方面:
- 线性TD(0)的收敛率为O(1/t)
- 非线性情况可能陷入局部最优
- 使用梯度TD方法(如GTD2)可以保证收敛
4. 高级扩展与前沿方向
4.1 深度强化学习的TD应用
DQN(Deep Q-Network)的关键创新:
- 经验回放缓冲:打破时序相关性
- 目标网络:稳定TD目标计算
- 卷积网络:直接从像素学习
实现技巧:
- 使用Huber损失代替MSE提高稳定性
- 定期更新目标网络(如每1000步)
- 梯度裁剪防止爆炸
4.2 多步TD的权衡技巧
Rainbow DQN中的多步学习:
- 通常选择n=3~5步
- 需要调整经验回放的存储方式
- 与优先级采样结合时需要重要性采样校正
4.3 策略梯度中的TD应用
Actor-Critic框架中:
- Critic通常使用TD误差作为优势估计
- GAE(Generalized Advantage Estimation)是TD(λ)的推广:
A_t^GAE = Σ(γλ)^l δ_
实践建议:
- 对于连续控制任务(如MuJoCo),GAE的λ通常取0.9~0.98
- 需要配合策略熵正则化防止过早收敛
5. 工程实现与调试经验
5.1 参数设置指南
典型超参数范围:
| 参数 | 离散控制 | 连续控制 |
|---|---|---|
| γ | 0.95~0.99 | 0.97~0.995 |
| λ | 0.6~0.8 | 0.9~0.98 |
| α | 1e-4~5e-3 | 3e-5~1e-4 |
| ε衰减 | 1M~10M步线性衰减 | 通常不用ε-greedy |
5.2 常见问题排查
-
价值函数发散:
- 降低学习率
- 检查奖励缩放(建议[-1,1]范围)
- 添加梯度裁剪
-
策略停止改进:
- 增加探索率ε或策略熵系数
- 检查是否陷入局部最优
- 尝试调整TD步数n或λ
-
训练不稳定:
- 使用目标网络
- 增大经验回放缓冲
- 批量归一化观测值
5.3 性能优化技巧
- 使用N-step异步更新(A3C架构)
- 混合CPU-GPU架构:
- CPU负责环境交互
- GPU批量处理神经网络更新
- 分布式经验回放(如Ape-X架构)
6. 理论前沿与发展方向
当前研究热点:
-
基于模型的TD学习(MBRL)
- 学习环境动力学模型
- 在模型上执行TD更新
- 如MuZero算法
-
离线强化学习
- 从固定数据集学习
- 解决分布偏移问题
- 如CQL算法
-
多智能体TD学习
- 考虑其他智能体影响
- 非平稳环境处理
- 如VDN、QMIX等方法
未来挑战:
- 部分可观测环境的TD扩展
- 长周期信用分配问题
- 探索与利用的平衡自动化
