GoogLeNet V3
研究背景
-
ILSVRC
挑战赛 -
相关研究
GoogLeNet V1
:采用多尺度卷积、1*1
卷积操作、辅助损失函数、实现更深的22
层卷积神经网络,夺得了ILSVRC-2014
分类和检测冠军以及定位亚军
GoogLeNet V2
:在V1
的基础上增加BN层,将5*5
卷积全面替代2
个3*3
卷积堆叠形式,进一步提升模型训练
VGG
:缺点VGG
网络模型大、参数多、计算量大、不适用于真实场景
研究问题
目前精度高的卷积神经网络都是参数多、计算量大、存在落地困难。针对这个问题,本文提出分解卷积核和正则化策略,从而提升网络的精度
研究成果
四个网络结构设计准则
通过大量实验得出结论,并无理论证明
- 尽量避免信息瓶颈,通常发生在池化层,即特征图变小,信息量进一步减小,类似一个瓶颈
- 采用更高维的表示方法能够更容易处理网络的局部信息
- 大的卷积核可以分解成数个卷积核,且不会降低网络能力
- 把握好网络的深度和宽度的平衡
特征图下降
传统的方法存在信息表示瓶颈问题(违反了准则1),即特征图信息变小
简单的解决方法:先用卷积将特征图通道数翻倍,再池化。但是存在一个问题:计算量过大。解决方法:用卷积得到一半的特征通道数,用池化得到另外一半的特征通道数
本文采用这个方法将35*35
下降至17*17
以及17*17
下降至8*8
卷积分解
1
个5*5
卷积可以分解为2
个3*3
卷积(和VGG
思想一样)- 不对称卷积
1
个n*n
卷积可以分解为1*n
卷积和n*1
卷积
这种方法可以减少计算量
注意事项:非对称卷积在后半段使用效果才好,特别是特征分辨率在12-20
之间。本文在分辨率为17*17
的时候使用非对称卷积分解
标签平滑
传统的one-hot
编码存在问题——过度自信,导致过拟合
因此提出标签平滑,把one-hot
中概率为1的那一项进行衰减,避免过度自信,衰减的那一部分confidence
平均分到每一个类别中。
这里的q'
即标签平滑之后的标签,让模型输出的p
分布去逼近q'
。第一项中的函数是代表:k=y
,输出1
;否则输出0
。而u(k)
是均匀分布,从而输出变成:
代入交叉熵损失函数,此时变成:
低分辨率图像分类
低分辨率图片分类在目标检测中应用比较广泛,针对这个问题,本文提出两个方法:
-
将一个卷积层
stride=2
改为stride=1
,用于151*151
的图像 -
将一个卷积层
stride=2
改为stride=1
,移除第一个池化层,用于79*79
的图像
借鉴思路:修改网络模型头部stride和池化,来处理低分辨率图片,尽可能的保留网络的结构,不损失网络精度
拓展卷积
这里提出了拓展卷积在原有的inception
基础之上增加了拓展卷积(遵循准则2
)
网络结构
针对主要变化:
- 采用
3*3
卷积替换1
个7*7
卷积,并且在第一个卷积层就采用stride=2
来降低分辨率 - 第二个
3
个3*3
卷积,在第2
个卷积才下降分辨率 - 第一个
block
增加inception-module
,第一个inceptio-module
只是将5*5
卷积替换成2
个3*3
卷积 - 第二个
block
处理17*17
特征图,采用非对称卷积 - 第三个
block
处理8*8
特征图,遵循准则2
,提出拓展卷积