优化方法总结

   www.gaoxiao88.net

神经网络模型中有多种优化算法,优化算法的作用用来优化更新参数。
对于优化算法而言,主要的框架如下。
参数: 目标函数: 学习率 。
对于每个epoch t:
step1: 计算当前梯度
step2: 计算动量。
     一阶动量:
     二阶动量:
step3: 计算当前时刻下降梯度
step4: 更新参数
对于不同的优化算法而言,区别主要在于第一步和第二步。对于梯度的计算,一阶动量的计算,和二阶动量的计算存在差别。
三、四步的计算更新,各个算法之间都是相同的。

最常见的SGD
直接没有step2,没有引入动量。

在实际的实现中,可能会对学习率 进行改变,会使用衰减学习率。
SGD的缺点是 1 收敛速度慢,2 有可能会困在局部最优解。

也就是SGD+ Momentum。这里引入了一阶动量。
从直观理解就是加入了一个惯性,在坡度比较陡的地方,会有较大的惯性,这是下降的多。坡度平缓的地方,惯性较小,下降的会比较慢。
修改SGD中的一阶动量为

等式右边有两部分,加号左边的部分为之前积累的下降方向,加号右边为当前的梯度。两者的权重用参数来控制。
越大,说明下降的方向越依赖于以往的惯性。可以减少方向的突变。

NAG是:Nesterov Accelerated Gradient
这里是针对SGD会陷在局部最优附近的缺点进行改进。
在前面针对收敛慢改,引进一阶动量后,这里着眼于step1里的梯度计算。通常 会设的比较大,这就说明下降方向主要由历史方向积累决定,那么在step1里,不看当前的梯度,而是看下一步时刻的梯度。直观理解为多看一步,计算下一步的梯度。
用下一个点的梯度下降方向,与历史累积动量结合,计算step2里的一阶动量。
计算公式如下

前面的优化算法主要着眼于一阶动量的设计,从AdaGrad开始,将引入二阶动量。参数的二阶动量在这里表示为当前维度上,历史积累的全部的梯度的平方和。
将step3里的公式修改一下顺序,那前面的部分可以看成学习率。这里的分母是二阶动量。这里的学习率(包含二阶动量)会随着二阶动量的积累而逐渐变化,这就是‘自适应学习’。

宏观来分析,这里参数更新时,希望从少更新的维度多学习,经常更新的参数那里少学习一点。对于频繁更新的的参数,二阶动量迅速积累,会使的学习率降低,那么在同一次更新中,模型会学到比较少的内容。而不频繁更新的参数,学习率会比较大,每次更新时学到的东西比较多。
Ada算法的缺点也很明显,二阶动量是历史梯度的积累,是个单调递增的值,当分母越来越大时,整个的学习率会趋于0,会提前停止学习。

为了改进AdaGrad中的二阶动量会不断增加的缺点,这里提出了一个时间窗口。计算二阶动量的时候只计算这个时间窗口内的动量。避免了二阶动量的持续积累。
二阶动量的计算公式如下

SGD-M 引入了一阶动量,AdaG 引入了二阶动量。
二者结合就是Adam,同时考虑一阶动量和二阶动量。
二者的计算公式如下:

回头看最初的优化框架,已经分别在一阶动量和二阶动量做了研究。还剩下当前的梯度可以进行尝试。参考前面的NAG,Nadam就是Adam+Nesterov。
在Adam的基础上保持其他计算公式不变,更改当前梯度的计算公式为

从前面的介绍可以看出,Adam系列的算法表面上更优秀,针对原本的SGD的缺点做了各种改变。但是对于Adam算法,目前也存在着缺点。
其中一个很严重的问题是Adam算法有可能不收敛。因为二阶动量取决于一段时间内的梯度的积累。这段时间内的数据如果有异常,会导致这个二阶动量极不稳定。在学习的后期,学习率有可能不断震荡,导致整个模型无法收敛。
同时因为动量的引入,在学习的后期,存在可能使一步过大,错过最优解。
综上所述,虽然Adam看着很完美,但在实际应用中还是存在着缺点。所以到底是各种优化器要如何选择,还是要取决于具体的情况和个人的调参经验。

后续会逐渐更新个人的调参经验。

[1] 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam
[2] Adam的两宗罪
[3] 如何理解随机梯度下降(Stochastic gradient descent,SGD)?



相关参考:

总结初中化学计算方法
化学方程式一直是初中化学教学的重点和难点之一,而化学方程式的配平是书写化学方程式的关键,有的学生在化学方程式的配平过程中存在着“猜测性”和“盲目性”,笔者根据多年的教学经验总结出了四种配平方法。一、最小公倍数法配平方法是:求...

高一化学学习方法总结
(2)总结化学反应表 酸+碱=盐+水 盐+盐=新盐+新盐…… 基础非常重要,掌握好的学习方法比什么都重要 (3)有兴趣 我记得我当时学化学的时候很容易的,是所有理科中最容易的一门。我上课的时候认真听老师讲,...

高三化学学习方法总结?
可以用一些教辅工具来学习,比如说VCM仿真实验,用VCM仿真实验来复习总结,因为高三化学复习内容多,时间紧,要提高复 习效率,就应探究高三化学的学习方法,充分调动学生的主动性和积极性,不仅要想方设法让学生跟上老师的复习...

分析化学四种滴定方法总结
四大滴定即:氧化还原滴定,络合滴定,酸碱滴定,沉淀滴定。共同点 1、他们都是以消耗计算量的标准物质来测定被测物质含量的。2、随着滴定剂的加入,被滴定物质的浓度在计量点附近会有突变(突跃),可以用这一突变,或通过...

总结初中化学学习中用到的化学计算方法,写出一些例子和解题方法。
化学式计算中相对分子(原子)质量、元素质量分数部分,是最基础的知识,以基础知识为载体,注重解题方法的渗透,是解题能力的体现。以科技、社会、生产和生活的知识为背景,给定的化学式,如何去求相对分子质量和元素的质量分数...

高一化学知识点总结大全(非常全面)
学生在化学学习过程中一种十分有效的学习方法就是进行归纳与总结。高中阶段的学生要学习很多化学知识点,并且知识点之间有着密切的联系,如果学生在学习的过程中不能有效的进行归纳与总结,那么知识点就会十分凌乱,影响学生通过对知识点系统的...

初三化学学习方法:如何归纳化学元素符号
此外还可用图表记忆、对比记忆、数字记忆、规律记忆、浓缩记忆、联想记忆等方法,把枯燥的化学知识趣味化,这样就能记得清,记得牢。5、联系生活 化学与生活有着密切的联系,我们要从身边熟悉的现象入手,及时发现问题、展开探究...

高一化学知识点总结
高一化学模块I主要知识及化学方程式 一、 研究物质性质的方法和程序 1. 基本方法:观察法、实验法、分类法、比较法 2. 基本程序:第三步:用比较的方法对观察到的现象进行分析、综合、推论,概括出结论。二、 钠及其化合...

门对门风水化解方法大全不看后悔!
很多人都认为只要是门对着门就形成门煞,其实并不对,门煞也是有条件限制的,一般来说只有具备以下两个条件才能形成门煞:(1)对门的两门之间距离在5米之内;(2)对门的两门的中线在同一直线上。二、门对门风水化解方法:...

高中化学学习方法
高中化学学习方法,让你更好地掌握化学知识。熟悉课本要熟悉课本,要做到每出现一个知识点,你都能从课本找到这个知识点。归纳与总结要学会归纳与总结,比如说强氧化剂有哪些?他们又怎么分类等。知识系统化注意将知识系统化,比如...

相关评论

  • 汝怨6231: 网站优化方法有哪些 -
    15947961281: 随着网络的发展,网站的数量也大量的增加,可能很多新站长对于网站优化感到头痛,网站优化不难,只要掌握好优化的方法,其实网站优化很简单的.给大家推荐自己总结的几个方法,相信站长们坚持做下来是可以获得不错的排名的. 现在很...

  • 汝怨6231: 网站有效优化的几种方式什么? -
    15947961281: 不一样的网站优化六种方式,下面是老渔哥网站优化总结的几种优化方式:1、网站整体架构是否属于扁平化,是否符合网民搜索习惯,是否符合搜索引擎优化规则,定位是否明确;2、网站TDK,关键词以及密度,Alt,内容质量,锚文本,内链和外链,面包屑导航,网站导航,网站次导航,robots文件,网站地图,nofllow标签,H1-H6标签的合理使用,404页面的设置;3、具有立体化,有推荐先关的模块,友链模块;老渔哥-企业网站优化4、核心关键词确定以及挖掘更多的长尾关键词;5、及时分析网站数据和流量,对竞争对手实时分析,做出相应的策略调整;6、新媒体,qq群,微信,微博,贴吧,视频和邮件推广

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧