Inception V4 & Inception-ResNet

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

Code : unofficial unofficial

摘要

In order to optimize the training speed, we used to tune the layer sizes carefully in order to balance the computation between the various model sub-networks.

相较于Inception V3,Inception V4在结构上并没有作出更多的创新,而是仔细调整Inception Module的构成。

网络结构

Inception V4 整体网络结构如下

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception-ResNet 在这篇论文中作者提出了两个版本,V1和V2,其中Inception-ResNet V1 的计算资源上的消耗与Inception V3类似,而Inception-ResNet V2在计算资源上的消耗与Inception V4类似。ResNet版本与非ResNet的版本相比,ResNet版本只在前几层上使用Batch Norm技术,作者认为在整个网络中过分使用batch norm技术是危险的。

Inception-ResNet V1整体结构如下

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception-ResNet V2整体结构如下

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

Inception V4 & Inception-ResNet

作者认为,如果滤波器数量超过1000,残差网络开始出现不稳定,同时网络会在训练过程早期便会出现“死亡”,意即经过成千上万次迭代,在平均池化层之前的层开始只生成0。通过降低学习率,或增加额外的batch norm都无法避免这种状况。为了解决这一问题,作者在将残差模块添加到**层之前,对其进行放缩能够稳定训练。通常来说,将残差放缩因子定在0.1到0.3。

Inception V4 & Inception-ResNet

核心观点

  1. 提出了Inception V4模型。
  2. 尝试将Inception 与ResNet相结合,提出了Inception-resnet模型。
  3. 残差的引入可以显著加速 Inception 的训练过程。