大模型基础--优化器

举报
剑指南天 发表于 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. 总结:优化器定义了参数更新的微观机制,结合学习率调节器能同时获得收敛速度、训练稳定性、模型精度和泛化能力的最优解。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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