优化算法之间的关系及各自特点的简单分析

技术优化算法之间的关系及各自特点的简单分析 优化算法之间的关系及各自特点的简单分析1 优化算法
https://tangshusen.me/Dive-into-DL-PyTorch/#/chapter0

浅析优化算法及其各自特点之间的关系

1 优化算法

https://tangshusen . me/Dive-in-DL-py torch/#/chapter 07 _优化/7.4 _动量

1.1 动量法

动量法是梯度下降法的改进。梯度法自变量的迭代方向只取决于自变量的当前位置,会出现问题。

1/(1?Gamma)时间步长采用指数加权移动平均,使自变量的更新方向更加一致,从而降低发散的可能性。

1.2AdaGrad算法

AdaGrad也是梯度下降法的改进。在梯度法中,目标函数自变量的每个元素在同一时间步长使用相同的学习速率进行自迭代,当存在梯度值不同的元素时会出现问题。

AdaGrad通过维护St变量来调整学习速率,从而根据不同的元素应用不同的学习速率。具体函数如下:如果目标函数自变量中某个元素的偏导数总是较大,那么该元素的学习率会迅速下降;相反,如果目标函数自变量中某个元素的偏导数总是很小,那么该元素的学习率就会慢慢下降。

AdaGrad有一个缺点。因为St一直在累加元素的梯度平方,所以自变量中每个元素的学习率在迭代过程中一直在下降(或不变)。因此,当迭代前期学习率快速下降,当前解仍然不好时,AdaGrad算法可能会因为迭代后期学习率太小而难以找到有用的解。

1.3RMSProp算法

RMSProp是对AdaGrad的改进。如上所述,当学习率在迭代前期快速下降,当前解仍然不好时,AdaGrad算法可能会因为迭代后期学习率太小而难以找到有用的解。

RMSProp利用动量法中指数加权移动平均的思想,对AdaGrad中维护的St变量做指数加权移动平均,可以看作是最近的1/(1?)小批量随机梯度时间步长平方项的加权平均值。这样,自变量各元素的学习率在迭代过程中就不会一直降低(或保持不变)。

1.4AdaDelta算法

AdaDelta是RMSProp的改进。RMSProp需要设置超参数学习速率,但AdaDelta不需要。

AdaDelta维护了一个XT变量,它代表了关于自变量更新平方的指数加权移动平均的项,从而替代学习率。

1.5Adam算法

它是Adam RMSProp算法和动量法的结合。

Adam可以看作是1/(1?给出了)时间步长内小批量随机梯度的指数加权移动平均。

2 优化算法之间的关系

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116872.html

(0)

相关推荐

  • hook的缺点(hook在大纲中什么意思)

    技术Hook的定义是什么这篇文章主要介绍“Hook的定义是什么”,在日常操作中,相信很多人在Hook的定义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hook的定义是什么”的疑惑有

    攻略 2021年12月23日
  • AQS AbstractQueuedSynchronizer的同步框架是什么

    技术AQS AbstractQueuedSynchronizer的同步框架是什么这篇文章将为大家详细讲解有关AQS AbstractQueuedSynchronizer的同步框架是什么,文章内容质量较高,因此小编分享给大

    攻略 2021年10月20日
  • 如何检查nodejs是否安装成功

    技术如何检查nodejs是否安装成功这篇文章主要为大家展示了“如何检查nodejs是否安装成功”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何检查nodejs是否安装成功”

    攻略 2021年11月7日
  • 如何理解C++属性具体概念

    技术如何理解C++属性具体概念本篇文章给大家分享的是有关如何理解C++属性具体概念,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++编程语言中的属性是一个

    攻略 2021年10月27日
  • 3岁以上宝宝奶粉推荐,3~6岁儿童喝什么奶粉

    技术3岁以上宝宝奶粉推荐,3~6岁儿童喝什么奶粉3~6岁儿童喝什么奶粉3~6岁儿童喝什么奶粉并没有明确规定,但要符合适合儿童体质3岁以上宝宝奶粉推荐、营养充足、各营养素之间的比例合适的原则。3~6岁儿童正处于生长发育阶段

    生活 2021年11月1日
  • MYSQL有哪些运算符

    技术MYSQL有哪些运算符这篇文章主要介绍“MYSQL有哪些运算符”,在日常操作中,相信很多人在MYSQL有哪些运算符问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYSQL有哪些运算符”

    攻略 2021年11月9日