RMSprop,全称:Root Mean Sqaure prop。
要看懂这篇博文,你需要先看懂:
整理并翻译自吴恩达深度学习系列视频:
https://mooc.study.163.com/learn/2001281003?tid=2001391036#/learn/content?type=detail&id=2001702124&cid=2001693085
RMSprop
同使用动量的梯度下降一样,RMSprop的目的也是为了消除垂直方向的抖动,使梯度下降快速收敛。
其计算方法(详见下)使用了将导数看作水平方向上的w和垂直方向上的b。并计算dw和db的平方值,这实际上是平方版本的指数加权平均。然后更新的时候又除去了根号求平均值,因此叫做Root Mean Sqaure prop。除法进行的时候因为dw较小,所以计算出的根号也较小,而db较大,所以计算出的根号也较大,因此更新时b变小了,w变化不大。
算法描述
该算法描述来自花书《deep learning》,与下面的计算方法不共享参数记号。
RMSprop计算方法
在每一次迭代中,计算mini-batch上的:
S
d
w
=
β
2
S
d
w
+
(
1
−
β
2
)
d
W
2
S_{dw}=\beta_2S_{dw}+(1-\beta_2)dW^2
Sdw=β2Sdw+(1−β2)dW2<- element-wise
S
d
b
=
β
2
S
d
b
+
(
1
−
β
2
)
d
b
2
S_{db}=\beta_2S_{db}+(1-\beta_2)db^2
Sdb=β2Sdb+(1−β2)db2 <- element-wise
更新方法变成:
W
=
W
−
α
d
W
S
d
w
+
ϵ
W = W-\alpha \frac{dW}{\sqrt{S_{dw}+\epsilon}}
W=W−αSdw+ϵdW
b
=
b
−
α
d
b
S
d
b
+
ϵ
b = b-\alpha \frac{db}{\sqrt{S_{db}+\epsilon}}
b=b−αSdb+ϵdb
取 ϵ = 1 0 − 8 \epsilon=10^{-8} ϵ=10−8,目的是防止你除以0或者一个很小的数。