4_Batch Normalization

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 批标准化:缓解内部协变量偏移加快深度神经网络训练

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Ics (Internal Covariate Shift,内部协变量偏移)
  • ICS现象:输入数据分布变化,导致的模型训练困难,对深度神经网络影响极大。

在这里插入图片描述

在这里插入图片描述

  • 白化(Whitening)
    白化:去除输入数据的冗余信息,使得数据特征之间相关性较低,所有特征具有相同方差
  • 可以将数据变为0均值,1标准差的形式,实现白化

研究成果

在这里插入图片描述

  • 提出BN层:加快模型收敛,比googlenet-v1快数十倍,获得更优结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GyxQ7Tfu-1621149466900)(C:\Users\User\AppData\Roaming\Typora\typora-user-images\image-20210428212410695.png)]

  • BN优点︰
    • 1.可以用更大学习率,加速模型收敛
    • 2.可以不用精心设计权值初始化
    • 3.可以不用dropout或较小的dropout
    • 4.可以不用L2或者较小的weight decay
    • 5.可以不用LRN(local response normalization)

研究意义

在这里插入图片描述

  • 研究意义
    • 加快了深度学习的发展
    • 开启神经网络设计新时代,标准化层已经成为深度神经网络标配
    • 在Batch Normalization基础上拓展出了一系例标准化网络层,如Layer Normalization (LN),lnstance Normalization (lN), Group Normalization (GN)

在这里插入图片描述

  • 所有的标准化都要执行上图,所不同的是对于均值和方差的求取方式

在这里插入图片描述

在这里插入图片描述

Batch Normalization:批标准化

  • 批:一批数据,通常为mini-batch

  • 标准化:使得分布为mean=0,std=1

在这里插入图片描述

在这里插入图片描述

  • 存在问题:
    使神经元输出值在sigmoid线性区削弱了网络的表达能力

  • 解决办法:

在这里插入图片描述

​ 采用可学习参数y和β,增加线性变换,提升网络表达能力,同时提供恒等映射的可能,,当

在这里插入图片描述

在这里插入图片描述

​ BN层变为恒等映射,不改变神经元输出值

在这里插入图片描述

  • step1.在mini-batch上计算均值

  • step2.在mini-batch上计算标准差

  • step3.减均值除以标准差

  • step4.线性变换,乘y加β,实现缩放与平移

  • 存在问题: mini-batch的统计信息充当总体是不准确的

  • 解决办法:采用指数滑动平均(Exponential Moving Average)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

at :当前值
mvt︰指数滑动平均值

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

BN优点

  • 1.可采用较大学习率
    针对类似Sigmoid的饱和激活函数,加上BN层后,可采用较大学习率

  • 2.充当正则,顶替Dropout
    加入BN层后,将当前样本与以前样本通过统计信息联系起来,相当于某种约束,经实验表明可减轻Dropout的使用

  • BN注意事项

    • 1.BN层前一层不需要加偏置(bias),该偏置可被BN层中的Shift (Beta)给抵消
    • 2.卷积网络时,是针对特征图为单位进行BN层,即使2D的BN操作

GoogLeNetV2结构

在这里插入图片描述

在这里插入图片描述

  • 对V1的改进:
    • 1.激活函数前加入BN
    • 2.5 * 5卷积替换为2个3 * 3卷积
    • 3.第一个Inception模块增加一个Inception结构
    • 4.增多原“5 * 5”部分的卷积核个数
    • 5.尺寸变化采用stride=2的卷积()
    • 6.增加9层网络(10-1层)到31层(10表示inception数量)

实验结果

在这里插入图片描述

  • MNIST实验
    1.观察收敛速度
    2.观察MLP网络最后一层输出值分布

  • 结果:
    1.加入BN层之后,收敛速度更快
    2.加入BN层之后,输出值更稳定,缓解ICS问题

在这里插入图片描述

在这里插入图片描述

  • ILSVRC分类实验一:速度对比
    参数设置:初始学习率=0.0015
    x5:表示学习率 =0.0015*5 = 0.0075
    • 1.加BN更快:BN-Baseline比Inception快一倍
    • 2可用大学习率:BN-x5 比 Inception 快14倍
    • 3.加BN精度更高:BN-x30比x5慢,但精度更高
    • 4.Sigmoid时,加BN精度更高:BN-x5-Sigmoid虽精度最低,比Inception-Sigmoind高很多

在这里插入图片描述

  • lLSVRC分类实验二:模型集成,超越人类
    六个BN-x30集成,六个BN-x30不同之处:
    • 1.增大权重初始化的值,即分布的标准差变大
      1. dropout设为5%或10%,GoogLeNet-V1是40%

总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值