一、基础优化器
- 随机梯度下降(SGD)
• 核心:∇θJ(θ) = η * ∇θJ(θ)
• 特点:学习率固定,收敛路径震荡大
• 适用场景:简单凸优化问题
• 改进方向:动量加速
二、动量系优化器
2. SGD with Momentum
• 公式:v_t = γv_{t-1} + η∇θJ(θ)
• 效果:平滑梯度更新,加速收敛
• 经典参数:γ=0.9(多数场景推荐)
三、自适应学习率家族
3. Adagrad
• 创新:∇θJ(θ)_t = ∇θJ(θ) / (sqrt(ρ) + sqrt(∑g²))
• 特性:自动调节学习率,适合稀疏数据
• 缺陷:学习率单调衰减易过早停止
RMSProp
• 改进:梯度平方移动平均代替累积和
• 公式:E[g²]t = 0.9rms_decayE[g²]{t-1} + 0.1*g²
• 优势:缓解Adagrad学习率衰减问题
• 默认参数:η=0.001, γ=0.9Adam
• 融合:动量 + RMSProp
• 更新公式:
m_t = β1*m_{t-1} + (1-β1)g_t
v_t = β2v_{t-1} + (1-β2)g_t²
θ = θ - η(m_t)/(1-β1t)/(v_t/(1-β2t))
• 优势:计算高效,参数敏感度低
• 推荐配置:β1=0.9, β2=0.999, η=0.001
四、进阶优化器
6. AdamW(权重衰减正则化)
• 改进:解耦权重衰减与梯度更新
• 效果:提升模型泛化能力,尤其在Transformer架构中表现显著
Nadam(Nesterov-accelerated Adam)
• 创新:Nesterov动量提前修正梯度
• 优势:比标准Adam更快收敛3-10%LAMB(Large Batch Optimization)
• 适用:大规模mini-batch训练
• 特征:动态缩放学习率与梯度
五、选择建议矩阵
训练数据 | 模型类型 | 目标 | 推荐优化器 | |
---|---|---|---|---|
小样本 | 图像分类 | CNN | 快速收敛 | SGD+Momentum |
大样本 | NLP处理 | Transformer | 稳定训练 | AdamW |
超大规模 | 深度强化学习 | 多层网络 | 资源效率 | LAMB |
高精度调优 | 计算机视觉 | ResNet | 最终性能 | SGD+Momentum |
六、调试技巧
- 学习曲线分析:观察loss曲面是否出现震荡(动量不足)或平台期(学习率过低)
- 权重初始化验证:对He初始化配合SGD效果更佳
- 混合精度训练:结合AMP技术可提升Adam训练速度3-5倍
- 渐进式学习率:使用OneCycleLR策略可减少调参次数
七、最新进展
2023年ICML论文提出的AdaBelief优化器,在ImageNet-21k数据集上达到与AdamW相当的分类精度,但参数量减少15%。其核心创新是通过可信区间估计动态调整学习率,值得关注。
需要具体场景的配置建议或某个优化器的数学推导细节,我可以进一步展开说明。建议根据具体任务在Colab上运行对比实验,使用TensorBoard观察不同优化器的loss下降曲线差异。