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

常见优化器总结

一、BGD(批量梯度下降)

定义:批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。

优点:一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。

缺点:当样本数据m很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。

二、SGD(随机梯度下降)

定义:每次迭代仅使用一个训练样本来计算损失函数的梯度,并更新模型参数

特点:适用于大规模数据集和在线学习场景

三、Momentum(动量法)

定义:通过引用一个累计梯度的指数加权平均,将过去的梯度信息考虑进当前的参数更新中,从而增加稳定性和提高训练效率。

特点:常用于改进随机梯度下降(SGD)和小批量梯度下降(MBGD)等优化器

四、NAG(Nesterov Accelerated Gradient)

定义:在动量法基础上进行改进的优化算法,先按照之前的动量更新参数,再在这个新的位置计算梯度,并根据此调整更新方向。

特点:可以减少摆动,加快收敛速度

五、Adagrad

定义:一种自适应梯度下降的优化器,对不同参数使用不同的学习率。对于更新频率较低的参数施以较大的学习率,对于更新频率较高的参数使用较小的学习率。

特点:使用大规模数据集和特征提取任务

六、RMSprop

定义:对Adagrad的一种改进,根据梯度的历史信息来自适应地调整学习率。使用梯度的指数加权平均而不是累积和来计算学习率。

特点:适用于处理非稀疏数据和长期依赖的问题

七、Adadelta

定义:对Adagrad的另一种改进,通过计算梯度平方的指数加权移动平均来避免学习率趋于0的问题,同时简化了计算。

特点:适用于需要很长时间训练的大型神经网络和需要稳定学习率的任务

八、Adam

定义:结合了AdaGrad和Momentum两种优化算法的优点,能够快速收敛并且减少训练时间。

Adam优化器计算出每个参数的独立自适应学习率,不需要手动调整学习率的大小

特点:适用于处理大规模数据和训练复杂模型


http://www.kler.cn/a/468445.html

相关文章:

  • vue3中mixins替代方案
  • 【深度学习】Java DL4J基于 CNN 构建农作物病虫害检测模型
  • 【react】常见的性能优化 1
  • 如何用Python爬虫获得淘宝商品详情API返回值说明
  • 在 HTC 手机和计算机之间快速传输视频/电影
  • asp.net core webapi中的数据注解与数据验证
  • Flink使用
  • Three.js教程011:贴图的加载与环境遮蔽贴图强度设置
  • 计算机网络--应用层--HTTP
  • 【HDU】1090 A+B for Input-Output Practice (II)
  • maven的中国镜像有哪些
  • 【QED】魔咒解密
  • USB子系统学习(一)USB电气信号
  • Nginx——静态资源部署(二/五)
  • 基于word2vec的文本大数据分析
  • OpenCV计算机视觉 05 图像边缘检测(Sobel算子、Scharr算子、Laplacian算子、Canny边缘检测)
  • 印象笔记07——试一试PDF标注
  • Go语言的 的引用数据类型(Reference Data Types)基础知识
  • 【DevOps】Jenkins项目发布
  • Linux驱动开发(17):输入子系统–电阻触摸驱动实验