inception v1
这是inception网络的第一版本,在论文《Going deeper with convolutions》中提出的,该网络的特点是更高的利用网络内部的计算资源。
提出的背景:图像中突出部分的大小差别很大,如下图,狗在图像中所占的区域大小不一,由于这样的位置信息的差异较大,为卷积操作选择合适的卷积核大小带来了挑战。位置信息分布更加全局的图像适用于较大的卷积核,信息分布局部的图像偏好较小的卷积核。
狗的图片
另外,较深的网络容易导致过拟合,梯度传播至整个网络是很困难的。
基于该问题,相关学者想到【为什么不在同一层级上运行具备多个尺寸的卷积核呢?】这样网络本质上会更宽,而不是更深。因此提出了inception模块,如下图所示。
inception模块
使用3个不同大小的卷积核对输入进行卷积操作。这样,需要消耗大量的计算资源,为了降低成本,在33和55的卷积核之前加入1*1的卷积核来降维,如下图所示。
inception(降维)
inception v2
inception v2和inception v3是同一篇论文《Rethinking the Inception Architecture for Computer Vision》,该方法能够增加准确度和较少计算的复杂度。
提出的背景:当卷积不会大幅度减少输入的维度时,神经网络可能会更好的执行,过多的减少维度可能会造成信息的损失,这成为表征性瓶颈。
基于该问题,3作者将55的卷积核分解成两个33的卷积运算以提升计算的速度,如下图所示。
inception v2
与此同时,将nn的卷积核分解成1n和n1的两个卷积,例如33的卷积等价于先执行一个13的卷积再执行一个31的卷积,如下图所示。
iinception v2
inception v3
提出的背景:作者注意到辅助分类器知道训练过程快结束的时候才有较多的贡献,辅助分类器的功能是正则化,尤其是他们的batch norm和dropout。
因此作者引用了RMSProp优化器、Factorized 7*7卷积和在辅助的分类器中使用了batch norm
[1] 代码参考