论文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(CVPR 2017)
文章目录
-
- 针对问题
- Depthwise Sparable Convolutions
-
-
- 拆分标准卷积
- 为什么可以拆分
- 为什么拆分
- BN层
- 进一步减少计算
- 网络架构
-
- 相关实验
- 参考文献
针对问题
消费类产品很多是嵌入式的终端产品,嵌入式设备性能不强,即使考虑云计算,也需要消耗大量的带宽资源和计算资源,因此构建轻量级的深层神经网络具有较大的价值
Depthwise Sparable Convolutions
拆分标准卷积
标准卷积核:图(a) 表示 N N N 个通道为 M M M 的 D K × D K D_K\times D_K DK×DK 大小的标准卷积核
Depthwise Sparable Convolutions:将正常卷积替换为 (b) 操作和 (c) 操作 a ⟹ b → c a\Longrightarrow b\to c a⟹b→c :
- (b) 可理解为:将 M M M个通道的特征图拆开,每个通道的特征图分别进行通道数为 1 的 D K × D K D_K\times D_K DK×DK 标准卷积,然后合并通道
- (c) 表示标准的 1 × 1 1\times 1 1×1 卷积操作

为什么可以拆分
若特征图通道数为 M M M:
- 经过 N N N 个 3 × 3 3\times 3 3×3 的标准卷积,得到输出特征图谱通道数为 N N N大小为 D F × D F D_F\times D_F DF×DF
- 将标准卷积替换为 Depthwise Sparable Convolutions,也可以得到通道数为 N N N大小为 D F × D F D_F\times D_F DF×DF的输出特征图
由此可知:
- 标准卷积和Depthwise Sparable Convolutions在特征图平面和通道间均有操作,且两个维度上的操作均为简单的加或乘,最终得到的输出特征图谱大小和通道数均相同,理论上标准卷积可以得到的结果,Depthwise Sparable Convolutions也可得到(前提)
- Depthwise Sparable Convolutions虽然参数少,但是相当于加深了网络,其非线性表达能力并没有下降太多,且一般"瘦深"的网络比"胖浅"的网络更容易学习,非线性表达能力相对较强
为什么拆分
若输入特征图通道数为 M M M,输出特征图谱通道数为 N N N ,大小为 D F × D F D_F\times D_F DF×DF,卷积核大小为 D K × D K D_K\times D_K DK×DK,那么
- 标准卷积op数: D F × D F × D K × D K × M × N D_F\times D_F\times D_K\times D_K\times M\times N DF×DF×DK×DK×M×N
-
拆分卷积 op数: D F × D F × D K × D K × M ⏟ ( 2 ) + D F × D F × M × N ⏟ ( 3 ) \underbrace{D_F\times D_F\times D_K\times D_K\times M}_{(2)}+\underbrace{D_F\times D_F\times M\times N}_{(3)} (2)
DF×DF×DK×DK×M+(3)
DF×DF×M×N
标准卷积op数 拆分卷积op数 = D F × D F × D K × D K × M + D F × D F × M × N D F × D F × D K × D K × M × N = 1 N + 1 D K 2 \frac{\text{标准卷积op数}}{\text{拆分卷积op数}}=\frac{D_F\times D_F\times D_K\times D_K\times M + D_F\times D_F\times M\times N}{D_F\times D_F\times D_K\times D_K\times M\times N}=\frac1N+\frac{1}{D_K^2} 拆分卷积op数标准卷积op数=DF×DF×DK×DK×M×NDF×DF×DK×DK×M+DF×DF×M×N=N1+DK21
一般 N N N相对于 D K D_K DK较大,如果卷积核大小为 D K = 3 D_K=3 DK=3,则计算量约等于原来的 1 9 \frac19 91,可以节省大量的空间和时间
BN层
Depthwise Sparable Convolutions 使用 BN:
进一步减少计算
按比例减少通道数,降低分辨率
网络架构
相关实验
参考文献
【1】网络解析(二):MobileNets详解
【2】MobileNets—深度学习模型的加速