3.3&4&5自适应学习率笔记(Datawhale X 李宏毅苹果书AI夏令营)

临界点其实不一定是在训练一个网络的时候会遇到的最大的障碍。本节首先提出一个问题:随着迭代次数增多,虽然损失不再下降但是梯度的范数并没有真的变得很小。这种情况有可能是鞍点或局部最小值,但还有一种可能是,梯度在山谷的两个谷壁间,不断的来回“震荡”,但此时梯度仍然很大,只是损失不再减小了。

实际上,在训练的时候要走到一个临界点是比较困难的,多数时候训练在还没有走到临界点的时候就已经停止了。

在梯度下降里面,所有的参数都是设同样的学习率,这显然是不够的,应当要为每一个参数定制化学习率,即引入自适应学习率的方法,给每一个参数不同的学习率。这里介绍了三种方法:AdaGrad, RMSProp和Adam.

AdaGrad(Adaptive Gredient)能根据梯度大小自动调整学习率。梯度较大时,学习率就减小,梯度较小时学习率就放大。将原来的学习率η变成η/σ,这个σ上标为i下标为t,这代表参数σ与i相关,与迭代相关,学习率就变成了参数相关。σ ti= √1/(t+1) ∑ i=0t (gti ) 2

由于同一个参数的同个方向,学习率也是需要动态调整的,于是就有了一个新的方法RMSProp(Root Means Mquares propagation)。σ1i= √α(σ0i )2+(1−α)(g1i) 2

最常用的优化策略是Adam,Adam=RMS prop+动量,其使用动量作为参数更新方向,并且能够自适应调整学习率。

此时又提出一个问题:加上自适应学习率,以后进行训练,会出现快走到终点的时候突然“爆炸”的情况,这是因为纵轴方向的梯度很小,积累了σ到一定程度以后,步伐就变得很大,σ也会慢慢变大,更新的步伐大小又会慢慢变小,从而回到原来的路线。通过学习率调度,可以解决这个问题。学习率调度中最常见的策略是学习率衰退,也称为学习率退火,随着参数的不断更新,让η越来越小,虽然步伐很大但学习率变得非常小,步伐乘上η就变小了,就可以慢慢的走到终点。除此之外,还有另一个经典的学习率调度方法——预热。预热的方法是让学习率先变大或变小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值