优化方法

mini-batch 梯度下降

1、为什么要使用mini-batch
和batch相比,mini-batch计算开销较小、计算速度快,适应与大批量的数据集,支持在线学下。
和 随机梯度下降相比,mini-batch更容易收敛,梯度下降的有效性较大。
在这里插入图片描述
batch梯度下降如下图:
在这里插入图片描述
在这里插入图片描述

momentum

1、为什么使用Momentum
mini-batch gradient 中,每一个小批量的数据集都是全部数据的子集,其分布不一定符合数据的整体分布,因此在梯度下降的时候会产生震荡,影响学习效率。因此使用momentum 消减mini-batch 梯度下降的震荡。
使用momentum 的更新规则:
L 表示第L层
v d W [ l ] = β v d W [ l ] + ( 1 − β ) d W [ l ] v_{dW^{[l]}}=\beta v_{dW^{[l]}}+(1-\beta)dW^{[l]} vdW[l]=βvdW[l]+(1β)dW[l]
W [ l ] = W [ l ] − α v d W [ l ] W^{[l]}=W^{[l]}-\alpha v_{dW^{[l]}} W[l]=W[l]αvdW[l]

Adam

adam 是一个比较强大的优化算法,

{ v W [ l ] = β 1 v W [ l ] + ( 1 − β 1 ) ∂ J ∂ W [ l ] v W [ l ] c o r r e c t e d = v W [ l ] 1 − ( β 1 ) t s W [ l ] = β 2 s W [ l ] + ( 1 − β 2 ) ( ∂ J ∂ W [ l ] ) 2 s W [ l ] c o r r e c t e d = s W [ l ] 1 − ( β 2 ) t W [ l ] = W [ l ] − α v W [ l ] c o r r e c t e d s W [ l ] c o r r e c t e d + ε \begin{cases} v_{W^{[l]}} = \beta_1 v_{W^{[l]}} + (1 - \beta_1) \frac{\partial J }{ \partial W^{[l]} } \\ v^{corrected}_{W^{[l]}} = \frac{v_{W^{[l]}}}{1 - (\beta_1)^t} \\ s_{W^{[l]}} = \beta_2 s_{W^{[l]}} + (1 - \beta_2) (\frac{\partial J }{\partial W^{[l]} })^2 \\ s^{corrected}_{W^{[l]}} = \frac{s_{W^{[l]}}}{1 - (\beta_2)^t} \\ W^{[l]} = W^{[l]} - \alpha \frac{v^{corrected}_{W^{[l]}}}{\sqrt{s^{corrected}_{W^{[l]}}}+\varepsilon} \end{cases} vW[l]=β1vW[l]+(1β1)W[l]JvW[l]corrected=1(β1)tvW[l]sW[l]=β2sW[l]+(1β2)(W[l]J)2sW[l]corrected=1(β2)tsW[l]W[l]=W[l]αsW[l]corrected +εvW[l]corrected
其中 β 1 、 β 2 \beta_1、\beta_2 β1β2时两个超参数
可以在tensorflow 中使用:tf.train.AdamOptimizer

参考

https://www.coursera.org/learn/deep-neural-network?specialization=deep-learning
https://keras.io/zh/optimizers/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值