美文网首页tensorflow
tensorflow Optimizers

tensorflow Optimizers

作者: Persistently | 来源:发表于2016-12-07 11:38 被阅读22832次

    class tf.train.GradientDescentOptimizer

    梯度下降算法是用的最普遍的优化算法,不过梯度下降算法需要用到全部的样本,训练速度比较慢,但是迭代到一定次数最终能够找到最优解。tensorflow这里提供的GDO也相当于是SGD。

    class tf.train.AdadeltaOptimizer

    训练初中期,加速效果不错,很快


    训练后期,反复在局部最小值附近抖动

    这个函数低版本好像没有~训练很慢!

    class tf.train.AdagradOptimizer


    class tf.train.AdagradDAOptimizer

    class tf.train.MomentumOptimizer

    Momentum

    所以Momentum的想法很简单,就是多更新一部分上一次迭代的更新量,来平滑这一次迭代的梯度。从物理的角度上解释,就像是一个小球滚落的时候会受到自身历史动量的影响,所以才叫动量(Momentum)算法。这样做直接的效果就是使得梯度下降的的时候转弯掉头的幅度不那么大了,于是就能够更加平稳、快速地冲向局部最小点:

    链接:https://zhuanlan.zhihu.com/p/22810533 

    class tf.train.AdamOptimizer

    本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳.

    特点:

    结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点

    对内存需求较小

    为不同的参数计算不同的自适应学习率

    也适用于大多非凸优化

     适用于大数据集和高维空间


    class tf.train.FtrlOptimizer

    class tf.train.ProximalGradientDescentOptimizer

    class tf.train.ProximalAdagradOptimizer

    class tf.train.RMSPropOptimizer


    Reference:

    http://sebastianruder.com/optimizing-gradient-descent/index.html 

    https://zhuanlan.zhihu.com/p/22810533 

    SGD,Adagrad,Adadelta,Adam,Adamax,Nadam 

    相关文章

      网友评论

        本文标题:tensorflow Optimizers

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