当前位置: 首页 > news >正文

CAU人工智能class3 优化器

优化算法框架

在这里插入图片描述

优化思路

随机梯度下降

在这里插入图片描述
随机梯度下降到缺点:
SGD 每一次迭代计算 mini-batch 的梯度,然后对参数进行更新,每次迭代更新使用的梯度都只与本次迭代的样本有关。

  • 因为每个批次的数据含有抽样误差,每次更新可能并不会
    按照正确的方向进行,因此可能带来优化波动(扰动)
  • SGD 最大的缺点是下降速度慢,而且可能会在沟壑的两
    边持续震荡,停留在一个局部最优点

弥补方法

动量(SGD with Momentum)

在这里插入图片描述
当到达左边的最低点时,会在这个低谷来回震荡而无法继续优化函数。
如果增加一个动量就能帮助函数越过低谷继续优化。
原理:
在这里插入图片描述
这使得参数更新的更加平缓,不会有突然发生巨变的情况,有助于避免震荡。

自适应梯度下降(AdaGrad: Adaptive Gradient)

这是一种利用概率统计的方法动态调整学习率大小从而避免优化时来回震荡的方法。
当距离最优解较远时,期望参数更新的步长(学习率 𝛼 )大一些,以便更快收敛到最优解。反之步长减小。

自适应运动(矩)估计(Adam: adaptive moment estimation)

Adam: 融合 Momentum 和 AdaGrad 的思想优化算法,广泛用于深度学习应用中,尤其是计算机视觉和自然语言处理等任务。
Adam 涉及一阶矩和二阶矩

  • 一阶矩:一阶矩 𝑚𝑡 是梯度的指数移动平均,即对过去梯度的加权平均,类似于Momentum方法
    公式如下:𝑚𝑡 = 𝛽1 ∙ 𝑚𝑡−1 + (1 − 𝛽) ∙ 𝑔𝑡
    其中 𝛽1 是一阶矩的平滑因子(通常设置为 0.9 ), 𝑔𝑡 在第 𝑡 次迭代时计算得到的梯度向量
  • 二阶矩 (梯度平方的均值):即历史梯度平方与当前梯度平方的加权平均,类似AdaGrad 方法,体现了环境感知能力,为不同参数产生自适应的学习速率
    公式如下:𝑣𝑡 = 𝛽2 ∙ 𝑣𝑡−1 + (1 − 𝛽2) ∙ 𝑔𝑡
    其中 𝛽2 是二阶矩的平滑因子(通常设置为 0.999 ), 𝑔𝑡 在第 𝑡 次迭代时计算
    得到的梯度向量,二阶矩在这里的作用是捕捉梯度的波动情况,用于自适应地调整学习率。
    修正偏差
    由于初始时刻 m
0
​
=0、v
0
​
=0,早期估计会偏向零。因此需要修正:

参数更新
在这里插入图片描述
这几种方法均可以在模型中直接调用使用,具体不展开。

相关文章:

  • java 集合总结
  • 【Vue3】Vue3工程的创建 及 开发者工具的安装
  • 运维Web服务器核心知识与实战指南
  • 时源芯微|π型LC滤波电路
  • Vue3使用DataV报错无法使用的解决方案
  • 手术机器人行业新趋势:Kinova多机械臂协同系统如何突破复杂场景适应性瓶颈?
  • el-radio-group 与 el-dropdown 组合使用的注意事项
  • torch.matmul() VS torch.einsum()
  • 独占内存访问指令LDXR/STXR
  • Linux nbd 网络块设备(2)-内核实现
  • Universal Media Server (UMS)部署指南
  • 如何做好一份技术文档?
  • docker面试题(3)
  • 学习路之uniapp--unipush2.0推送功能--使用
  • Python包管理工具uv 国内源配置
  • XCOSnTh-fatfsShell
  • 使用Gemini, LangChain, Gradio打造一个书籍推荐系统 (第一部分)
  • 友思特方案 | 光示原形:高精度晶圆缺陷检测的高功率UVLED方案
  • SOC-ESP32S3部分:4-参数配置可视化menuconfig
  • 如何通过外链建设提升Shopify独立站的权重和排名
  • 网站建设推广策划/怎么推广一个平台
  • wordpress防站/郑州网站建设用户
  • 大岭山建设网站/西安百度seo排名
  • 杭州设计企业网站高端公司/兰州搜索引擎优化
  • 域名到期换个公司做网站/怎么去推广一个app
  • 网站开发绩效考核与薪酬/网站建设与管理属于什么专业