【Datawhale X 李宏毅苹果书 AI夏令营】深度学习自适应学习率(AdaGrad/RMSProp/Adam)及其调度

1、自适应学习率

  • 理论上:在训练一个网络,训练到现在参数在临界点附近,再根据特征值的正负号判断该
    临界点是鞍点还是局部最小值
  • 实际上:①在训练的时候,要走到鞍点或局部最小值非常困难;②多数还未走到临界值训练已经结束;

学习率:决定了更新参数的时候的步伐;太大无法快速收敛,甚至不收敛;学习率太小,训练时长比较长;因此在梯度下降里面,所有的参数都是设同样的学习率,这显然是不够的,应该要为每一个参数定制化学习率,即引入自适应学习率(adaptive learning rate)的方法,给每一个参数不同的学习

如果在某一个方向上,梯度的值很小,非常平坦,我们会希望学习率调大一点;如果在某一个方向上非常陡峭,坡度很大,我们会希望学习率可以设得小一点。

1.1 AdaGrad

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

更新公式:
在这里插入图片描述学习率 η \eta η跟迭代次数t和迭代参数相关,即不同的参数跟自己每一次迭代的梯度值相关。
在这里插入图片描述

1.2 RMSProp

RMSprop(Root Mean Squared propagation):同一个参数的同个方向,学习率也是需要动态调整
在这里插入图片描述
其中 0 < α < 1,其是一个可以调整的超参数。

RMSProp 通过 α 可以决定不同迭代次数的梯度重要性有多大,如果 α \alpha α趋近于1,则表示当前计算出来的梯度很重要;最初计算出来的梯度不重要。

1.3 Adam

Adam(Adaptive moment estimation)可以看做是RMSprop加上动量,使用动量作为参数更新方向,并且能够自适应调整学习。

1.4 学习率调度

  • 学习率衰减(learning rate decay)== 学习率退火(learning rate annealing)。随着参数的不断更新,让学习率 η \eta η越来越小
  • 预热:预热的方法是让学习率先变大后变小,至于变到多大、变大的速度、变小的速度是超参数。

2、分类

分类问题预测数据所属的类别,一般采用独热向量表示;如果是二分类,采用0和1就可以进行区别;
如果是三分类采用0/1/3来区分显然是不合适的,这样目标就可以理解为连续的数值类型,不符合我们分类的预测需求;因此:
如果有三个类,标签 y 就是一个三维的向量,比如类 1 是 [ 1 , 0 , 0 ] T [1, 0, 0]^T [1,0,0]T,类 2 是 [ 0 , 1 , 0 ] T [0, 1, 0]^T [0,1,0]T,类
3 是 [ 0 , 0 , 1 ] T [0, 0, 1]^T [0,0,1]T。如果每个类都用一个独热向量来表示,就没有类 1 跟类 2 比较接近,类 1 跟
类 3 比较远的问题。如果用独热向量计算距离的话,类两两之间的距离都是一样的。

2.1 softmax函数

在这里插入图片描述
多分类用softmax,二分类用sigmoid

2.2 分类损失

交叉熵损失函数
在这里插入图片描述
梯度与最后一层的激活函数的导数成正比,多分类交叉熵损失求导更简单,损失仅与正确类别的概率有关

3 批量归一化

批量归一化(Batch Normalization,BN)
为特征归一化(feature normalization)

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值