目录

1. 逐个介绍优化器:

2. 不同优化器方法的宏观对比分析

2.1 在分析中的参数命名

​ 2.2 不同优化器的列表对比分析

2.3 不同优化器的可视化对比分析


之前对各个优化器理解的不是特别清晰,最近通过分析,列出一个表格来对比他们之间的异同点。

首先通过列表的方式逐个介绍每个优化器,并做出评价。然后再汇总所有优化器,进行宏观上的比较。

因为公式较多,所以我在word上先编辑好,然后截图过来。

以下文件的下载路径:深度学习优化算法介绍汇总与对比分析.rar 或 优化算法汇总与对比分析.rar。两者内容一致,前者包含pdf,excel,word, 后者仅仅包含pdf文件。

1. 逐个介绍优化器:

文中的符号表示与优化器原论文中不同,主要为了保持本综述的符号一致性。而且,个人认为,更便于接受。

其中,Adabound我还没有进行仔细分析。以下是该算法流程的放大图:

2. 不同优化器方法的宏观对比分析

2.1 在分析中的参数命名

2.2 不同优化器的列表对比分析

先表达最终结论:

所有优化器都可以看作是对最基本的SGD的优化,优化的思路主要有三个:

  • a)用梯度的一阶动量代替梯度作为增量的基量,提升优化算法的速度与鲁棒性。
  • b)用梯度的二阶动量或∞范数动量对学习率进行自适应化,使不同参数有不同的学习率。
  • c)用增量的二阶动量代替学习率基量,取消对学习率超参数的依赖,并使学习率大小与当前参数的大小量级匹配。

具体汇总分析如下:

2.3 不同优化器的可视化对比分析

1. 不同优化器的优化速度比较。SGD最慢,Adadelta最快,动量法会走一些弯路。

2. 遇到鞍点时不同优化器的反应。SGD会被困于鞍点,动量法会在鞍点耽误较长时间。Adadelta脱离速度最快,优化也最快。Rmsprop次之。

3. 动量对梯度下降的影响

注:后面的动画引用自:https://ruder.io/optimizing-gradient-descent/

深度学习中所有的优化器的详细介绍与列表化对比分析相关推荐

  1. 深度学习之神经网络的优化器篇

    神经网络的优化器 文章目录 神经网络的优化器 GD 梯度下降算法 重球法 SGD随机梯度下降 Momentum动量梯度 NAG(Nesterov accelerated gradient) AdaGr ...

  2. 深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结

    深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结 1. 引言 在深度学习中我们定义了损失函数以后,会采取各种各样的方法来降低损失函数的数值,从而使模 ...

  3. 深度学习中的Adam优化算法详解

    Adam论文:https://arxiv.org/pdf/1412.6980.pdf (一).什么是Adam算法? Adam(Adaptive momentum)是一种自适应动量的随机优化方法(A m ...

  4. (十) 深度学习笔记 | 关于优化器Adam

    一.关于优化器 深度学习的目标是通过不断改变网络参数,使得参数能够对输入做各种非线性变换拟合输出,本质上就是一个函数去寻找最优解,所以如何去更新参数是深度学习研究的重点. 通常将更新参数的算法称为优化 ...

  5. 机器学习、深度学习中常用的优化算法详解——梯度下降法、牛顿法、共轭梯度法

    一.梯度下降法 1.总述: 在机器学习中,基于基本的梯度下降法发展了三种梯度下降方法,分别为随机梯度下降法,批量梯度下降法以及小批量梯度下降法. (1)批量梯度下降法(Batch Gradient D ...

  6. 深度学习中常用的优化算法

    参考<动手学深度学习> https://zh.d2l.ai/chapter_optimization/index.html 一维梯度下降 我们先以简单的一维梯度下降为例,解释梯度下降算法可 ...

  7. 深度学习训练之optimizer优化器(BGD、SGD、MBGD、SGDM、NAG、AdaGrad、AdaDelta、Adam)的最全系统详解

    文章目录 1.BGD(批量梯度下降) 2.SGD(随机梯度下降) 2.1.SGD导致的Zigzag现象 3.MBGD(小批量梯度下降) 3.1 BGD.SGD.MBGD的比较 4.SGDM 5.NAG ...

  8. 深度学习中常用的优化方法

    一.basic algorithm 1. SGD 此处的SGD指mini-batch gradient descent,关于batch gradient descent, stochastic gra ...

  9. 深度学习中常用优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)

    本文转载自:https://www.cnblogs.com/guoyaohua/p/8542554.html 在机器学习.深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagr ...

最新文章

  1. 【基于Web攻击】的方式发现并攻击物联网设备,又是一个入狱小技巧
  2. 用计算机打出圣诞树,手机计算器圣诞树的祝福输入方式,手机计算器圣诞树获得方法...
  3. docker安装mysql_Docker 安装 MySQL
  4. 互联网日报 | 美团市值突破万亿港元;北京恢复二级响应;滴滴货运23日上线;微信开放MCN入驻...
  5. NotificationManager滑动不退出_退出支付宝的相互宝大病互助计划居然需要8个步骤!...
  6. Vue router-link 两种传参方法及参数的使用
  7. Java知多少(31)static关键字以及Java静态变量和静态方法
  8. wangEditor 全屏 预览 查看源码
  9. java 实现excel与txt 相互转化
  10. java等额本金、等额本息计算
  11. 数字签名的全过程签名与验证
  12. matlab在脚本中用函数,matlab中脚本和函数的怎么调用
  13. 台式计算机VGA线可以拔掉吗,电脑开机花屏拔掉vga线在插入又会清晰
  14. requests的基本使用以及爬虫的基本介绍:QQ机器人制作基础
  15. haproxy+rabbitmq镜像集群
  16. 论文阅读Check it again:Progressive Visual Question Answering via Visual Entailment
  17. 华为解锁密码忘了怎么办用计算机,不记得手机锁屏密码怎么办_华为手机密码忘了的解决方法-系统城...
  18. 八大排序算法稳定性分析,原来稳定性是这个意思...
  19. 三大运营商eSIM商用情况
  20. 标注2.0:数据标注员如何进行从业选择?

热门文章

  1. mysql查询连续次数_Mysql如何查询连续的时间次数
  2. 浏览器 刷新页面后回到顶部_当你在浏览器中,忘记了曾经的登录密码怎么办......
  3. linux java 选择题_java面试题:Linux
  4. mysql mvcc 读写阻塞_mysql面试题MVCC原理事务隔离级别_aiailingfei的博客-CSDN博客
  5. 人们为什么使用计算机,人们为什么要用互联网
  6. sql重命名数据库_SQL重命名数据库
  7. 如何在Windows 10上安装Python
  8. android jni示例_Android切换按钮,开关示例
  9. java jvm内存模型_Java(JVM)内存模型– Java中的内存管理
  10. sapply lapply_R编程中的apply(),sapply(),lapply()和tapply()函数