Deep Learning 最优化方法之SGD

本文是Deep Learning 之 最优化方法系列文章的SGD方法。主要参考Deep Learning 一书。

整个优化系列文章列表:

Deep Learning 之 最优化方法

Deep Learning 最优化方法之SGD

Deep Learning 最优化方法之Momentum(动量)

Deep Learning 最优化方法之Nesterov(牛顿动量)

Deep Learning 最优化方法之AdaGrad

Deep Learning 最优化方法之RMSProp

Deep Learning 最优化方法之Adam

在这里SGD和min-batch是同一个意思,抽取m个小批量(独立同分布)样本,通过计算他们平梯度均值。后面几个改进算法,均是采用min-batch的方式。

先上一些结论:

1.SGD应用于凸问题时,k次迭代后泛化误差的数量级是O(1/sqrt(k)),强凸下是O(1/k)。

2.理论上GD比SGD有着更好的收敛率,然而[1]指出,泛化误差的下降速度不会快于O(1/k)。鉴
于SGD只需少量样本就能快速更新,这远超过了缓慢的渐进收敛,因此不值得寻找使用收敛快O(1/k)。

3.可能由于SGD在学习中增加了噪声,有正则化的效果

4.在某些硬件上使用特定大小的数组时,运行时间会更少。尤其是在使用GPU时,通常使用2 的幂
数作为批量大小可以获得更少的运行时间。一般,2 的幂数的取值范围是32 到256,16 有时在尝试大模型时使用。

5.如果批量处理中的所有样本可以并行地处理(通常确是如此),那么内存消耗和批量大小会
正比。对于很多硬件设施,这是批量大小的限制因素

再看看算法: 
这里写图片描述

没啥太大难度,需要注意的是有必要随迭代步数,逐渐降低学习率。一种常见从做法是线性衰减学习率,直到这里写图片描述次迭代:

这里写图片描述


其中这里写图片描述 在这里写图片描述 之后,学习率一般保持常数

 

参考文献:

1.Cramér, H. (1946). Mathematical methods of statistics. Princeton University Press. 118, 251

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Adam优化器和SGD优化器都是常用的深度神经网络优化器,它们在训练神经网络时起到了至关重要的作用。 SGD优化器(Stochastic Gradient Descent)是最基本的优化器,它的思想是利用梯度信息来更新网络的参数,使得损失函数逐渐降低。SGD优化器的缺点是可能会陷入局部最优解,而且在学习率比较大的时候容易出现震荡,导致训练不稳定。 Adam优化器(Adaptive Moment Estimation)结合了动量梯度下降和RMSProp优化器的优点,并且具有自适应调节学习率的特点。Adam优化器相对于SGD优化器,更加适合应对大规模数据和高维参数的情况。它具有以下特点: 1. 自适应调节学习率:Adam优化器可以根据每个参数的梯度大小自适应调节学习率,每个参数都有自己的学习率,从而有效避免了SGD优化器的学习率问题。 2. 动量梯度下降:Adam优化器使用了动量梯度下降的思想,可以加速训练过程,提高收敛速度。 3. 二阶矩估计:Adam优化器还引入了二阶矩估计,可以更好地适应不同方向的梯度,从而提高优化的效果。 总的来说,Adam优化器相对于SGD优化器,具有更好的性能和更快的收敛速度,特别是在大规模数据和高维参数的情况下更为适用。但是,在小样本数据上,SGD优化器也有着良好的表现。因此,在使用优化器的时候,需要根据实际情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值