1 论文信息
题目:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
代码:TF源码,PyTorch复现
2 简介
MobileNet 是一种优秀的轻量级CNN,可作为backbone应用于多个子方向,部署于嵌入式或移动端平台。
其主要创新在于深度可分离卷积,引入宽度因子与分辨率因子。
3 创新点
3.1 深度可分离卷积
如下图所示,MobileNet 提出了深度可分离卷积代替传统的3D卷积,极大地降低了参数量,提高了网络的运行速度。
传统卷积的计算成本为:
D
K
⋅
D
K
⋅
M
⋅
N
⋅
D
F
⋅
D
F
D_{K} \cdot D_{K} \cdot M \cdot N \cdot D_{F} \cdot D_{F}
DK⋅DK⋅M⋅N⋅DF⋅DF
深度可分离卷积的计算成本为:
D
K
⋅
D
K
⋅
M
⋅
D
F
⋅
D
F
+
M
⋅
N
⋅
D
F
⋅
D
F
D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F}
DK⋅DK⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF
MobileNet 的卷积结构图如下图所示。
MobileNet 的网络结构图如下图所示,共有28层。
3.2 宽度因子
MobileNet 引入了宽度因子
α
\alpha
α,进一步瘦身CNN,加入宽度因子后的计算成本为:
D
K
⋅
D
K
⋅
α
M
⋅
D
F
⋅
D
F
+
α
M
⋅
α
N
⋅
D
F
⋅
D
F
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}
DK⋅DK⋅αM⋅DF⋅DF+αM⋅αN⋅DF⋅DF
其中,
α
\alpha
α可取1,0.75,0.5,0.25.
3.3 分辨率因子
MobileNet 引入了分辨率因子
ρ
\rho
ρ,降低了参数量,加入分辨率因子后的计算成本为:
D
K
⋅
D
K
⋅
α
M
⋅
ρ
D
F
⋅
ρ
D
F
+
α
M
⋅
α
N
⋅
ρ
D
F
⋅
ρ
D
F
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}
DK⋅DK⋅αM⋅ρDF⋅ρDF+αM⋅αN⋅ρDF⋅ρDF
分辨率可取224,192,160,128.