论文笔记:主干网络——GoogLeNet-V2

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

批标准化:缓解内部协变量偏移加快深度神经网络训练

文章目录

  • Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
  • 批标准化:缓解内部协变量偏移加快深度神经网络训练
    • 论文结构
    • 一、摘要核心
    • 二、BN层(论文中的2-3)
      • ① 发展过程
      • ② 步骤
      • ③ 指数滑动平均值
      • ④ 优点
    • 三、GoogLeNet-V2 结构
      • 与GoogLeNet比较
    • 四、实验结果及分析(论文的4)
      • ① MNIST实验(论文的4.1)
      • ② ILSVRC实验一:速度对比(论文中4.2.1-4.2.2)
      • ③ ILSVRC实验二:模型集成(论文中的4.2.3)
    • 五、论文总结
      • ①关键点、创新点
      • ② 备用参考文献知识点:

论文结构

摘要: 介绍ICS问题,提出BN解决ICS,介绍BN的优点
1. Introduction: 深度学习优化过程中,ICS带来训练难,BN层可以改善这类问题。
2. Towards Reducing Internal covariate Shift: 分析解决ICS问题的方法,得出BN的指导方针:0均值,1标准差,且表征能力不能改变。
3. Normalization via Mini-Batch Statistics: 详细介绍BN前向和反向实现公式,分析BN可用大学习率,以及有正则化的效果
4. Experiments: 在MNIST上验证BN使输出值稳定,在ILSVRC上验证BN加速收敛,得到更高精度
5.Conclusion: 总结BN的作用及其三大优点:加速、正则,可用饱和激活函数,并提出下一步可在RNN上进行研究标准化层

一、摘要核心

① 提出问题:数据分布变化导致训练困难

② 已有方法:小学习率,精心设计权重初始化。但是训练缓慢,效果不佳。

③ ICS:这种现象是ICS,提出标准化网络层来缓解。

④ BN: 在模型中增加BN层,可在mini-batch中执行标准化,让模型可以用大学习率,不用精心设计权值初始化,可以少用dropout。

⑤ 本文成果:BN使模型训练加快14倍,并且可以显著提高分类精度,在ImageNet分类任务中超越了人类的表现。

二、BN层(论文中的2-3)

① 发展过程

(1)ICS(论文的2)

ICS:输入数据分布变化,所以权重参数也要一系列随之改变,去适应输入数据分布的变化,导致模型训练困难,对深度神经网络影响大。

解决方法:
① 白化:在输入之前预处理,去除输入数据冗余信息,使数据特征之间的相关性变低,所有特征的方差相同,都是0均值,标准差为1.

② BN:加快模型收敛。

优点:

  1. 可以用更大的学习率
  2. 不用设计权重初始化,不用dropout或者用较少的dropout,不用L2或较小的weight decay,不用LRN。

(2)标准化

按照特征维度进行标准化,使均值为0,标准差为1。
论文笔记:主干网络——GoogLeNet-V2_第1张图片

存在问题: 使神经元输出值限制在激活函数的先行区,导致模型退化,削弱了网络的表达能力。

解决方法: 采用可学习参数γ,β,增加线性变换,同时提供恒等映射的可能。
在这里插入图片描述

② 步骤

论文笔记:主干网络——GoogLeNet-V2_第2张图片
step 1: 在mini-batch上计算均值
step 2: 在mini-batch上计算标准差
step 3: 减均值除以标准差,有一个∈=10^-5,用来避免分母为0
step 4: 线性变换,乘 γ 加 β ,实现缩放和平移

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

解决方法: 指数滑动平均

③ 指数滑动平均值

距当前时刻越近,对平均值的贡献就越大,权重就越大。随着时间增加,乘以decay(<1)的指数倍,对均值的贡献逐渐衰减。

④ 优点

  1. 可以采用较大的学习率。可以将饱和区的值拉倒0附近。
  2. 充当正则,顶替dropout,或者用较少的dropout。将当前样本与以前样本通过统计信息联系起来,相当于某种约束

注意:卷积网络时,是针对特征图为单位进行BN层,不是针对每个神经元,而是针对特征图。

三、GoogLeNet-V2 结构

与GoogLeNet比较

  1. 在激活函数前加了BN层
  2. 把V1中的5×5卷积,替换成两个3×3卷积。
    感受野相同,参数量减少,增加了非线性变换,提升特征提取能力
  3. 第一个inception模块增加一个Inception
  4. 对特征图的下采样不用池化层,用stride = 2 的卷积,也可以实现分辨率下降。
  5. 增加了9层,到31层。

四、实验结果及分析(论文的4)

① MNIST实验(论文的4.1)

论文笔记:主干网络——GoogLeNet-V2_第3张图片

(a):采用BN层以后,训练精度更高了,更快达到相同精度,加快收敛,缓解ICS问题。

(b)、(c)对数据分类图的可视化,(c)的输出值更稳定,缓解ICS问题

② ILSVRC实验一:速度对比(论文中4.2.1-4.2.2)

论文笔记:主干网络——GoogLeNet-V2_第4张图片
论文笔记:主干网络——GoogLeNet-V2_第5张图片
对比的网络类型:
GoogLeNet、在激活函数前加BN层、学习率×5、学习率×30、学习率×5,把激活函数替换为sigmoid

结论:

  1. 加BN更快:BN-Baseline比Inception快一倍
  2. 可以用大学习率:BN-x5比Inception快14倍
  3. 加BN精度更高:BN-x30比x5慢,但是精度更高

③ ILSVRC实验二:模型集成(论文中的4.2.3)

论文笔记:主干网络——GoogLeNet-V2_第6张图片
6个模型集成:

  1. 增⼤初始权重,使分布的标准差变大
  2. 2.不同dropout率
  3. 3.最后⼀层⽤⾮卷积的BN

五、论文总结

①关键点、创新点

  1. 提出BN层,缓解ICS带来的训练困难
  2. 借鉴VGG,全面将5×5的卷积替换为两个3×3的卷积

② 备用参考文献知识点:

  1. 一个样本的计算受到其他样本的约束,可认为是一种正则约束

a training example is seen in conjunction with other examples in the
mini-batch, and the training network no longer producing deterministic values for a given training example.(论文3.4的第一段)

  1. 堆叠使用2个3×3卷积,全面替换5×5卷积,并且给予更多卷积核

The main difference to the network described in is that the 5 × 5 convolutional layers are replaced by two consecutive layers of 3 × 3 convolutions with up to 128 filters. (论文4.2的第一段)

你可能感兴趣的:(主干网络,深度学习,人工智能,神经网络)