五、深度学习优化算法

1、mini-batch梯度下降

\qquad mini-batch指的是将原本整个batch的数据集进行划分,e.g., 将整个数据集以1000条数据为标准划分成小的batch。
在这里插入图片描述
\qquad mini-batch梯度下降的流程如下所示:
在这里插入图片描述 \qquad 在进行mini-batch训练时,训练的成本可能不是随着训练次数增加而一直减小,而是呈现出波动下降的趋势,因为不同的mini-batch的数据之间的难易程度不一样。
在这里插入图片描述
\qquad 如下图所示,mini-batch size的选择不能过大也不能过小,若size过大会减慢训练的速度,若size过小会使得训练波动性变大,训练效果变差。
在这里插入图片描述
\qquad 若训练集的数量比较小( m ≤ 1000 m \leq 1000 m1000),可以不使用mini-batch训练,可以直接使用batch gradient descent进行训练。典型的mini-batch size包括64,128,256和512,一般不会使用1024以及更大的mini-batch进行模型训练。同时需要保证mini-batch size符合CPU/GPU的内存格式,否则会影响训练效果。

2、指数加权平均-Exponential Weighted averages

\qquad 指数移动平均的计算式如下所示:
v t = β v t − 1 + ( 1 − β ) θ t v_t = \beta v_{t-1} + (1-\beta) \theta_t vt=βvt1+(1β)θt
\qquad 其中, β ∈ [ 0 , 1 ] \beta \in [0,1] β[0,1]的值可以用来衡量移动平均的时间窗跨度, β \beta β的值越接近于1,移动平均的时间窗跨度越大,从而移动平均之后的数据相对于原始数据的来说越平滑;反之,移动平均值后的数据和原始数据的分布越接近。
在这里插入图片描述

2.1 指数加权平均的偏差修正

\qquad 在移动平均的前期,通常经过移动平均的数据相对原始数据的偏差较大,所有可以给指数移动平均添加一个修正项,修正之后的指数移动平均计算方法为:
v t = β v t − 1 + ( 1 − β ) θ t 1 − β t v_t = \frac{\beta v_{t-1} + (1-\beta) \theta_t}{1-\beta^t} vt=1βtβvt1+(1β)θt

3、 动量梯度下降- gradient with momentum

\qquad 动量梯度下降的执行过程如下所示,相对于普通的梯度下降算法,动量梯度下降将学习率之后的项由 d w , d b dw, db dw,db替换成了 v d w , v d b v_{dw}, v_{db} vdw,vdb
在这里插入图片描述

4、RMSprop

\qquad RMSProp的思想也是想要减小梯度下降过程中梯度在 b b b方向上的震荡幅度,同时不减小在 w w w方向上的收敛幅度,RMSProp的计算过程如下所示:
在这里插入图片描述

5、Adam optimization algorithm

\qquad 将上述gradient descent with momentum 和 RMSProp相互结合,同时使用偏差修正之后,就得到了Adam optimization algorithm,其计算流程如下所示:
在这里插入图片描述
\qquad Adam 指的是Adaptive Moment Estimation,其中的hyper parameters取值:学习率 α \alpha α需要通过parameter tunning 来选择调整; β 1 \beta_1 β1通常取值为0.9, β 2 \beta_2 β2通常取值为0.999, ϵ \epsilon ϵ通常取值为 1 0 − 8 10^{-8} 108

6、Learning rate decay

\qquad 使用learning rate decay的intuition是:当使用mini-batch进行训练时,当batch size选的比较小时,通常会造成学习不收敛,使得最终目标在最优值附近较大幅度地震荡,所以可以在训练初始阶段使用较大的学习率,使得训练速度加快;在之后使用比较小的学习率,使得震荡幅度减小。
在这里插入图片描述

7、Local optima in neural networks

\qquad 由于神经网络在训练时通常会有很多维度的参数空间,所以通常神经网络不容易陷入一个很坏的局部最优解。
\qquad plateaus型函数会极大减慢训练的效率,所以可以使用Adam来提高运算效率。

THE END

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dragon Fly

多谢老板赏钱[抱拳抱拳抱拳]

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值