Datawhale-李宏毅深度学习/神经网络训练方法

目录

局部最小值与鞍点 

如何找到Local minima and saddle point

批次与动量

Review: Optimization with batch

Small Batch v.s. Large Batch

Momentum 动量

总结

Learning rate 自动调整学习速率

Learning Rate Scheduling

Learning Rate Decay

Learning Rate Warm Up

Warm Up In Transformer

Summary of Optimization

损失函数Loss带来的影响

回归方式思考分类

Class as one-hot vector

Regression

Soft-max

MSE and Cross-entropy

批次标准化

Changing Landscape

Feature Normalization

Batch normalization - Testing

Batch normalization on CNN

Internal Covariate Shift


局部最小值与鞍点 

如何找到Local minima and saddle point

和gradient(一次微分),hessian(二次微分)有关

举例:

上面的方式在实际应用中很少用到。

在二维空间中是local minima,在三维空间中是saddle point,维度越高,走的路越多。

如上式,minimum ration如果等于1,即正的eigen values与所有的eigen values数目一样,那么此点位于local minima,实际上,大多数时候,结果都会显示出有正有负。

批次与动量

Review: Optimization with batch

Small Batch v.s. Large Batch

Batch size =1 时只需要一笔资料,就可以更新参数。左边的方式,所有的资料看过一遍才能更新参数。优点在于更加稳定。右边的方式,每次看到一笔资料就可以更新一次参数。右边的缺点在于不够稳定,结果不够准确。

考虑到平行计算后,左边的方式,可能运算时间和右边的差不多。

如上图,Batchsize增加到10000以上时,gpu运算时间会逐渐上涨。

如上图,60000update60update所需时间是差不多的;大的batchsize是较有效率的

上图,用不同batch训练模型上,会得到不同的结果

大的batchsize会带来较差的结果

为什么小的batchsize有更好的结果

可能1:Noisy update对于训练模型而言更好

可能2:在L1卡住时,在L2不一定会被卡住

小的Batch对testing而言,会更好。

即使Training时差不多,Testing时,小的batch表现较差。此现象也证明出现了过拟合(overfitting)的状态

左边盆地中的minima是good for testing,右边sharp minima training loss和testing loss差距过大bad for testing。其中一种解释:大的batch,会导致峡谷更加陡峭。小的batch更加的平滑

Momentum 动量

在物理世界中,小球下落时会带有动量,如何将这个method应用到gradient descent里呢

加上Momentum之后,

Movement: movement of last step minus gradient at present

加上动量之后,计算不再是通过gradient的方向来调整参数,如上2图所示,加入动量后,第一步照旧,从第二步开始,调参不再只看gradient的反方向,而是gradient反方向+前一步的反方向的夹角。

总结

Learning rate 自动调整学习速率

loss不再下降变化,gradient依然在震动,是因为图左的原因

Critical point并不是导致上述现象的原因。

单纯调整learning rate的情况下,并不能改善。在右下的表中可以看出不再震荡。但是永远不能走到终点。

Gradient descent 并不能解决error surface 这个问题

Learning rate应该为每一个参数 特质化

简单方法,只看一个参数。

如何计算下面的theta 上标t 下标I

如果函数变化率比较小,gradient也比较小,这样计算出来的theta(step)就会比较大。

如果函数变化率比较大,gradient也比较大,这样计算出来的theta(step)就会比较小。

同个参数同个函数,learning rate可以动态调整。

通过RMSprop实现

最常见的算法如上

sigma变大后,步伐还是会变小,即使数据突然激增,力道会逐渐让数据重新平缓

Learning Rate Scheduling

Learning Rate Decay

Learning Rate Warm Up

Warm Up In Transformer

Summary of Optimization

解决error surface带来的影响

How about directly move the mountain

损失函数Loss带来的影响

回归方式思考分类

Class as one-hot vector

Regression

Soft-max

MSE and Cross-entropy

交叉熵是更加常见的方式;在分类任务中。

Changing the loss function can change the difficulty of optimization.

批次标准化

Changing Landscape

Feature Normalization

Feature normalization让梯度下降收敛更快

如何对Z Feature Normalization

Feature Normalization之后 系统中的所有值由独立变成相互关联 z1的改变之后 整个系统中所有其他数据都会变化

Consider a batch, 也可以称为 Batch Normalization

Batch normalization - Testing

Batch normalization on CNN

原文章:https://arxiv.org/abs/1502.03167

红色的虚线可以在比较短的时间内跑到一定的accuracy

Internal Covariate Shift

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值