《强化学习的数学原理》【学习笔记14】附录 D:梯度下降方法——优化的数学基础
《强化学习的数学原理》赵世钰 著 · 附录 D
RL 算法最终都要优化某个目标函数(值函数误差、策略目标等)。梯度下降是最基本的优化方法,附录 D 系统介绍了它的变体和收敛性质。
一、梯度下降的基本形式
批量梯度下降(GD)
每步用全部数据计算精确梯度。
随机梯度下降(SGD)
每步用一个样本计算随机梯度,满足 。
小批量梯度下降
每步用 个样本,介于 GD 和 SGD 之间。
二、收敛性分析
凸函数的情况
假设 是凸函数,梯度 Lipschitz 连续(常数为 ):
固定步长 GD():
收敛速度 ——次线性收敛。
强凸函数(常数为 ):
收敛速度 ——线性收敛。
在 RL 中的对应:
- 线性值函数近似 + TD:目标函数是凸的 → 收敛
- 非线性(神经网络)+ TD:目标函数非凸 → 无收敛保证
SGD 的收敛
SGD 的收敛比 GD 多一个方差项:
比 GD 的 慢,但每步代价是 vs ,总体效率更高。
三、步长策略
固定步长
(常数)
- 优点:简单
- 缺点:不收敛到精确最优(在最优点附近震荡)
- 适用:实践中最常用,配合衰减使用
递减步长
或
- 满足 RM 条件时:收敛到精确最优
- 缺点:后期步长太小,学习几乎停止
- 适用:理论分析
实践中的策略
| 阶段 | 步长 | 目的 |
|---|---|---|
| 早期 | 大 | 快速接近最优区域 |
| 中期 | 中 | 精细调整 |
| 后期 | 小 | 精确收敛 |
常用:α_t = α_0 / (1 + t / τ)(exponential decay 或 step decay)
四、动量法
标准动量
动量项 累积历史梯度,在一致方向上加速,在震荡方向上抑制。
Nesterov 加速梯度
“先跳再算梯度”,理论上有更快的收敛速度 。
在 RL 中的应用:深度 RL 中常用 Adam 优化器(结合动量和自适应步长),但理解基础动量法有助于理解 Adam 的工作原理。
五、Adam 优化器
算法
m_t = β₁ m_{t-1} + (1-β₁) g_t # 一阶矩估计
v_t = β₂ v_{t-1} + (1-β₂) g_t² # 二阶矩估计
m̂_t = m_t / (1-β₁ᵗ) # 偏差修正
v̂_t = v_t / (1-β₂ᵗ)
w_t = w_{t-1} - α m̂_t / (√v̂_t + ε)
特点
- 自适应步长:每个参数有独立的步长(由二阶矩估计调整)
- 动量:一阶矩估计提供动量效果
- 偏差修正:修正初始阶段的偏差
在 RL 中的使用:Adam 是深度 RL 最常用的优化器。但 RL 中 Adam 的步长 通常比监督学习小(如 vs ),因为 RL 的梯度噪声更大。
六、梯度下降在 RL 中的特殊问题
问题 1:非平稳目标
RL 中,Critic 的目标 依赖 本身——目标随参数变化。这不是标准的 SGD 设定。
影响:收敛性分析更复杂,半梯度方法是一种近似处理。
问题 2:高方差梯度
RL 的梯度估计(如策略梯度 )方差极大。
对策:
- 优势函数(减基准)
- Trust Region / PPO(限制更新步长)
- 方差减少技术
问题 3:双时间尺度
Actor-Critic 中,Actor 和 Critic 用不同步长(通常 Critic 更快):
理论要求:Critic 必须"足够快"地收敛,Actor 才能正确更新。这是双时间尺度随机近似的问题。
七、总结
| 方法 | 每步代价 | 收敛速度 | 适用 |
|---|---|---|---|
| GD | 小数据集 | ||
| SGD | 大数据集 | ||
| 小批量 | 介于两者 | 深度学习 | |
| 动量 | (加速) | 深度 RL | |
| Adam | 实践最快 | 深度 RL 标准 |
- 点赞
- 收藏
- 关注作者
评论(0)