自适学习率 ,分类 Datawhale X 李宏毅苹果书 AI夏令营

1,为什么要有自适学习率?

在一般梯度下降的情况下,如果损失不再下降,此时梯度的范数不一定为0,它也不一定处在临界点(局部最小值和鞍点),在这种情况下,我们需要不断地调整学习率来达到使其损失下降的目的

在以下情况中,参数在峡谷的两端,参数在山壁的两端不断第“震荡”,损失降不下去,但是梯度仍然是很大的。我们可以试着把学习率设小一点,学习率决定了更新参数的时候的步伐,学习率设太大,步伐太大就无法慢慢地滑到山谷里面。调学习率从 10−2 调到 10−7 的结果如图 3.22(b) 所示,参数不再“震荡”了。参数会滑到山谷底后左转,但是这个训练永远走不到终点,因为学习率已经太小了。AB 段的坡度很陡,梯度的值很大,还能够前进一点。左拐以后,BC 段的坡度已经非常平坦了,这种小的学习率无法再让训练前进。

通过以上这种情况我们就可以发现,在梯度下降的过程中,我们不能把所有的参数设相同的学习率,应该为每个参数指定专用的学习率,即自适学习率

2,自适学习率方法?

(1), AdaGrad

AdaGrad(Adaptive Gradient)是典型的自适应学习率方法,其能够根据梯度大小自动调整学习率。AdaGrad 可以做到梯度比较大的时候,学习率就减小,梯度比较小的时候,学习率就放大。

(2),RMSProp

同一个参数需要的学习率,也会随着时间而改变。

(3),Adam

最常用的优化的策略或者优化器(optimizer)是Adam(Adaptive moment estimation)[7]。Adam 可以看作 RMSprop 加上动量,其使用动量作为参数更新方向,并且能够自适应调整学习率。

3,学习率调度

在优化的过程中,可能会因为积累了过多的梯度,导致最后结果爆掉的现象,针对这种现象,我们可以使用学习率调度,之前的学习率调整方法中 η 是一个固定的值,而在学习率调度中 η 跟时间有关,学习率调度中最常见的策略是学习率衰减(learning rate decay),也称为学习率退火(learning rateannealing)。随着参数的不断更新,让 η 越来越小。

另外一个经典的学习率调度的方式———预热,预热的方法是让学习率先变大后变小,至于变到多大、变大的速度、变小的速度是超参数。

4,优化总结

其中 mit 是动量。这个版本里面有动量,其不是顺着某个时刻算出的梯度方向来更新参数,而是把过去所有算出梯度的方向做一个加权总和当作更新的方向。

5,分类与回归的关系

大部分分类都是使用one-hot编码,只有0和1两个选项

回归就是根据几个数据来预估信息,返回的是预测的值

6,softmax函数

我们可以根据这个函数得出一个预测的概率

下面是例子

7,分类损失

有两种计算分类损失的方法

(1),

(2),

其中最常见的方法是最小化交叉熵

下面是结合的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值