深度学习优化算法Momentum RMSprop Adam

一、Momentum

1. 计算dw、db.

2. 定义v_db、v_dw

\[ v_{dw}=\beta v_{dw}+(1-\beta)dw \]
\[ v_{db}=\beta v_{db}+(1-\beta)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}=\beta s_{dw}+(1-\beta)dw^2 \]
\[ s_{db}=\beta s_{db}+(1-\beta)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}=\beta_{1} v_{dw}+(1-\beta_{1})dw \]
\[ v_{db}=\beta_{1} v_{db}+(1-\beta_{1})db \]
\[ s_{dw}=\beta_{2} s_{dw}+(1-\beta_{2})dw^2 \]
\[ s_{db}=\beta_{2} s_{db}+(1-\beta_{2})db^2 \]

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

\[ v_{dw}^{correct}=\frac{v_{dw}}{1-\beta^t} \]
\[ v_{db}^{correct}=\frac{v_{db}}{1-\beta^t} \]
\[ s_{dw}^{correct}=\frac{s_{dw}}{1-\beta^t} \]
\[ s_{db}^{correct}=\frac{s_{db}}{1-\beta^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} \]

转载于:https://www.cnblogs.com/guoyaohua/p/8214838.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值