优化算法(SGD,RMSProp,Ada)

概述

优化算法就是专门研究如何优化模型的。

常用优化算法

随机梯度下降(SGD)

损失函数是模型参数的函数。因此可以求出损失函数对于模型参数的梯度。可以沿着梯度方向进行参数更新。

SGD存在的问题

SGD + Momentum

该算法主要是为了解决SGD的抖动问题的。

具体实现:

其实就是在计算本次梯度时,会考虑过去的梯度值。例如将 ρ \rho ρ设置为0.9,那么此刻的梯度有 90 % 90\% 90%的部分来自历史值,剩余 10 % 10\% 10%来自于当前的计算值。这样更新方向就不会乱抖动了。

RMSProp

主要作用:==沿着"陡峭"方向的优化变慢;沿着"平缓"方向的优化加快。==稳定优化速度(更新步长)

SGD我们不是要设定学习率参数麻,而RMS可以在训练过程中动态调整参数。

RMSprop的更新规则如下:

  1. 初始化参数 θ \theta θ,设置学习率 η \eta η,衰减系数 ρ \rho ρ(通常设为0.9),以及数值稳定性的小常数 ϵ \epsilon ϵ(通常设为 1e-8 );
  2. 在每次迭代中,计算参数 θ \theta θ 的梯度 g g g ;
  3. 更新累积平方梯度的指数加权移动平均 r r r : r = ρ r + ( 1 − ρ ) g 2 r = \rho r+(1-\rho)g^2 r=ρr+(1−ρ)g2
  4. 计算参数更新量: Δ θ = η r + ϵ ⋅ g \Delta\theta = \frac{\eta}{\sqrt{r + \epsilon}} \cdot g Δθ=r+ϵ η⋅g
  5. 更新参数 θ \theta θ: θ = θ − Δ θ \theta = \theta - \Delta\theta θ=θ−Δθ

AdaGrad算法

与RMS类似的算法,只不过在处理累计梯度的方法上不同

  1. 初始化参数 θ \theta θ,设置学习率 η \eta η,以及数值稳定性的小常数 ϵ \epsilon ϵ(通常设为 1e-8 );
  2. 在每次迭代中,计算参数 θ \theta θ 的梯度 g g g ;
  3. 更新累积平方梯度的指数加权移动平均 r r r,初始为0 : r = r + g 2 r = r+g^2 r=r+g2
  4. 计算参数更新量: Δ θ = η r + ϵ ⋅ g \Delta\theta = \frac{\eta}{\sqrt{r + \epsilon}} \cdot g Δθ=r+ϵ η⋅g
  5. 更新参数 θ \theta θ: θ = θ − Δ θ \theta = \theta - \Delta\theta θ=θ−Δθ

AdaGrad VS RMSProp

AdaGrad: 累积所有过去的梯度平方(无遗忘因子)。这意味着它会不断地累积梯度信息,导致学习率随着时间逐渐减小,可能在后期变得过小,以至于无法继续有效更新;

RMSprop: 使用指数加权平均来累积过去的梯度平方(有遗忘因子)。这种方式使得算法对最近的梯度给予更多的权重,而对旧的梯度逐渐"遗忘",从而避免了学习率过快减小的问题。

学习率的更新

除了通过优化算法来更新学习率之外,我们也可以手动更新学习率

相关推荐
ValhallaCoder10 小时前
Day33-动态规划
数据结构·python·算法·动态规划
Mintopia10 小时前
☁️ Cloud Code 模型演进的优势:从“本地编译”到“云端智能协作”
前端·人工智能·aigc
abcd_zjq10 小时前
VS2026+QT6.9+ONNX+OPENCV+YOLO11(目标检测)(详细注释)(附测试模型和图像)
c++·人工智能·qt·目标检测·计算机视觉·visual studio
Altair澳汰尔10 小时前
成功案例丨平衡性能与安全的仿真:Altair助力 STARD 优化赛车空间车架设计
大数据·人工智能·仿真·fea·有限元分析·cae
不穿格子的程序员10 小时前
从零开始刷算法-二分-搜索插入位置
算法·二分查找
思绪漂移11 小时前
CodeBuddy AI IDE :Skills 模式
ide·人工智能
居7然11 小时前
详解监督微调(SFT):大模型指令遵循能力的核心构建方案
人工智能·分布式·架构·大模型·transformer
KKKlucifer11 小时前
技术漏洞被钻营!Agent 感知伪装借 ChatGPT Atlas 批量输出虚假数据,AI 安全防线面临新挑战
人工智能·安全·chatgpt
oil欧哟11 小时前
AI 的环保账,训练一个模型要用多少电?
人工智能·chatgpt
zhugby11 小时前
受限长度路径搜索算法
经验分享·算法·启发式算法·哈密顿问题·路径搜索算法