《DeepLearning.ai》第六课:优化算法(Optimization algorithms)

本文探讨了Mini-batch梯度下降在深度学习中的应用,比较了它与批量梯度和随机梯度的不同,并介绍了指数加权平均数在动量法中的作用,以及Adam优化算法的结合策略。还涵盖了学习率衰减和避免局部最优的方法。
摘要由CSDN通过智能技术生成

第六课:优化算法(Optimization algorithms)

6.1 Mini-batch梯度下降

image

上图表示了整个Mini-batcha梯度下降的过程。

首先对 X { t } X^{\{t\}} X{t}执行前项传播, X { t } X^{\{t\}} X{t}表示的是对于整个训练集之后的样本值,比如共有5000000个样本,每1000个划分一次,则 X { t } X^{\{t\}} X{t}表示第t个1000个样本的x值,维度为 ( n x , 1000 ) (n_x,1000) (nx,1000),注意与X ( n x , m ) (n_x,m) (nx,m)维度的区别. Y { t } Y^{\{t\}} Y{t}同理,维度为: ( 1 , 1000 ) (1,1000) (1,1000),注意与Y ( 1 , 1000 ) (1,1000) (1,1000)维度的区别。

mini-batch与batch区别:使用batch梯度下降法,一次遍历训练集只能做一次梯度下降,而mini-batch可以做5000个梯度下降(以本题为例)。正常来说需要多次遍历训练集,需要另外一层for循环,直到最后能收敛到一个合适的精度。


6.2 理解mini-batch梯度下降法

image

第二个图没看懂emmmm

image

如上图,如果考虑两种极端的情况:
1.mini-batch的大小等于 𝑚,这个时候也就是batch梯度下降法;

2.mini-batch的大小等于1,这个时候叫随机梯度下降。

batch梯度下降法的缺点:数据量太大,处理速度慢

随机梯度下降的缺点:因为没有向量化的过程,所以速度也会很慢。

样本集较小没必要采取mini-batch梯度下降法。

因此通常在实践中对于mini-batch的大小通常需要选择合适的尺寸,使得学习率达到最高。

上个视频的例子中mini-batch的大小为1000。


6.3 指数加权平均数(Exponentially weighted averages)

image

上图蓝色的点绘制的是日期和温度的关系,

作出如下定义:
v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt
其中 v t v_t vt表示第t天的加权平均数, θ t \theta_t θt​表示第t天的温度值。 β \beta β​表示加权参数。

β \beta β的值取决所画出的图像平坦程度。如上图所示。 β \beta β越大,指数加权平均值适应越缓慢,图像越平缓。


6.4 理解指数加权平均数(Understanding exponentially weighted averages)

个人理解:第t天的温度是计算之前多少天温度之和的平均值的时候,也就是离第t天越远的之前天数对于第t天的温度影响越小,而这个影响因此,需要令
β ( 1 1 − β ) = 1 e \beta^{(\frac{1}{1-\beta})}=\frac{1}{e} β(1β1)=e1
比如 β = 0.9 \beta=0.9 β=0.9​​​,则 0. 9 10 = 1 e 0.9^{10}=\frac{1}{e} 0.910=e1​​,也就是我们计算之前10天的平均值表示当天的温度

β = 0.98 \beta=0.98 β=0.98​,则 0.9 8 50 = 1 e 0.98^{50}=\frac{1}{e} 0.9850=e1​​,也就是我们计算之前50天的平均值表示当天的温度.

这就是个人理解的指数加权平均数。


6.5 指数加权平均的偏差修正(Bias correction in exponentially weighted averages)

偏差修正是指在估测初期,令
v t = v t 1 − β t v_t=\frac{v_t}{1-\beta^t} vt=1βtvt
随着t逐渐增大, β t \beta^t βt​逐渐变为0,也就和之前温度估测一样了。也就是第t天的温度为 v t v_t vt

但是吴老师说在大多数时候都不执行偏差修正,除非我们关心初期的计算结果,就需要使用偏差修正来进行计算。


6.6 动量梯度下降法(Gradient descent with Momentum)

动量梯度下降法(Momentum)通常比梯度下降法要好,过程如下:

image

使用了指数加权平均,吴老师说在有些Momentum算法中忽略了 1 − β 1-\beta 1β这一项,但是通常加上这一项比较好,如果忽略这一项,相应的学习率也要随之改变,通常设置 β \beta β​为0.9,如上图所示,而通常不需要偏差修正,也就是图中的蓝色公式。


6.7 RMSprop

image

和之前的Momentum算法相似,上图给出了算法的具体公式(原理没怎么搞懂。。。)。

注意两点,为了和之后的 β \beta β区分,这里用了 β 2 \beta_2 β2来表示,同时为了保证分母不为0,可以加上一个小参数 ξ \xi ξ,通常 ξ = 1 0 − 8 \xi=10^{-8} ξ=108。这也是加快梯度运算的算法之一。


6.8 Adam优化算法(Adam optimization algorithm)

该算法是Momentum算法和RMSprop算法的结合,如下图所示:

image

关于一些参数的选择参考下图:

image


6.9 学习率衰减(Learning rate decay)

慢慢减少 α \alpha α的本质在于,在学习初期,你能承受较大的步伐,但当开始收敛的时候,小一些的学习率能让你步伐小一些。

image

image

上图给出了 α \alpha α的选择公式,其中epoch-num代表迭代次数。


6.10 局部最优的问题(The problem of local optima)

PASS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值