美文网首页
神经网络优化算法的选择

神经网络优化算法的选择

作者: 小知识传送门 | 来源:发表于2017-04-22 23:00 被阅读0次

SGD:随机梯度下降

SGD+Momentum: 基于动量的SGD(在SGD基础上做过优化)

SGD+Nesterov+Momentum:基于动量,两步更新的SGD(在SGD+Momentum基础上做过优化)

Adagrad:自适应地为各个参数分配不同学习速率

Adadelta: 针对Adagrad问题,优化过的算法(在Adagrad基础上做过优化)

RMSprop:对于循环神经网络(RNNs)是最好的优化器(在Adadelta基础上做过优化)

Adam:对每个权值都计算自适应的学习速率(在RMSprop基础上做过优化)

Adamax:针对Adam做过优化的算法(在Adam基础上做过优化)

那么,我们应该选择使用哪种优化算法呢?

如果输入数据是稀疏的,选择任一自适应学习率算法可能会得到最好的结果。选用这类算法的另一个好处是无需调整学习率,选用默认值就可能达到最好的结果。

如果你的数据输入量很小,那就选一种自适应学习速率的方法。这样你就不用对学习速率进行调优,因为你的数据本来就小,NN学习耗时也小。这种情况你更应该关心网络分类的准确率。

RMSprop, Adadelta, 和 Adam 非常相似,在相同的情况下表现都很好。

偏置校验让Adam的效果稍微比RMSprop好一点

进行过很好的参数调优的SGD+Momentum算法效果好于Adagrad/Adadelta

如果你关心的是快速收敛和训练一个深层的或者复杂的神经网络,你应该选择一个自适应学习率的方法。

结论:到目前(2016.04)为止,如果你不知道为你的神经网络选择哪种优化算法,就直接选Adam吧!(Insofar, Adam might be the best overall choice.[2])

相关文章

  • 优化方法总结

    优化算法框架 神经网络模型中有多种优化算法,优化算法的作用用来优化更新参数。对于优化算法而言,主要的框架如下。参数...

  • 神经网络中的优化算法

    姓名:张志文 学号:19021210649【嵌牛导读】神经网络中有很多的优化算法【嵌牛鼻子】神经网络;优化算法【...

  • Transformer量化笔记

    前言 AI芯片(这里只谈FPGA芯片用于神经网络加速)的优化主要有三个方面:算法优化,编译器优化以及硬件优化。算法...

  • 神经网络优化算法的选择

    SGD:随机梯度下降 SGD+Momentum: 基于动量的SGD(在SGD基础上做过优化) SGD+Nester...

  • 梯度下降优化方法概述

    梯度下降是优化神经网络和机器机器学习算法的首选优化方法。本文重度参考SEBASTIAN RUDER[https:/...

  • softmax regression(数字识别)

    一:简单实现神经网络步骤: 1、定义算法公式,神经网络forward时的计算 2、定义loss,选定优化器,并指定...

  • 机器学习 | 浅谈神经网络优化方式

    背景:目前各种神经网络相关算法,在实验和生产环境中都会大量被应用。那么,如何应用神经网络以及如何优化神经网络,作为...

  • 浅谈神经网络中的梯度爆炸问题

    在神经网络中,梯度下降算法是使用非常广泛的优化算法。梯度下降算法的变体有好多,比如随机梯度下降(Stochasti...

  • 神经网络BP算法及其Caffe实现

    大名鼎鼎的BackPropagation算法,是如今神经网络/深度学习的基础优化算法。其实在1974年Paul W...

  • 吴恩达深度学习(五)

    优化算法 第一课:小批量梯度下降 本周学习加快神经网络训练速度的优化算法。 我们之前学习过矢量化可以让你有效的计算...

网友评论

      本文标题:神经网络优化算法的选择

      本文链接:https://www.haomeiwen.com/subject/jwfezttx.html