我是靠谱客的博主 无情微笑,最近开发中收集的这篇文章主要介绍学习心得:不同优化求解器的特点常用算法算法优缺点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

     在神经网络中有几种常用的优化求解算法,在这里主要记录一下各个算法的优势和缺点,对选择提供一些依据。

常用算法

  1. sgd:随机梯度下降法。每次从训练集中随机选择batch_size个样本进行正向传播计算平均loss,再进行反向传播更新权重参数。
  2. Momentum SGD和Nesterov Momentum(下面统称动量法):增加了动量项。
  3. Adagrad:在学习率上做文章。固定的学习率除以每个参数的历史更新累加值。
  4. Adadelta:直接对每次更新的△W进行改进,学习率由一个除法得到,分母是历史的梯度累加,分子是历史的参数更新累加值。
  5. RMSprop:Hinton提出的。固定的学习率除以参数的历史更新累加值。看起来与Adagrad很像,但是RMSprop是按权重累加,解决了Adagrad越加越大的问题。
  6. Adam:同时使用了动量和梯度的平方和加权。

算法优缺点

算法名称优点缺点
sgd每次都能直奔目标点,不走弯路收敛速度慢,容易陷入局部最优点
动量法收敛速度比较快,具备跳出局部最优点的能力由于动量比较大,因此经常容易冲过目标点,然后再往回进行收敛
Adagrad对不同参数的学习率区别对待,前期收敛速度比较快,不会陷入局部最优点训练后期学习率过小导致收敛速度变慢
Adadelta不需要人工给定学习率,收敛速度快,不会陷入局部最优点容易冲过全局最优点
RMSpropHinton已经给出学习率,收敛速度快,不会陷入局部最优点容易冲过全局最优点

     实际使用中,可以选择目前最常用的几个,如RMSprop、Adam等,效果一般不错。不过据说Adam会比同样达到最优的sgd在性能上低1个百分点。

最后

以上就是无情微笑为你收集整理的学习心得:不同优化求解器的特点常用算法算法优缺点的全部内容,希望文章能够帮你解决学习心得:不同优化求解器的特点常用算法算法优缺点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部