(重在实验总结发现思考)
轻量化网络经典三个:
Squeezenet 压缩扩张 Fire Module
MobileNet Depthwise 深度可分离卷积
ShuffleNet 通道清洗
今天读Squeezenet
Squeeze Net: Alexnet-level accuracy with 50X fewer parameters and <0.5MB model size , Forrest N.Iandoal, Song Han,2017年
创新
Squeezenet 是一个精心设计的轻量化网络,使用常见的压缩技术:SVD、Pruning和量化8-bit quantization,进一步压缩模型而不损失精度。其广泛用于移动端物体检测。
(一开始就用小模型训练 比 大模型剪枝pruning成小模型要 效率高的多)
1 小模型的好处
- 1 更高效地分布训练
- 2 云端更新模型参数更快速
- 3 小的存储和内存使用量 易应用于FPGA 现场可编程门阵列
2 神经网络设计空间探索
- 1 微观探索:每个层的维度和配置
cnn结构对模型大小和精度的影响
同等参数量 : 深且窄模型 好于 宽且浅模型 - 2 宏观探索:端到端组织模块或其他层
3 SqueezeNet高精度少参数策略
3.1 创新策略
- 1 降低参数:用11卷积核代替33 (9x降低)
- 2 降低参数:减少输入通道数量 use Squeeze layer (1*1卷积)
- 参数计算 input chanels * ker-sizes 平方 * filters nums
- 3 下采用后置:使得特征图大且丰富
- 使用多个尺寸的卷积核计算,保留更多的信息,提升分类精度
3.2 Fire Module
每个Fire module有三个超参数
1 输入通道(96)用fire的M(M<96) 个 11卷积降低维度
2 Expand 并行使用11和3*3卷积获得不同感受野的特征图(类似inception—)
3 Concat:对特征图拼接
3.3Sqeeze net (输入224*224)
左边没有用bypass,中间bypass,右边是复杂的bypass
这个模块已经被以下框提供函数
4评估
这里说明一点:Squeezenet是小模型但是还可以量化压缩但精度几乎没有影响