SqueezeNet
Paper : SqueezeNet: AlexNet-Level Accuracy with 50x Fewer Parameters and <0.5MB Model Size
Code : torchvision
摘要
SqueezeNet是着重强调模型压缩的卷积网络模型,准确率与AlexNet相当但是参数规模只有AlexNet的1/50,在模型压缩技术的支持下,SqueezeNet可以压缩到<0.5MB。虽然理论上减少了50倍的参数,但是AlexNet本身全连接节点过于庞大,50倍参数的减少和SqueezeNet的设计并没有关系。0.5MB的模型要得益于模型压缩技术,不使用模型压缩技术的话从网络结构的角度来考虑优化幅度并没有那么大。
网络结构
SqueezeNet的模型压缩使用了3个策略:
- 将3*3卷积替换成1*1卷积
- 减少3*3卷积的通道数
- 将降采样后置:作者认为较大的Feature Map含有更多的信息,因此将降采样往分类层移动。虽然会提升网络的精度,但是会增加网络的计算量。
Fire 模块:SqueezeNet是由若干个Fire模块结合卷积网络中 卷积层,降采样层,全连接等层组成的。一个Fire模块由Squeeze部分和Expand部分组成。Squeeze部分是一组连续的1*1卷积组成,Expand部分则是由一组连续的1*1卷积和一组连续的3*3卷积连接组成,注意3*3卷积需要使用same卷积。在Fire模块中,Squeeze部分1*1卷积的通道数记做,Expand部分1*1卷积和3*3卷积的通道数分别记做和。在Fire模块中,作者建议,这么做相当于在两个3*3卷积的中间加入了瓶颈层,实验中的一个策略是
可视化后如下图所示
整体的网络结构如下,分别是SqueezeNet,SqueezeNet(shortcut),SqueezeNet(complex shortcut,使用1*1进行通道对齐)
参数表如下
核心观点
- 文章提出了SqueezeNet这一结构,将1*1卷积核的作用做了进一步扩展,提出使用1*1卷积核代替3*3卷积核进行参数压缩这一观点