MobileNets系列可以看做是继Xception之后对Depthwise Separable Convolution的又一推动。利用深度可分离的特征,MobileNets系列引入两个模型精度和大小的超参,在保持相当精度的同时享有非常小的计算消耗,适用于移动端情形,因而被命名为”MobileNets”。
Depthwise Separable Convolution
深度可分离卷积是近期深度网络设计的重要趋势。最早见于L. Sifre的PhD论文Rigid-motion scattering for image classification,其1×1卷积在Inception, ResNet, SqueezeNet等网络中作为降维bottleneck使用。Xception指出,Inception单元本质上假设了跨通道和跨空间相关性的解耦关系,并将这一解耦关系推向极端,用Depthwise Separable Convolution改造了Inception结构。
深度可分离卷积受欢迎的另一重要原因是其参数高效性。将原有卷积换成深度可分离卷积后,可以享受到模型压缩的增益。
标准的卷积操作,可以认为是大小为DK的窗口在DF大小的特征图上滑动计算,计算复杂性为:
DK×DK × M×N × DF×DF
其中,M和N分别代表输入channel数和输出channel数。
替换为深度可分离卷积后,先进行Depthwise Convolution,再进行1×1 Pointwise Convolution,计算复杂性为:
DK×DK × M × DF×DF + M×N × DF×DF
相比下,深度可分离卷积的计算复杂性约为原来的(1/N+1/DK^2)。
进一步地,MobileNet添加两个超参来控制这一压缩程度,alpha为channel数压缩系数,rho为分辨率压缩系数:
DK×DK × alpha×M × rho×DF× rho×DF + alpha×M × alpha×N × rho×DF × rho×DF
Architecture
MobileNet的基本结构如下: