Residual Squeeze VGG16

本人在学习深度压缩方面的知识,刚开始多久,自己建了一个QQ群希望能和大家一起讨论学习深度压缩加速的知识。

QQ群:621888628

1.本文的贡献

使用SQUEEZENET改进的Fire Module即(ResSquVGG16)来压缩VGG16模型,MIT Places365标准场景数据集上训练。在精度变化不大的情况下将训练时间减少了23.86%,模型大小缩小了88.4%。

 

2.方法

 设计原则:

 1)3x3的卷积核替换为1x1的卷积核

12年的AlexNet模型到15年ResNet模型,卷积核大小基本上都选择在3x3了,因为其有效性,以及设计简洁性。替换3x3的卷积kernel为1x1的卷积kernel可以让参数缩小9倍。但为了不影响识别精度,并不是全部替换,而是一部分用3x3,一部分用1x1。

 2)减少输入3x3卷积的input feature map数量 
一个完全由3x3滤波器组成的卷积层,层中的参数的总量是(输入通道的数量)∗(滤波器的数量)∗3 * 3)。为在CNN中保持小的参数总数,不仅要减少3×3滤波器的数量(见上面的策略1),还要减少3×3滤波器的输入通道的数量。使用挤压层将输入到3x3个过滤器的通道数量减少。

 

 3)在网络后期降采样,使卷积层具有大的激活图。在卷积网络中,每个卷积层产生至少1x1并且经常比1x1大得多的输出激活图。若网络中早期的层具有较大的步幅,大多数层将具有小的激活图。反之,若网络中的大多数层的步长为1并且大于1的步幅集中朝向网络的尾部,则网络中的许多层将具有大的激活图。直觉是,在其他保持不变的情况下,大的激活图(由于延迟下采样)有更高的分类精度。 

策略1和2是在试图保持准确性的同时减少CNN中参数的数量。策略3是在有限的参数预算上最大化精度。

 

3.Fire Module

Fire Module思想是将原来简单的一层conv层变成两层:squeeze层+expand层,各自带上Relu激活层。在squeeze层里面全是1x1的卷积kernel,数量记为S11;在expand层里面有1x1和3x3的卷积kernel,数量分别记为E11和E33,要求S11<(E11+E33)即能满足上面的设计原则

2)expand层之后将1x1和3x3的卷积output feature maps在channel维度拼接起来。

 

1)SqueezeNet用于AlexNet的网络结构:

 

左图是SqueezeNet,中间的层是SqueezeNet与一些fire模块之间的旁路连接,右图是SqueezeNet与一些fire模块之间的复杂的旁路连接。

采取旁路连接的目的是为了学习输入和输出之间的残差函数,改变了这些Fire模块的参数的正则化,并且根据ResNet,可以提高最终精度和训练完整模型的能力。

其中简单旁路连接的限制是输入通道的数量和输出通道的数量必须相同; 因此如上中间图只有一半的Fire模块可以具有简单的旁路连接。当不能满足“相同数量的通道”要求时,使用复杂的旁路连接,如上右图,复杂的旁路连接会为模型添加额外的参数,而简单的旁路连接则不会。

除了改变正则化之外,添加旁路连接有助于减轻挤压层引入的表示性瓶颈。SqueezeNet中,挤压比(SR为挤压层中的滤波器数量与扩展层中的滤波器数量之间的比率)为0.125,意味着每个挤压层比伴随的扩展层具有少8倍的输出通道。由于这种限制,只有有限量的信息可以通过挤压层。通过添加旁路连接到SqueezeNet,打开了信息绕挤压层流动的途径。

 

4.ResSquVGG16

网络越深,梯度消失的现象就越来越明显,训练效果也不好,而浅层的网络又无法明显提升网络的识别效果,通过残差网络可以将网络做的更深,残差网络的基本组成:

 

在输出个输入之间引入一个shortcut connection,而不是简单的堆叠网络,可以解决由于网络很深出现梯度消失的问题,可以把网络做的很深,与一般网络相比加入了y=x层(恒等映射层),其主要作用是使网络随深度的增加而不退化,并具有着较好的收敛效果。
其中:表示的是残差,表示的是映射输出(网络的输出)。所以可以得到网络的输出,由于其基本组成中间有两个隐层,所以可以得到网络的输出为: ,其中是为了保证两个矩阵的维度相同而进行的线性变换。

残差学习的快捷连接

 

MIT Places365标准数据集中,共有1,803,460(180万3400张)个训练图像,具有50个验证类和900个测试类别,尺寸范围从3,068到5,000。MIT Places365-Standard数据集具有由不同场景组成的类别,这些图像标有场景名称标签。

  5.实验结果

 

ResSquVGG16MIT Places365从头开始训练的,VGG16是在MIT Places365进行微调。

 

你可能感兴趣的:(深度学习的图片检索)