简介
本文将介绍轻量级网络, M o b i l e N e t s {\rm MobileNets} MobileNets。其专为移动端和嵌入式端设计,主要特点是模型轻量、精度较高。最后,为了证明其有效性,作者将 M o b i l e N e t s {\rm MobileNets} MobileNets应用于各种视觉模型中,均取得了优异的结果。论文原文
0. Abstract
在 M o b i l e N e t s {\rm MobileNets} MobileNets中,论文提出一种基于深度可分离卷积的流线型结构,旨在设计一种用于嵌入式和移动端的网络。同时,使用两个全局超参数可以平衡网络的精度和速度,以满足不同实际环境下的需求。
论文贡献:(一)基于深度可分离卷积提出轻量级模型 M o b i l e N e t {\rm MobileNet} MobileNet;(二)引入宽度缩放系数和分辨率缩放系数以进一步缩小网络;(三) M o b i l e N e t {\rm MobileNet} MobileNet在各类视觉任务上表现优异。
1. Introduction
论文提出一种轻量级网络结构,以满足移动端和嵌入式端等的需求。
2. Prior Work
M o b i l e N e t s {\rm MobileNets} MobileNets基于深度可分离卷积,随后也被用于 I n c e p t i o n {\rm Inception} Inception;扁平化网络将三维卷积分解成多个一维卷积以减少参数量;分解网络引入分解卷积和拓扑连接; X c e p t i o n {\rm Xception} Xception提出扩展深度可分离卷积,得到优于 I n c e p t i o n V 3 {\rm InceptionV3} InceptionV3的结果; S q u e e z e N e t {\rm SqueezeNet} SqueezeNet通过模块的方式设计一个小型网络。
获得小型网络的另一方法是缩小、分解或压缩预训练网络。基于乘积量化、哈希、剪枝、向量量化和哈夫曼编码的压缩方法;基于分解的方法;基于蒸馏。
3. MobileNet Architecture
3.1 Depthwise Separable Convolution
M
o
b
i
l
e
N
e
t
{\rm MobileNet}
MobileNet基于深度可分离卷积而设计,其主要思路是将标准卷积分解成一个深度卷积和一个点卷积。在
M
o
b
i
l
e
N
e
t
s
{\rm MobileNets}
MobileNets中,深度卷积通过对输入特征图的每个通道执行单个卷积操作得到,点卷积将深度卷积的结果整合。
设标准卷积的输入特征图 F \bold F F的大小为 D F × D F × M D_F\times D_F\times M DF×DF×M,经由卷积得到的输出特征图 G \bold G G的大小为 D F × D F × N D_F\times D_F\times N DF×DF×N。则基于卷积核 K \bold K K的标准卷积的参数量是 D K × D K × M × N D_K\times D_K\times M\times N DK×DK×M×N。标准卷积的输出特征图计算: G k , l , n = ∑ i , j , m K i , j , m , n ⋅ F k + i − 1 , l + j − 1 , m (1) \bold G_{k,l,n}=\sum_{i,j,m}\bold K_{i,j,m,n}\cdot\bold F_{k+i-1,l+j-1,m}\tag{1} Gk,l,n=i,j,m∑Ki,j,m,n⋅Fk+i−1,l+j−1,m(1)
这里, ( i , j ) (i,j) (i,j)表示遍历输入特征图, m m m表示输入特征图的通道数, n n n表示输出特征图的通道数, ( k , l ) (k,l) (k,l)表示遍历输出特征图。
标准卷积的计算量: D K ⋅ D K ⋅ M ⋅ N ⋅ D F ⋅ D F (2) D_K\cdot D_K\cdot M\cdot N\cdot D_F\cdot D_F\tag{2} DK⋅DK⋅M⋅N⋅DF⋅DF(2)
深度可分离卷积由两部分组成,首先是深度卷积:
深度卷积中,输入特征图的每个通道执行单个卷积操作: G ^ k , l , m = ∑ i , j , m K ^ i , j , m ⋅ F k + i − 1 , l + j − 1 , m (3) \hat\bold G_{k,l,m}=\sum_{i,j,m}\hat\bold K_{i,j,m}\cdot\bold F_{k+i-1,l+j-1,m}\tag{3} G^k,l,m=i,j,m∑K^i,j,m⋅Fk+i−1,l+j−1,m(3)
其中, K ^ {\hat \bold K} K^表示深度卷积核,大小为 D K × D K × M D_K\times D_K\times M DK×DK×M,第 m m m个卷积核作用于输入特征图的第 m m m个通道得到输出特征图的第 m m m个通道。深度卷积的计算量为: D K ⋅ D K ⋅ M ⋅ D F ⋅ D F (4) D_K\cdot D_K\cdot M\cdot D_F\cdot D_F\tag{4} DK⋅DK⋅M⋅DF⋅DF(4)
深度卷积的输出特征图大小为 D F × D F × M D_F\times D_F\times M DF×DF×M。
点卷积的功能是将深度卷积的结果特征组合,首先将
D
F
×
D
F
×
M
D_F\times D_F\times M
DF×DF×M的特征图拆分成
M
M
M个
1
×
1
1\times1
1×1的特征图:
然后使用 N N N个大小为 1 × 1 × M 1\times1\times M 1×1×M的卷积核作用于 M M M个输入特征图,得到的输出特征图大小为 D F × D F × N D_F\times D_F\times N DF×DF×N,与标准卷积的输出相同。点卷积的计算量为: M ⋅ N ⋅ D F ⋅ D F (5) M\cdot N\cdot D_F\cdot D_F\tag{5} M⋅N⋅DF⋅DF(5)
因此,深度可分离卷积的总计算量为: D K ⋅ D K ⋅ M ⋅ D F ⋅ D F + M ⋅ N ⋅ D F ⋅ D F (6) D_K\cdot D_K\cdot M\cdot D_F\cdot D_F+M\cdot N\cdot D_F\cdot D_F\tag{6} DK⋅DK⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF(6)
与标准卷积的计算量相对比:
D
K
⋅
D
K
⋅
M
⋅
D
F
⋅
D
F
+
M
⋅
N
⋅
D
F
⋅
D
F
D
K
⋅
D
K
⋅
M
⋅
N
⋅
D
F
⋅
D
F
=
1
N
+
1
D
K
2
(7)
\frac{D_K\cdot D_K\cdot M\cdot D_F\cdot D_F+M\cdot N\cdot D_F\cdot D_F}{D_K\cdot D_K\cdot M\cdot N\cdot D_F\cdot D_F}=\frac{1}{N}+\frac{1}{D_K^2}\tag{7}
DK⋅DK⋅M⋅N⋅DF⋅DFDK⋅DK⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF=N1+DK21(7)
3.2 Network Structure and Training
由上图,除第一层用的普通卷积外,其他所有卷积层均使用深度可分离卷积(Conv dw / s2 + Conv / s1
)。最后接一个全局平均池化层,全连接层以及用于分类的
S
o
f
t
M
a
x
{\rm SoftMax}
SoftMax层。
3.3 Width Multiplier: Thinner Models
为了进一步缩小 M o b i l e N e t {\rm MobileNet} MobileNet,论文引入一个宽度缩放系数 α \alpha α。给定层和宽度缩放系数 α \alpha α,输入通道数由 M M M变为 α M \alpha M αM、输出通道数由 N N N变为 α N \alpha N αN。则计算量变为: D K ⋅ D K ⋅ α M ⋅ D F ⋅ D F + α M ⋅ α N ⋅ D F ⋅ D F (7) D_K\cdot D_K\cdot \alpha M\cdot D_F\cdot D_F+\alpha M\cdot \alpha N\cdot D_F\cdot D_F\tag{7} DK⋅DK⋅αM⋅DF⋅DF+αM⋅αN⋅DF⋅DF(7)
3.4 Resolution Multiplier: Reduced Representation
此外,论文还引入第二个分辨率缩放系数 ρ \rho ρ,将其作用于输入图像。则此时的计算量变为: D K ⋅ D K ⋅ α M ⋅ ρ D F ⋅ ρ D F + α M ⋅ α N ⋅ ρ D F ⋅ ρ D F (8) D_K\cdot D_K\cdot \alpha M\cdot \rho D_F\cdot \rho D_F+\alpha M\cdot \alpha N\cdot \rho D_F\cdot \rho D_F\tag{8} DK⋅DK⋅αM⋅ρDF⋅ρDF+αM⋅αN⋅ρDF⋅ρDF(8)
4. Experiments
5. Conclusion
基于深度可分离卷积,作者设计了轻量级网络结构 M o b i l e N e t {\rm MobileNet} MobileNet。同时,为了进一步缩小网络,提出宽度缩放系数以及分辨率缩放系数,以满足不同实际场景下的需求。在实验部分,作者将 M o b i l e N e t {\rm MobileNet} MobileNet应用于各视觉任务上,均取得优异的结果。
参考
- Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.