深度神经网络模型压缩方法总结

新的卷积计算方法

这种是直接提出新的卷积计算方式,从而减少参数,达到压缩模型的效果,例如SqueezedNet,mobileNet

1. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size

代码地址https://github.com/DeepScale/SqueezeNet
下图是论文中的Fire Module,将上一层的输出分别输入到1*1的卷积核3*3的卷积层中。
这里写图片描述
使用以下三个策略来减少SqueezeNet参数 :
(1)使用1∗1卷积代替3∗3 卷积:卷积模板的选择,从12年的AlexNet模型一路发展到2015年底Deep Residual Learning模型,基本上卷积大小都选择在3x3了,因为其有效性,以及设计简洁性。本文替换3x3的卷积kernel为1x1的卷积kernel可以让参数缩小9X。但是为了不影响识别精度,并不是全部替换,而是一部分用3x3,一部分用1x1。
(2)减少输入3x3卷积的input feature map数量 :这一部分使用squeeze layers来实现 。参数量=通道数*filter数*卷积窗口,因此减少feature map的输入数量就可以一定程度上的减少参数量。
(3)将欠采样操作延后,可以给卷积层提供更大的激活图:更大的激活图保留了更多的信息,可以提供更高的分类准确率 。在具体实现时,只在卷积第1、4、8层做了max pooling,在conv10做了全局平均pooling
其中,(1)和(2)可以显著减少参数数量,(3)可以在参数数量受限的情况下提高准确率。
另外论文中还使用了global average pooling代替全连接层的策略来进一步减少参数量(关于GAP要复习一下NIN)。

可以看出,Squeeze层由于使用1∗1卷积极大地压缩了参数数量,并且进行了降维操作,但是对应的代价是输出特征图的通道数(维数)也大大减少。之后的expand层使用不同尺寸的卷积模板来提取特征,同时将两个输出连接到一起,又将维度升高。但是3∗3的卷积模板参数较多,远超1∗1卷积的参数,

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值