GoogLeNet结构

Inception v1

论文:《Going deeper with convolutions》

在较低的层(靠近输入的层)中,相关单元更侧重提取局部区域的信息。因此使用1x1的特征可以保存这些特征,从而与其他支路提取的特征进行融合。

3x3和5x5的卷积是想要提取不同尺度的特征,3x3卷积和5x5卷积之前的1x1的卷积作用是减少channel,从而降低参数量。

论文中说到之所以使用pooling,是因为pooling操作在目前最好的卷积网络中是必要的,个人理解是pooling操作可以增强网络的平移不变性。

GoogLeNet结构(Inception V1)

输入为224x224的RGB图像,‘#3x3 reduce’和‘#5x5 reduce’表示3x3和5x5卷积之前1x1的卷积核的个数。

 为了阻止该网络中间部分梯度消失,作者引入了两个辅助分类器。它们对其中两个 Inception 模块的输出执行 softmax 操作,然后在同样的标签上计算辅助损失。总损失即辅助损失和真实损失的加权和。辅助损失只是用于训练,在推断过程中并不使用。

Inception v2

论文:Rethinking the Inception Architecture for Computer Vision

大尺度的卷积往往会造成计算的浪费,因为大尺度卷积可以分解为几个小尺度的卷积,从而减小计算量。例如5x5的卷积可以分解为两层3x3的卷积,而后者的计算量也更小。因此,在inception v2中,大尺度的卷积被分解为小尺度卷积。此外,论文还提出了使用1xn和nx1的两层卷积代替nxn卷积。inception模块之间使用stride=2的卷积来降低尺度,而非pooling操作。

论文提出的几种inception模块如下

Figure 5

Figure 5

Figure 6

Figure 7

GoogLeNet的结构如下

inception之间使用下面模块降低尺度。

Inception v3

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

解决方案:

Inception Net v3 整合了前面 Inception v2 中提到的所有升级,还使用了:

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

 

Inception v4

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

改论文提出了inception结合ResNet的网络模块。卷积网络参数中标V的,padding使用valid类型。由于论文提出的模块较多,在此方向模块结构,不做详细说明。

 

 

原文地址:https://www.cnblogs.com/Peyton-Li/p/11201038.html