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

神经网络优化算法的选择

作者: 小知识传送门 | 来源:发表于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])

    相关文章

      网友评论

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

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