现代最成功的优化算法主要包括以下几类:
1. Adam 系列(最主流)
Adam(Adaptive Moment Estimation)是当前深度学习领域最常用的默认优化器,被公认为最成功的算法之一:
-
核心优势:融合动量(Momentum)和RMSprop的优点,自适应调整每个参数的学习率,对学习率初始化不敏感
-
实践表现:在大型模型和数据集上表现出色,收敛速度快,能处理稀疏梯度
-
变体:AdamW(带权重衰减)已成为Transformer等现代架构的标准配置
"Adam算法可以说是深度学习领域中最常用的优化算法...融合了其他优化算法的优点" "Adam是在实际应用中使用得最多的...平滑的好处在于对学习率不敏感,如果说没有太多的时间去调参的话,Adam是一个不错的选择"
2. SGD with Momentum
尽管Adam更流行,但带动量的随机梯度下降(SGD + Momentum)仍是泛化能力最强的经典选择:
-
核心优势:最终收敛性能往往优于Adam,能找到更好的局部最优解
-
适用场景:当有足够时间精细调参时,SGD+Momentum能达到最优性能
-
特点:收敛较慢但更稳定,在小数据集上有时表现更好
"我们大多数采用的优化算法还是adam和SGD+momentum...adam收敛虽快但是得到的解往往没有sgd+momentum得到的解更好"
3. RMSprop
作为AdaGrad的改进版,RMSprop在特定场景下表现突出:
-
核心优势:缓解学习率衰减过快问题,适合处理非平稳目标
-
典型应用:循环神经网络(RNN)训练效果良好
4. 新兴与专用算法
-
LARS/LAMB:专为大规模Batch训练设计,在分布式训练中表现优异
-
Adadelta:无需设置初始学习率,在分类问题上效果较好
-
Sharpness-Aware Minimization (SAM):提升模型泛化能力的新方向
实践选择建议
表格
复制
| 场景 | 推荐算法 | 理由 |
|---|---|---|
| 快速原型验证 | Adam/AdamW | 调参成本低,收敛快 |
| 追求最佳性能 | SGD + Momentum | 泛化能力强,收敛更优 |
| RNN/LSTM | RMSprop | 对序列数据适应性好 |
| 超大Batch训练 | LAMB/LARS | 稳定大Batch收敛 |
| 资源有限/小数据 | SGD | 避免Adam过度拟合噪声 |
总结趋势
当前Adam/AdamW是绝对主流(尤其在NLP、CV预训练),但SGD+Momentum仍是不可忽略的强力竞争者。许多实践者采用两阶段策略:先用Adam快速收敛,再切换到SGD微调以获得更好泛化性能。这种组合策略融合了两种算法的优势,代表了现代深度学习优化的实用智慧。

2万+

被折叠的 条评论
为什么被折叠?



