大尺寸的卷积核可以带来更大的感受野,但也意味着更多的参数,比如5x5卷积核参数是3x3卷积核的25/9=2.78倍。可以用2个连续的3x3卷积层(stride=1)组成的小网络来代替单个的5x5卷积层(保持感受野范围的同时又减少了参数量)。
基于此考虑,对Incepton结构进行改进,将大的卷积核用小的卷积核替换,得到Inception V2
Inception V2的结构如上图所示
除此之外,Inception还进行了两个方面的改进,分别是label smooth 和 BN。
(1)label smooth
深度学习用的labels一般都是one -hot向量,用来指示classifier的唯一结果,即只在某一位置取1,其它位置都是0,Labels的脉冲性质会引发两个不良后果:一是over-fitting,另外一个是降低了网络的适应性(网络对它产生的结果太自信了);Inception v2在网络实现的时候,令label_smoothing = 0.1,num_classes= 1000。Label smooth提高了网络精度0.2%
(2)BN
传统的深度神经网络在训练时,每一层的输入的分布都在变化(如果分布一致的话会简化学习过程),导致训练变得困难(mini batch 每个batch分布也不同),我们只能使用一个很小的学习速率解决这个问题。
BN在用于SGD时,会对每一个mini-batch数据的内部进行标准化(normalization)处理,使输出规范化到N(0,1)的正态分布,减少了InternalCovariate Shift(内部神经元分布的改变)。
BN是一个非常有效的正则化方法,可以让大型卷积网络的训练速度加快很多倍,同时收敛后的分类准确率也可以得到大幅提高。同时也可以尝试大的学习率并且减少L1,L2和Dropout等正则化措施。