大模型基础--优化器

举报
剑指南天 发表于 2026/05/07 14:04:33 2026/05/07
【摘要】 优化器(Optimizer)是一种用于调整神经网络参数(权重和偏置),用来最小化目标函数(如损失函数)的迭代优化算法。它决定了模型如何根据计算出的梯度来更新参数,是模型训练的核心组件。

1.概述

优化器(Optimizer)是一种用于调整神经网络参数(权重和偏置),用来最小化目标函数(如损失函数)的迭代优化算法。它决定了模型如何根据计算出的梯度来更新参数,是模型训练的核心组件。

优化器的核心是梯度下降法,指沿着目标函数(如损失函数)的负梯度方向逐步调整模型参数,从而逼近目标函数的最小值。梯度方向指示了函数增长最快的方向,因此负梯度方向是函数下降最快的方向

2. 随机梯度下降法(Stochastic Gradient Descent,SGD)

随机梯度法指的是通过随机采样单个或一小批样本来估计梯度,并以此更新模型参数,以最小化损失函数。

SGD有以下问题:

①局部最优解:陷入局部最优,尤其在非凸函数中,难以找到全局最优解。

②鞍点(驻点):陷入鞍点,梯度为0,导致训练停滞。

③收敛速度慢:高维或非凸函数中,收敛速度较慢。

④学习率选择:学习率过大导致震荡或不收敛,过小则收敛速度慢。

3. 动量法(Momentum)

Momentum(动量法)会保存历史梯度并给予一定的权重,使其也参与到参数更新中。

动量法有时能够①减缓优化过程中的震荡,②加快优化的速度。因为其会累计历史梯度,也可以③有效避免鞍点问题。

4. 学习率衰减

学习率衰减是一种平衡策略,初期使用较大学习率快速接近最优解,后期逐渐减小学习率,使参数更稳定地收敛到最优解。核心是学习率参考训练周期,随着训练周期而衰减。

①等间隔衰减:每隔固定的训练周期(epoch),学习率按一定的比例下降,也称为“步长衰减”。

②指定间隔衰减:在指定的epoch,让学习率按照一定的系数衰减。

③指数衰减:学习率按照指数函数f(x) = αx,α<1进行衰减,x为epoch。

5. 自适应梯度(Adaptive Gradient,AdaGrad)

AdaGrad会为每个参数适当地调整学习率,并且随着学习的进行,学习率会逐渐减小。核心是:学习率参考历史梯度的平方和,随着历史梯度而衰减。

所以daGrad会随着学习的深入,更新的幅度就越小。

6. 均方根传播(Root Mean Square Propagation,RMSProp)

RMSProp是在AdaGrad基础上的改进,它并非将过去所有梯度一视同仁的相加,而是逐渐遗忘过去的梯度。

7. 自适应矩估计(Adaptive Moment Estimation,Adam)

Adam融合了Momentum和AdaGrad的方法,在实际训练过程中,取得了较好的效果。

8. AdamW

AdamW 是对 Adam 优化器的改进版本,其主要贡献是将权重衰减(Weight Decay)从梯度更新中解耦。权重衰减的作用是让模型参数逐渐变小,使模型更加平滑、简化,从而减少过拟合。这一作用通常通过在损失函数中加入 L2 正则项来实现,即

通过对较大的权重施加惩罚,使其向 0 收缩。对该损失函数求梯度可得

结合Adam公式得 = gt = +λω,所以:

L2 正则化等价于给参数施加了一个均值为零的高斯先验,这相当于在训练中融入了“参数应该集中在零附近”的信念,使模型训练更加稳定。可以参考 https://bbs.huaweicloud.com/blogs/476748 知道损失函数中入 L2 正则项的必要性。

9. 学习率调度器

学习率调度器(Learning Rate Scheduler)是深度学习训练中一个极其重要的组件。它负责在训练过程中动态地调整学习率,而不是让学习率保持一个固定值。一个好用的学习率调度器可以让模型收敛得更快、更稳,甚至达到更好的最终性能。必备搭配:Warmup(预热)+ Decay(衰减),是当前大模型训练的标准。

9.1 余弦+预热(Cosine with warmup)

Cosine with warmup 学习率调度器先进行一段 warmup,让学习率从 0 线性提升到设定的最大学习率,避免训练初期不稳定。完成 warmup 之后,学习率会再从峰值开始,随训练进程按照余弦公式下降到 0 或者给定的最小学习率,使模型在后期更平稳地收敛。

9.2 线性+预热(Linear with warmup)

Linear with warmup 先进行一段 warmup,让学习率从 0 线性提升到设定的最大学习率,避免训练初期不稳定。完成 warmup 之后,学习率会再从峰值开始,随训练进程线性下降到 0 或者给定的最小学习率,使模型在后期更平稳地收敛。由于简单可靠,这种调度方式在 Transformer 和大模型训练中十分常用。

9.3 恒定+预热(Constant with warmup)

Constant with warmup 先进行一段 warmup,让学习率从 0 线性提升到设定的最大学习率,避免训练初期不稳定。完成 warmup 之后,之后保持学习率不变。

10. 总结:优化器定义了参数更新的微观机制,结合学习率调节器能同时获得收敛速度、训练稳定性、模型精度和泛化能力的最优解。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。