改善深层神经网络:超参数调整、正则化以及优化——2.7 RMSprop

RMSprop算法全称是root mean square prop算法,该算法可以加速梯度下降,回忆一下之前的例子,如果执行梯度下降,虽然横轴方向正在推进,但纵轴方向会有大幅度的摆动,假设纵轴代表参数b,横轴代表参数W,可能有 W 1 W_1 W1 W 2 W_2 W2或者其它重要的参数,为了便于理解,称为b和W。所以如果想减缓b方向的学习,同时加快横轴方向的学习,RMSprop算法可以实现这一点。
在这里插入图片描述

在第t次迭代中,该算法会照常计算当下mini-batch的微分 d W dW dW d b db db。这里用新符号 S d w S_{dw} Sdw S d w = β ∗ S d w + ( 1 − β ) ∗ ( d W ) 2 S_{dw}=\beta*S_{dw} +(1-\beta)*(dW)^2 Sdw=βSdw+(1β)(dW)2公式中平方的操作是针对这一整个符号的,这样做能够保留微分平方的加权平均数。同样有 S d b = β ∗ S d b + ( 1 − β ) ∗ ( d b ) 2 S_{db}=\beta * S_{db}+(1-\beta)*(db)^2 Sdb=βSdb+(1β)(db)2参数更新公式变为 W = W − α ∗ d W S d W W=W-\alpha * \frac{dW}{\sqrt{S_{dW}}} W=WαSdW dW b = b − α ∗ d b S d b b=b-\alpha*\frac{db}{\sqrt{S_{db}}} b=bαSdb db我们理解一下其中的原理,在横轴方向或者在例子中的W方向,我们希望学校速度快,而在垂直方向,也就是例子中的b方向,我们希望减缓纵轴上的摆动。所以有了 S d W S_{dW} SdW S d b S_{db} Sdb,我们希望 S d W S_{dW} SdW会相对较小,所以W参数更新要除以一个较小的数,而希望 S d b S_db Sdb较大,这样b更新会除以一个较大的数字,这样就可以减缓纵轴上的变化。

RMSprop的影响就是,纵轴方向上的摆动较小,而横轴方向继续推进。还有个影响就是,可以用更大学习率 α \alpha α加快学习。

在RMSprop中要确保算法不会除于0,如果 S d W S^{dW} SdW的平方根趋近于0怎么办?这样得到的答案非常大,为了确保数值稳定,在实际中操作的时候,要在分母加上一个很小很小的 ε \varepsilon ε ε \varepsilon ε是多少没关系,KaTeX parse error: Expected 'EOF', got '&' at position 3: 10&̲{-8}是个不错的选择,这只是保证数值能够稳定一些。无论什么原因,都不会除以一个很小很小的数,所以RMSprop跟Momentum有很相似的一点,可以消除梯度下降中的摆动,并允许使用一个更大的学习率 a l p h a alpha alpha,从而加快算法学习速度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值