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