zoukankan      html  css  js  c++  java
  • 深度学习优化算法Momentum RMSprop Adam

    一、Momentum

    1. 计算dw、db.

    2. 定义v_db、v_dw

    [v_{dw}=eta v_{dw}+(1-eta)dw ]

    [v_{db}=eta v_{db}+(1-eta)db ]

    3. 更新dw、db

    [dw=w-alpha v_{dw} ]

    [db=b-alpha v_{db} ]

    二、RMSprop

    1. 计算dw、db.

    2. 定义s_db、s_dw (这里的平方是元素级的)

    [s_{dw}=eta s_{dw}+(1-eta)dw^2 ]

    [s_{db}=eta s_{db}+(1-eta)db^2 ]

    3. 更新dw、db

    [dw=w-alpha frac{w}{sqrt{s_{dw}}} ]

    [db=b-alpha frac{b}{sqrt{s_{db}}} ]

    三、Adam

    结合了Momentum+RMSprop

    1. 计算dw、db.

    2. 定义v_db、v_dw、s_db、s_dw.

    [v_{dw}=eta_{1} v_{dw}+(1-eta_{1})dw ]

    [v_{db}=eta_{1} v_{db}+(1-eta_{1})db ]

    [s_{dw}=eta_{2} s_{dw}+(1-eta_{2})dw^2 ]

    [s_{db}=eta_{2} s_{db}+(1-eta_{2})db^2 ]

    3. 纠偏(t为迭代次数)

    [v_{dw}^{correct}=frac{v_{dw}}{1-eta^t} ]

    [v_{db}^{correct}=frac{v_{db}}{1-eta^t} ]

    [s_{dw}^{correct}=frac{s_{dw}}{1-eta^t} ]

    [s_{db}^{correct}=frac{s_{db}}{1-eta^t} ]

    4. 更新dw、db,e为很小的数,防止分母为0。

    通常(e=10^-8)

    [dw=w-alpha frac{v_{dw}^{correct}}{sqrt{s_{dw}^{correct}}+e} ]

    [db=b-alpha frac{v_{db}^{correct}}{sqrt{s_{db}^{correct}}+e} ]

  • 相关阅读:
    codevs-1205
    codevs-1204
    C++STL 求和:accumulate 【转】
    map映照容器
    set集合容器
    HDOJ-1263
    HDOJ-1004(map)
    紫书 例题 10-12 UVa 1637(概率计算)
    紫书 例题 10-11 UVa 11181(概率计算)
    紫书 例题 10-10 UVa 10491(概率计算)
  • 原文地址:https://www.cnblogs.com/guoyaohua/p/8214838.html
Copyright © 2011-2022 走看看