SqueezeNet-轻量级神经网络

SqueezeNet是一种超轻量级的网络,它的分类精度接近AlexNet,但是模型却比其小50倍。

SqueezeNet的基础模块叫fire,如下图
在这里插入图片描述
squeeze和expand分别压缩和扩展数据的通道数,我的理解是可能相当于形态学的腐蚀和膨胀。

可以看出此网络也是通过1*1卷积层进行降维从而减少参数

网络分为10层:
在这里插入图片描述
第1层卷积,第2-9层为fire层,在1、4、8之后又max pooling,第10层又是卷积,最后平均池化加softmax获取得分。

全卷积,无全连接层
最后一层提供了全图求平均操作,可以接受任意尺寸的输入

参数压缩
使用了Deep Compression的参数压缩办法,有裁剪,量化,编码三个手段。
裁剪

把网络中所有绝对值小于门限的参数置0;非零参数再次训练进行优化。
在这里插入图片描述
记录非零参数值和其在数组中的下标,把下标表示成差分形式。

用数组存储稀疏矩阵,占用空间更小。进行梯度计算的时候只需要查询数组中的元素就行了。
量化

用K均值把所有参数聚成2n个类
保持同一聚类内参数相等,对网络进行调优。在梯度下降时,归于同一类的节点的梯度相加,施加到该类的聚类中心上
使用n比特编码的聚类中心替代原有参数
在这里插入图片描述

原矩阵被替换成了下标矩阵,存储各个数据的类下标,另外划出一个数组存储其均值,这样减少了浮点数。

编码
使用Huffman编码存储编码为n位的非零数据取值和编码为4位的非零元素下标

参数规划

  • 参数组合过多,使用超参数:
  • 首个fire模块中包含base个3×3核;
  • 每隔freq个fire模块,3×3模块增加incre个。
  • expand部分中,3×3核占expand中核总数比例为pct。
  • squeeze中核数与expand中核数比例为sr。

前后参数之间设定关系来减少调参。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值