深度学习优化策略---优化器选择

优化算法分类

主流的优化算法分为:

梯度下降法(Gradient Descent)

  1. 标准梯度下降法(GD):
  2. 批量梯度下降法(BGD):采用整个训练集的数据来计算 cost function 对参数的梯度
  3. 随机梯度下降法(SGD):每次更新时对每个样本进行梯度更新
  4. MBGD(minibatch gradient descent):每一次利用一小批样本,即 n 个样本进行计算,真实训练时通常是采用该方法。
    优缺点对比:批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

这几个概念有时候没有严格区分,当没有严格区分时一般指的是MBGD

动量优化法
6. Momentum
7. NAG

自适应学习率优化算法
8. AdaGrad算法
9. RMSProp算法
10. AdaDelta算法
11. Adam算法

如何选择优化器

那种优化器最好?该选择哪种优化算法?目前还没能够达达成共识。Schaul et al (2014)展示了许多优化算法在大量学习任务上极具价值的比较。虽然结果表明,具有自适应学习率的优化器表现的很鲁棒,不分伯仲,但是没有哪种算法能够脱颖而出。
目前,最流行并且使用很高的优化器(算法)包括SGD、具有动量的SGD、RMSprop、具有动量的RMSProp、AdaDelta和Adam。在实际应用中,选择哪种优化器应结合具体问题;同时,也优化器的选择也取决于使用者对优化器的熟悉程度(比如参数的调节等等)。

1)很多论文里都会用 SGD,没有 momentum 等。SGD 虽然能达到极小值,但是比其它算法用的时间长,而且可能会被困在鞍点。

2)如果需要更快的收敛,或者是训练更深更复杂的神经网络,需要用一种自适应的算法(即 Adagrad, Adadelta, RMSprop, Adam)。
如果数据是稀疏的,就用自适用方法

3)RMSprop, Adadelta, Adam 在很多情况下的效果是相似的。

4)Adam 就是在 RMSprop 的基础上加了 bias-correction 和 momentum,随着梯度变的稀疏,Adam 比 RMSprop 效果会好。

5)整体来讲,Adam 是最好的选择

参考文献

Adam优化器如何选择
梳理内容包括:
每个算法的梯度更新规则和缺点
为了应对这个不足而提出的下一个算法
超参数的一般设定值
几种算法的效果比较
选择哪种算法

机器学习:各种优化器Optimizer的总结与比较
对优化算法的分类
精彩部分是三个用于优化器性能比较的可视化

AdaBound算法:像Adam一样快,又像SGD一样好的优化器

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值