首页 > 其他 > 详细

深度学习优化方法比较

时间:2020-03-03 14:23:23      阅读:97      评论:0      收藏:0      [点我收藏+]

SGD

此处的SGD指mini-batch gradient descent,关于batch gradient descent, stochastic gradient descent, 以及 mini-batch gradient descent的具体区别就不细说了。现在的SGD一般都指mini-batch gradient descent。

SGD就是每一次迭代计算mini-batch的梯度,然后对参数进行更新,是最常见的优化方法了。即:

技术分享图片

 

 其中,技术分享图片是学习率,技术分享图片是梯度 SGD完全依赖于当前batch的梯度,所以技术分享图片可理解为允许当前batch的梯度多大程度影响参数更新

缺点:(正因为有这些缺点才让这么多大神发展出了后续的各种算法)

  • 选择合适的learning rate比较困难 - 对所有的参数更新使用同样的learning rate。对于稀疏数据或者特征,有时我们可能想更新快一些对于不经常出现的特征,对于常出现的特征更新慢一些,这时候SGD就不太能满足要求了
  • SGD容易收敛到局部最优,并且在某些情况下可能被困在鞍点【原来写的是“容易困于鞍点”,经查阅论文发现,其实在合适的初始化和step size的情况下,鞍点的影响并没这么大。

Momentum

momentum是模拟物理里动量的概念,积累之前的动量来替代真正的梯度。公式如下:

技术分享图片

特点:

  • 下降初期时,使用上一次参数更新,下降方向一致,乘上较大的技术分享图片能够进行很好的加速
  • 下降中后期时,在局部最小值来回震荡的时候,技术分享图片技术分享图片使得更新幅度增大,跳出陷阱
  • 在梯度改变方向的时候,技术分享图片能够减少更新 总而言之,momentum项能够在相关方向加速SGD,抑制振荡,从而加快收敛



 

深度学习优化方法比较

原文:https://www.cnblogs.com/ziwh666/p/12401931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!