学习视频:四分钟精通 SqueezeNet(思想,公式,代码)--计算机视觉系列 05【推荐】_哔哩哔哩_bilibili
从LeNet5到DenseNet,反应卷积网络的一个发展方向:提高精度。这里我们开始另外一个方向的介绍:在不大幅降低模型精度的前提下,最大程度的提高运算速度。
提高运算所读有两个可以调整的方向:
- 减少可学习参数的数量;
- 减少整个网络的计算量。
这个方向带来的效果是非常明显的:
- 减少模型训练和测试时候的计算量,单个step的速度更快;
- 减小模型文件的大小,更利于模型的保存和传输;
- 可学习参数更少,网络占用的显存更小。
SqueezeNet正是诞生在这个环境下的一个精度的网络,它能够在ImageNet数据集上达到AlexNet[2]近似的效果,但是参数比AlexNet少50倍,结合他们的模型压缩技术 Deep Compression[3],模型文件可比AlexNet小510倍。
1. SqueezeNet 详解
1.1 SqueezeNet的压缩策略
SqueezeNet的模型压缩使用了3个策略:
- 将 3×3 卷积替换成 1×1 卷积:通过这一步,一个卷积操作的参数数量减少了9倍;
- 减少 3×3 卷积的通道数:一个 3×3 卷积的计算量是 3×3×M×N (其中 M , N 分别是输入Feature Map和输出Feature Map的通道数),作者任务这样一个计算量过于庞大,因此希望将 M , N 减小以减少参数数量;
- 将降采