Inception V1、V2、V3和V4

Inception模块分为V1、V2、V3和V4。

  1. V1(GoogLeNet)的介绍

论文:Going deeper with convolutions

论文链接:https://arxiv.org/pdf/1409.4842v1.pdf

主要问题:

  1. 每张图中主体所占区域大小差别很大。由于主体信息位置的巨大差异,那选择合适的卷积核相对来说就比较困难。信息分布更全局性的图像适合选用较大的卷积核,信息分布较局部的图像适合较小的卷积核。
  2. 非常深的网络更容易过拟合。将梯度更新传输到整个网络是很困难的。
  3. 简单地堆叠较大的卷积层非常消耗计算资源。

解决方法:

作者在神经网络设计上不是增加深度而是增加网络宽度,并且为了降低算力成本,作者在3*3和5*5卷积层之前添加额外的1*1卷积层,来限制输入信道的数量。

Inception V1、V2、V3和V4_第1张图片

  2.V2介绍

论文:Rethinking the Inception Architecture for Computer Vision

论文地址:https://arxiv.org/pdf/1512.00567v3.pdf

主要问题:

  1. 减少特征的表征性瓶颈。直观来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,也成为[特征性瓶颈]。
  2. 使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效。

解决方法:

最左侧一排将5*5分解成两个3*3,实际上一个5*5卷积的计算成本是一个3*3卷积的2.78倍。所以叠加会提升性能。如下图:

Inception V1、V2、V3和V4_第2张图片

 

 

 推论出,若有n*n卷积核,那么我们可以分解为1*n和n*1两个卷积。如下图,若n为3,则和上图一致:

Inception V1、V2、V3和V4_第3张图片

 

 

 但是,为了解决表征性瓶颈,我们若拓宽模型而不是加深模型,那么会避免信息损失,如下图:

Inception V1、V2、V3和V4_第4张图片

 

 

   3.V3介绍

论文:Rethinking the Inception Architecture for Computer Vision

论文地址:https://arxiv.org/pdf/1512.00567v3.pdf

主要问题:

  1. 作者注意到辅助分类器直到训练过程快结束时才有较多的贡献,那时准确率接近饱和。作者认为辅助分类器的功能是正则化,尤其是它们具备BN和dropout时。
  2. 是否能够改进V2而无需大幅更改模块仍需要研究。

解决方法:

  1. RMSProp优化器;
  2. Factorized7*7卷积;
  3. 辅助分类器使用了BN;
  4. 标签平滑(添加到巡视公式的一种正则化项,旨在组织网络对某一类别过分自信,即阻止过拟合)。

  4.V4介绍

论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

论文地址:https://arxiv.org/pdf/1602.07261.pdf

主要问题:

使模块更加一致。作者还注意到某些模块有不必要的复杂性。这允许我们通过添加更多一致的模块来提高性能。

解决方法:

图1左侧是V4的整体结构,图1右侧是V4的stem部分,用于对于进入Inception模块钱的数据进行预处理,减小对图像压缩的精度损失。stem部分就是多次卷积+2次池化,池化采用了V3论文里面提到的卷积+pooling并行的结构,来防止bottleneck问题。stem后用了3种Inception模块。直接的Reduction模块起到了pooling作用,同样使用了并行的结构来防止bottleneck问题。

Inception V1、V2、V3和V4_第5张图片

                                                         图1:Inception-V4结构

Inception V1、V2、V3和V4_第6张图片

图2:从左到右分别为Inception-V4中的InceptionA\B\C模块

图3所示,V4中引入了专用的reduction block,它被用于改变网络的宽度和高度。

Inception V1、V2、V3和V4_第7张图片

图3:Inception-V4中的Reduction模块

小总结:

  1. 降维:比如,一张500*500且厚度depth为100的图片在20个filter上做1*1的卷积,那么结果的大小为500*500*20.
  2. 加入非线性。卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励,提升网络的表达能力;可以在保持特征面尺度不变的(即不损失分辨率)的前提下大幅度增加非线性特性(利用后接的非线性激活函数),把网络坐的很深。

你可能感兴趣的:(Inception V1、V2、V3和V4)