网络压缩系列
1.mobileNet:
旨在压缩模型,平衡速度和性能,达到在嵌入式设备中的一个较好的应用。
重点在于一个深度可分离网络,将传统的m*n*w*h的卷积核变为一个DepthWise layer和一个PointWise layer。这种分离从直观上,减少了参数的数量和计算的数量,本质上还可以分离空间信息和深度信息,减少两者的耦合。
同时,还提出来了两个参数,一个宽度乘数,一个分辨率乘数,都是作为减少计算量和参数量的一个手段。
重点理解下面这个图和计算。
论文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications。
2.shuffleNet
主要采用逐点组卷积操作和通道混洗,提出来shuffle unit
- 通道混洗操作,参开以下链接中的图片。以AlexNet的group-conv为灵感。
https://blog.csdn.net/u011974639/article/details/79200559
通道混洗的目的在于帮助信息在通道之间的流通,利用逐点卷积能够降低复杂度。
3.mobileNetV2
两点创新:
- Linear bottleneck :最后一个pw之后不接relu,保证模型表达能力,具体证明论文之后有。
- Inverted residual:先扩通道,dw提取特征,pw再压缩。 扩张因子t。
- 加入shortcut。
Inverted residual解释图:
https://yinguobing.com/bottlenecks-block-in-mobilenetv2/.
4.mobilefacenet
在mobilenet基础上改进的,将平均池化层改成可分离卷积。
在模型和训练上一些小细节的改变。
5.resNext
提出的问题,类似于inception的结构加深了网络深度,效果确实好,但是对于不同的数据集的超参数过多导致了难以迁移调试。所以提出的利用相同拓扑结构的模块堆叠来替换inception的模块,同时加入残差连接,再保证准确率的同时保证了计算量。文章的重要观点是这种“基数”比深度和网络宽度更加有效,超参数少。
6.Xception
是inception的极端情况,用的可分离卷积,但是和mobileNet的区别在于,它的目的在于提升性能,不在于压缩。加入了shortcut。