故名思意,为了容易满足手机和嵌入式应用的需求。有两个超参数可以调整网络,使得可以兼顾不同的情况,平衡速度和精确度的要求。在优化延迟的同时使得网络尽可能的小。
MobileNet Architecture
MobileNet模型基于depthwise separable convolutions(= depthwise Convolution + 1×1 convolution called a pointwise convolution)。标准卷积和depthwise separable convolutions如图2。
Depthwise convolution相对于标准卷积非常有效,但是并不能产生新的特征,所以要通过1 × 1 convolution来生成新的特征。
Network Structure and Training
基于Depthwise convolution建造的MobileNet网络如表1。
所有层后边加一个BN,然后再加ReLU,最后的全连接层不增加非线性,直接通过softmax,然后分类,如图3。
之前最后一个卷积完后,每个特征层大小不是1X1,所以需要faltten,但是这个网络到全连接层时已经是1X1。
参数和资源分布如表2。
Width Multiplier: Thinner Models
第一个超参数α。目的是一致的控制网络网络每一层的“胖瘦”,对于一个给定层和α,输入通道M则变为αM,输出通道N变为αN。α ∈ (0,1] 典型值为1, 0.75, 0.5 和0.25。
Resolution Multiplier: Reduced Representation
第二个超参数ρ。通过设置输入的分辨率来控制所有层的分辨率。ρ ∈ (0,1],设置完后网络分辨率种类为224, 192, 160 or 128。
通过这两个参数,可以极大的减少参数。
实验结论:
在只损失1%的accuracy的情况下,mult-adds and parameters大量减少;将MobileNets“变瘦”比将MobileNets“变短”性能更佳。
表6和表7表示两个超参数对网络性能的影响。
图4表示这两个超参数关于mult-adds之间的平衡。图中16个点为α ∈ {1,0.75,0.5,0.25} 和 resolutions {224,192,160,128}的组合。结果成对数线性。
图5为这两个参数关于parameters参数的平衡。16个点为α ∈{1,0.75,0.5,0.25} 和resolutions {224,192,160,128}的组合。
性能超越了GoogleNet,和VGG16差不多;