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 卷积,然后拼接