SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and 0.5MB model size
对AlexNet网络轻量化设计,主要有3个原则:1)使用1x1卷积替代3x3卷积;2)3x3卷积前先通过1x1卷积降低通道数;3)延迟下采样
什么是SqueezeNet?
- SqueezeNet是一个轻量化的分类模型,可以在保证模型精度不降低的前提下,参数量相比 AlexNet少了50倍,运行速度更快
- SqueezeNet基于3个原则设计轻量化网络:1)大量使用1x1卷积核替换 3x3卷积核;2)减少3x3卷积核的输入通道数;3)延迟下采样
SqueezeNet的设计策略?
- 1)大量使用1x1卷积核替换 3x3卷积核: 从 AlexNet 到 ResNet均使用3x3的卷积,此处部分3x3采用1x1替代,参数可以降低9倍
- 2)减少3x3卷积核的输入通道数: 减少卷积核的参数
- 3)延迟下采样: 使得卷积层具有更大的激活图
SqueezeNet的网络结构?
- 上图是 SqueezeNet 的3个版本,原始版本、跳跃连接和瓶颈模块。每个版本一共包含了8Fire moudle,其中在第3和第5个 fire module 使用了3x3的最大池化,对应池化层的 stride 都为2 x2
- 延迟池化的策略,可以保留较大的Feature Map,提升网络的精度
SqueezeNet的Fire module?
- squeeze:采用 1 x1 卷积核对上一层 feature map 进行卷积,其主要目的是降低 feature map 的通道数
- expand:使用 Inception block结构,包括1x1 和3x3卷积,然后拼接