• tensorflow 加速优化方法


    1. stochastic gradient decent(CGD)

      将data分小批放入神经网络中进行计算

      W += -Learning rate * dx

    缺点:选择合适的learning rate比较困难

       速度慢

       容易收敛到局部最优,并且在某些情况下可能被困在鞍点

    2. momentum

      模拟物理里动量的概念,积累之前的动量来替代真正的梯度。(利用斜坡的惯性)

      m = b1 * m - Learning rate * dx

      W += m

    特点:在相关方向加速SGD,抑制振荡,从而加快收敛

       依靠人工设置全局学习率,中后期分母上梯度平方的累加将会越来越大,使得训练提前结束

    3. adagrad

      每一个参数的更新都有自己的学习率(不好走的鞋子)

      v += dx^2

      W += -Learning rate * dx / √v

    特点:前期放大梯度,后期约束梯度,适合处理稀疏梯度

    4. RMSProp

    综合了momentum和adagrad的优势

    v = b1 * v + (1 - b1) * dx^2

    W += -Learning rate * dx / √v

    特点:依赖于全局学习率

       适合处理非平稳目标 - 对于RNN效果很好

    5. Adam(又快又好)

    m = b1 * m + (1 - b1) * dx

    v = b2 * v + (1 - b2) * dx^2

    W += -Learning rate * m / √v

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

       对内存需求较小

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

       也适用于大多非凸优化 - 适用于大数据集和高维空间

     6. 优化器

    用于改变学习效率

  • 相关阅读:
    程序员励志语录
    javaEE的十一种技术
    gui内函数调用顺序
    m文件中函数的执行顺序
    VC++与Matlab混合编程之引擎操作详解(6)数据类型mxArray的操作
    GUI(2)
    时间管理
    Matlab GUI界面
    matlab GUI(2)
    MATLAB GUI平台
  • 原文地址:https://www.cnblogs.com/syyy/p/8473889.html
Copyright © 2020-2023  润新知