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

技术优化算法之间的关系及各自特点的简单分析 优化算法之间的关系及各自特点的简单分析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)

相关推荐

  • 怎么修改MySQL的SQL_MODE

    技术怎么修改MySQL的SQL_MODE这篇文章主要讲解了“怎么修改MySQL的SQL_MODE”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么修改MySQL的SQL_

    攻略 2021年11月5日
  • shell脚本实现数据库表增量同步的流程是怎么样的

    技术shell脚本实现数据库表增量同步的流程是怎么样的shell脚本实现数据库表增量同步的流程是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需

    攻略 2021年10月20日
  • 头顶出汗是怎么回事,头部汗如雨下是怎么回事

    技术头顶出汗是怎么回事,头部汗如雨下是怎么回事头部汗如雨下是怎么回事头部大量出汗的原因分为生理性和病理性两个方面。生理性出汗与身体内外温度头顶出汗是怎么回事、精神因素和饮食有关;病理性出汗常见于甲亢、钙和维生素D缺乏、嗜

    生活 2021年11月1日
  • Mybatis与spring-data-jpa获取insert之后的自增长id是什么

    技术Mybatis与spring-data-jpa获取insert之后的自增长id是什么本篇文章为大家展示了Mybatis与spring-data-jpa获取insert之后的自增长id是什么,内容简明扼要并且容易理解,

    攻略 2021年10月21日
  • WPF设置列内容居左、中、右

    技术WPF设置列内容居左、中、右 WPF设置列内容居左、中、右Style内容Style x:Key="contentLeftStyle" TargetType="{x:Type TextBlock}"S

    礼包 2021年12月18日
  • .net5调用WebService简单事例

    技术.net5调用WebService简单事例 .net5调用WebService简单事例1. 创建 .net5控制台项目:dotnet new console -o WebServiceConsole

    礼包 2021年11月22日