SqueezeNet学习与实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhongqianli/article/details/86644365

《SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and < 0.5MB model size》提出了
名为SqueezeNet的轻量级CNN,达到AlexNet级别的精度,参数仅为AlexNet的1/50。采用Deep Compression模型压缩技术,将SqueezeNet压缩为不到0.5MB的模型。

1 SqueezeNet

1.1 CNN架构设计策略

  • 用1x1conv替换3x3 conv。在减少参数数量的同时努力保留精度。
  • 减少输入到3x3 conv的输入通道数量。在减少参数数量的努力同时保留精度。
  • 在网络后面的地方下采样,可以让卷积层有大的激活map。作者认为大的激活map有更高的分类准确率。在参数数量约束下,最大化精度。

1.2 Fire module

由squeeze convolution layer (1x1 conv) 和 紧接其后的expand layer(由1x1conv和3x3conv按一定比例组成)按一定比例组成。
在这里插入图片描述

1.3 SqueezeNet架构

SqueezeNet以一个标准卷积层开始,随后接8个Fire module,以一个标准卷积层结束。作者从开始到结束逐渐增加滤波器的数量。SqueezeNet在conv1、fire4、fire8和conv10后面接stride为2的max-pooling。详情如下表所示:
在这里插入图片描述

1.4 实现

https://github.com/DeepScale/SqueezeNet

Q: 带有简单连接可以在不增加模型大小的情况下,提升若干百分点的精度,为什么github上的网络没有采用简单连接(残差连接)?计算量的原因?

2 其他相关

2.1 模型压缩

2.1.1 网络裁剪(Network Pruning)

先预先训练一个模型,然后将低于阈值的参数置为零,用于生成稀疏矩阵,最后在这个稀疏矩阵上进行一些迭代的训练。

2.1.2 深度压缩(Deep Compression)

将网络裁剪和量化(8位或更少)以及霍夫曼编码结合在一起,创造了一个叫做Deep Compression的方法

猜你喜欢

转载自blog.csdn.net/zhongqianli/article/details/86644365
今日推荐