Inception v1~v4和Inception-ResNet v1~v2概括


文章目录

  • Inception初始架构
  • Inception v1
  • Inception v2
  • Inception v3
  • Inception v4
  • Inception-ResNet-v1
  • Inception-ResNet-v2
  • Inception-ResNet v1 、v2与Inception对比


Inception初始架构

初始版本:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_深度学习


图1.1:Inception架构初始版本


优点:

  1. 增加了网络的宽度
  2. 增加了网络对尺度的适应性
  3. 加入池化操作,减少空间大小,减少过拟合
  4. 每个卷积层后跟ReLU,增加了非线性特征。

缺点:所有卷积都在上一层的所有输出上做,造成5×5卷积之后特征图厚度过大。

改进:3×3和5×5卷积层前以及池化层后加入1×1卷积降维。

Inception v1

Inception v1模块:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_池化_02


图1.2:Inception架构改良版本


Inception v1网络(GoogLeNet):



Inception-ResNet V1 inceptionresnetv1 pretrained参数_深度学习_03


图1.3:GoogLeNet


Inception v2

5×5卷积带来的参数量太大,用两个3×3卷积级联组成的感受野与1个5×5卷积相同由此得到Inception v2模块A:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_深度学习_04


图2.1:Inception v2模块A


先执行一个1×3卷积再执行一个3×1卷积等价于直接执行3×3卷积,但计算成本上前者要比后者降低33%。n越大成本节省越多,在模型底层效果不明显,但是在中层就非常好了,由此得到Inception v2模块B:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_cnn_05


图2.2:Inception v2模块B


由于模块中卷积核组被拓展是用来解决表征性瓶颈的,若该模块没有被拓展宽度,而是被用来如上图一样拓展深度,那么维度会过多减少,造成信息损失,由此得到Inception v2模块C:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_cnn_06


图2.3:Inception v2模块C


Inception v2网络:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_池化_07


图2.4:Inception v2网络


Inception v3

Inception v3整合了所有Inception v2模块中的升级,同时使用:

  1. RMSProp 优化器;
  2. Factorized 7x7 卷积(将7×7卷积层分解为两个3×3卷积层);
  3. 辅助分类器使用了 BatchNorm;
  4. 标签平滑(添加到损失公式的一种正则化项,旨在阻止网络对某一类别过分自信,即阻止过拟合)。


Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_08


图3.1:Inception v3实验比较


Inception v4

①网络结构



Inception-ResNet V1 inceptionresnetv1 pretrained参数_卷积_09


图4.1:Inception v4网络结构


②stem结构



Inception-ResNet V1 inceptionresnetv1 pretrained参数_卷积_10


图4.2:Inception v4网络之前的初始运算集stem结构


③初始不加残差的Inception v4模块

用于Inception v4网络的35×35、17×17和8×8网格大小的Inception模块A、B、C:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_11


图4.3:Inception v4网络模块A、B、C(不加残差结构)


④用于Inception v4的图像缩减模块,作用是改变网格的宽度和高度

Inception v4网络的35×35→17×17和17×17→8×8图缩减模块A、B:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_深度学习_12


图4.4:Inception v4网络的图像缩减模块A、B


Inception-ResNet-v1

①Inception-ResNet v1网络:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_cnn_13


图5.1:Inception-ResNet-v1网络结构


②stem结构



Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_14


图5.2:Inception-ResNet-v1网络之前的初始运算集stem结构


③用于Inception-ResNet-v1网络的35×35、17×17和8×8网格大小的Inception-ResNet-A、B、C模块: 之前的池化层被残差连接所替代,并在残差加运算之前有额外的 1x1 卷积



Inception-ResNet V1 inceptionresnetv1 pretrained参数_卷积_15


图5.3:Inception-ResNet-v1网络的模块A、B、C


④Inception-ResNet-v1网络的35×35→17×17和17×17→8×8图缩减模块A、B:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_深度学习_16


图5.4:Inception-ResNet-v1网络的图像缩减模块A、B


⑤如果卷积核的数量超过 1000,则网络架构更深层的残差单元将导致网络崩溃。因此,为了增加稳定性,作者通过 0.1 到 0.3 的比例缩放残差激活值。



Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_17


图5.5:用于Inception-ResNet网络的基本残差结构


Inception-ResNet-v2

①Inception-ResNet-v2网络



Inception-ResNet V1 inceptionresnetv1 pretrained参数_cnn_13


图6.1:Inception-ResNet-v2网络结构


②stem结构



Inception-ResNet V1 inceptionresnetv1 pretrained参数_卷积_10


图6.2:Inception-ResNet-v2网络之前的初始运算集stem结构(同Inception v4)


③用于Inception-ResNet-v2的35×35、17×17和8×8网格大小的Inception-ResNet-A、B、C模块:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_20


图6.3:Inception-ResNet-v2网络的模块A、B、C


④Inception-ResNet-v2网络的35×35→17×17和17×17→8×8图缩减模块A、B:



Inception-ResNet V1 inceptionresnetv1 pretrained参数_神经网络_21


图6.4:Inception-ResNet-v2网络的图像缩减模块A、B


Inception-ResNet v1 、v2与Inception对比

受 ResNet 的优越性能启发,研究者提出了一种混合 inception 模块。Inception ResNet 有两个子版本:v1 和 v2。在我们分析其显著特征之前,先看看这两个子版本之间的微小差异。

Inception-ResNet v1 的计算成本和 Inception v3 的接近。

Inception-ResNetv2 的计算成本和 Inception v4 的接近。

它们有不同的 stem,正如 Inception v4 部分所展示的。

nception-ResNet v1 的计算成本和 Inception v3 的接近。

Inception-ResNetv2 的计算成本和 Inception v4 的接近。

它们有不同的 stem,正如 Inception v4 部分所展示的。

两个子版本都有相同的模块 A、B、C 和缩减块结构。唯一的不同在于超参数设置。在这一部分,我们将聚焦于结构,并参考论文中的相同超参数设置(图像是关于 Inception-ResNet v1 的)。