AlexNet和VGG等经典网络都是通过增加网络深度来提升性能,而Inception系列网络另辟蹊径,通过增加宽度获取稀疏的网络结构,并通过引入1×1卷积控制计算量,平衡性能与效率。Inception系列网络的第一代为GoogLeNet,后续的版本均基于第一代进行改进,包括BN、3×3卷积替代5×5卷积、卷积核分解和引入残差连接等。
论文:Going deeper with convolutions
设计原则:
① Hebbian理论:两个神经元或者神经元系统,如果总是同时被激发,就会形成联合,其中一个神经元的激发会促进另一个的激发。
这里引用一下赫布理论中的一个观点:“就像管弦乐队的一个不合拍的演奏者一样,如果神经元上的一个突触不能和其他的突触同步激发,就会被当作蹩脚的角色剔除。但是那些同步激发的突触 - 其强度足以使神经元发放动作电位 - 就会被强化。这样一来,大脑根据神经冲动流的方向,发展神经回路,逐步精化和完善,建立起大脑神经元间的网络联系。” 这么一看,其实人类的成长过程就是通过不断学习来完善大脑神经元中的联系,那是不是学习和思考得越多所开发的神经元就越多呢?(神经学科太迷人了!)
在人工神经网络中,当某个数据集的概率分布能够由一个非常大、非常稀疏的深度神经网络所表达时,通过分析最后一层激活情况的相关统计量,并聚类输出高度相关的神经元,逐层构建最优网络拓扑,这种思想恰好与赫布理论相照应!
② 直觉上的多尺度:网络同一层使用不同尺寸的卷积能够获取不同尺度的特征。

借鉴了NIN中提出的1×1卷积和全局平均池化:大量使用1×1卷积降低通道维度,减少计算量,同时增加网络深度;使用全局平均池化代替多个全连接层,结构稀疏,计算量也大幅降低。

辅助分类器:由于当时没有残差连接,22层网络的梯度回传比较困难,考虑到AlexNet这样的浅层网络也具有强大的分类能力,那么深层网络的中间层输出也应该具有很强的区分性,因此作者在第11层和第17层分别添加一个辅助分类器来帮助梯度回传,并具有一定的正则化效果。
论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
论文:Rethinking the Inception Architecture for Computer Vision
设计v2和v3的主要动机还是提高计算效率和减小计算量,相比v1,有以下改进:
卷积分解

标签平滑
分类问题一般采用交叉熵损失函数,其形式为:

其中:
p
(
k
)
p(k)
p(k)为样本属于类别
k
k
k的概率,
q
(
k
)
q(k)
q(k)为gt的分布。
假设预测的概率为: 0.1,0.2,0.7
真实标签的one-hot编码为: 0, 0, 1
则
l
C
E
=
−
(
l
o
g
(
0.7
)
∗
1
)
l_{CE}=-(log(0.7)*1)
lCE=−(log(0.7)∗1),可以看到参与loss计算的只有
q
(
k
)
=
1
q(k)=1
q(k)=1时对应的预测概率,这样的计算方式会导致两个问题:
①可能会导致过拟合:如果模型学习的目的时为每个训练样本的gt标签分配全概率,那么它就不能保证泛化;
②从直觉上来看,模型对其预测变得过于自信。
加入标签平滑的gt分布如下:

当
ϵ
=
0.1
\epsilon=0.1
ϵ=0.1时,原先经过one-hot编码的标签分布由 0, 0, 1变为0.05, 0.05,0.9,此时
l
C
E
=
−
(
l
o
g
(
0.1
)
∗
0.05
+
l
o
g
(
0.2
)
∗
0.05
+
l
o
g
(
0.7
)
∗
0.9
)
l_{CE}=-(log(0.1)*0.05+log(0.2)*0.05+log(0.7)*0.9)
lCE=−(log(0.1)∗0.05+log(0.2)∗0.05+log(0.7)∗0.9),降低了模型对标签的自信度(由1变为了0.9),增强泛化能力。
加入BN(参照BN-Inception)
使用RMSProp优化器
Inception-v2&v3网络结构(Inception-v3是在v2的基础上增加了RMSProp、标签平滑、7×7卷积分解、辅助分类器的全连接层使用BN):


论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
论文:Xception: Deep Learning with Depthwise Separable Convolutions