深度学习momentum(动量方法)

fisherinbox fisherinbox     2022-09-22     670

关键词:

转自:http://blog.csdn.net/bvl10101111/article/details/72615621

先上结论:

1.动量方法主要是为了解决Hessian矩阵病态条件问题(直观上讲就是梯度高度敏感于参数空间的某些方向)的。

2.加速学习 

3.一般将参数设为0.5,0.9,或者0.99,分别表示最大速度2倍,10倍,100倍于SGD的算法。

4.通过速度v,来积累了之前梯度指数级衰减的平均,并且继续延该方向移动: 

技术分享

 

再看看算法: 
技术分享

动量算法直观效果解释:

  如图所示,红色为SGD+Momentum。黑色为SGD。可以看到黑色为典型Hessian矩阵病态的情况,相当于大幅度的徘徊着向最低点前进。 
  而由于动量积攒了历史的梯度,如点P前一刻的梯度与当前的梯度方向几乎相反。因此原本在P点原本要大幅徘徊的梯度,主要受到前一时刻的影响,而导致在当前时刻的梯度幅度减小。 
  直观上讲就是,要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方向减弱。 

技术分享

 

从另一个角度讲:

  要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方向减弱。 
  假设每个时刻的梯度g总是类似,那么由技术分享我们可以直观的看到每次的步长为: 

技术分享 

即当设为0.5,0.9,或者0.99,分别表示最大速度2倍,10倍,100倍于SGD的算法。

深度学习的损失函数优化方法(代码片段)

...法则2.3反向传播算法3梯度下降优化方法3.1动量算法(Momentum)3.2指数加权平均3.3动量梯度下降算法3.4AdaGrad3.5RMSprop3.6Adam4学习率退火4.1分段常数衰减4.2指数衰减4.31/t衰减5总结1梯度下降算法梯度下降法简单来说 查看详情

梯度下降优化算(momentum,adagrad,rmsprop,adam)学习率退火

...小值问题,要解决这个问题,就提出了动量(Momentum)算法;2.动量算法(Momentum): 是计算梯度的指数加权平均,并利用该值来更新参数。动量问题主要解决鞍点(局部极小值)的问题, 通常贝β设置... 查看详情

深度学习笔记:优化方法总结(bgd,sgd,momentum,adagrad,rmsprop,adam)

深度学习笔记(一):logistic分类深度学习笔记(二):简单神经网络,后向传播算法及实现深度学习笔记(三):激活函数和损失函数深度学习笔记:优化方法总结深度学习笔记(四):循环神经网络的概念,结... 查看详情

深度学习笔记:sgdmomentumrmspropadam优化算法解析

...批量梯度下降法BGD(3)小批量梯度下降法MBGD二、Momentum动量梯度下降三、RMSprop优化器四、Adam优化器理论系列:    深度学习笔记(一):卷积层+激活函数+池 查看详情

深度学习笔记:sgdmomentumrmspropadam优化算法解析

...批量梯度下降法BGD(3)小批量梯度下降法MBGD二、Momentum动量梯度下降三、RMSprop优化器四、Adam优化器理论系列:    深度学习笔记(一):卷积层+激活函数+池 查看详情

深度学习与cv教程|神经网络训练技巧(下)

本文讲解训练神经网络的核心方法:优化方式(SGD、动量更新、Nesterov动量、Adagrad、RMSProp、Adam等),正则化(L2、Dropout),迁移学习,模型集成等【对应CS231nLecture7】本文讲解训练神经网络的核心方法:优化方式(SGD、动量更... 查看详情

优化器optimizer(代码片段)

目前最流行的5种优化器:Momentum(动量优化)、NAG(Nesterov梯度加速)、AdaGrad、RMSProp、Adam,所有的优化算法都是在原始梯度下降算法的基础上增加惯性和环境感知因素进行持续优化Momentum优化momentum优化的一个简单思想:考虑物体运... 查看详情

动量momentum梯度下降算法

梯度下降是机器学习中用来使模型逼近真实分布的最小偏差的优化方法。在普通的随机梯度下降和批梯度下降当中,参数的更新是按照如下公式进行的:W=W-αdWb=b-αdb其中α是学习率,dW、db是costfunction对w和b的偏导数。随机梯度下... 查看详情

优化算法

以下内容来自深度学习花树和维基百科动量法虽然随机梯度下降仍然是非常受欢迎的优化方法,但其学习过程有时会很慢。动量方法(Polyak,1964)旨在加速学习,特别是处理高曲率、小但一致的梯度,或是带噪声的梯度。动量算法... 查看详情

深度学习中的一些组件及使用技巧(代码片段)

...能被困在鞍点,容易产生局部最优,不能达到全局最优2.MomentumMomentum是模拟物理里动量的概念,公式如下:其中,是动量因子。Momentum积累之前的动量来替代真正的梯度 查看详情

《计算机视觉和图像处理简介-中英双语+代码实践版》:使用动量优化momentum训练神经网络

...oduleandFunctionforTrainingTrainDifferentNetworksModeldifferentvaluesfortheMomentumParameter使用动量优化Momentum训练神经网络TrainingANeuralNetworkwithMomentumObjectiveforthisNotebook1.TrainDifferentNeuralNetworksModeldifferentvaluesfortheMomentumParameter.2.CompareResultsofDifferentMomen... 查看详情

深度学习网络结构中超参数momentum了解

      训练网络时,通常先对网络的初始权值按照某种分布进行初始化,如:高斯分布。初始化权值操作对最终网络的性能影响比较大,合适的网络初始权值能够使得损失函数在训练过程中的收敛速度更快,... 查看详情

深度学习优化算法之动量法[公式推导](mxnet)(代码片段)

我们在前面的文章中熟悉了梯度下降的各种形态,深度学习优化算法之(小批量)随机梯度下降(MXNet),也了解了梯度下降的原理,由每次的迭代,梯度下降都根据自变量的当前位置来更新自变量,做自... 查看详情

深度学习笔记:lstm

...函数和损失函数深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)深度学习笔记(四):循环神经网络的概念,结构和代码注释深度学习笔记( 查看详情

10的三次方怎么稀释梯度

...展,一个是AdaGrad,主要调整学习率(learningrate)。另一个是Momentum,主要调整梯度的构成要素。随着进化的发展,Momentum和RMSprop一体化,“QSdch”(Adam)诞 查看详情

「深度学习一遍过」必修11:优化器的高级使用+学习率迭代策略+分类优化目标定义(代码片段)

...用1.1基于更新方向1.1.1 随机梯度下降 SGD优化算法1.1.2 momentum动量法 1.1.3 Nesterovaccele 查看详情

深度模型gpu内存知识点

...应的梯度,因此显存占用等于参数占用的显存*2如果是带Momentum-SGD,这个时候还要保存动量,显存*3如果是Adam优化器,动量占用的显存更多,显存*4总结以上,模型中与输入无关的显存占用包括:这部分的显存主要看输出的featuremap... 查看详情

面试时如何完整精确的回答动量下降法(momentum)和adam下降法的原理

参考技术A在人工智能算法中,最终的目标都是找到一个最优的模型,而如何找到这个最优模型的参数一般有两种方法:第一就是等式求解,这个只对一部分简单的模型有效果,当模型的复杂度上升和参数变多时,求解将会变的... 查看详情