论文简介
- 地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications。
- Mobilenet基于流线型架构,使用
depthwise separable convolutions
来构建轻量级的DNN。 - 引入2个超参数,用于调节实时性与准确性。
- mobilenet在物体检测、细粒度的分类、人脸属性、大规模地理定位等任务中都得到广泛应用。
introduction
- 构建小网络的主要方法就是压缩预训练网络或者直接训练小网络。、
- 本文中提出了一种方法,可以根据资源限制或者实际使用情况去调节网络。
method
depthwise和pointwise convolution
- 之前的卷积都是使用NXNXC的kernel,对之前的feature map进行通道融合与卷积,论文中将他拆分为2个子过程:NXNX1的kernel做depthwise convolution和1X1XC的pointwise convolution操作。
NXNX1
的kernel做滤波,1X1XC
的kernel做特征融合。将传统的卷积操作拆分成这2个步骤,计算量只是之前的$\frac{1}{N}+\frac{1}{D_k^2}$倍,大大减小。其中$N$是输入的feature map的层数,$D_k$是卷积filter的边长。
模型结构和训练过程
- 结构见论文,需要注意的是,第一层是标准的卷积层,除了第一层和最后一层的FC层,其他每个layer后面都加了BN和RELU,最后使用平均池化和FC处理后,经过softmax,得到最终的输出。
- Mobilenet使用异步梯度下降和
RMSProp
进行训练。
Width Multiplier:Thinner Models
- 前面提到的基本的mobilenet,为了使得网络大小可以调整,论文引入了超参数$\alpha$,可以调整feature layer中channel的个数,假设之前是M,则调整后为$\alpha M$,因此模型参数可以在之前的基础上,再次缩小$\alpha^2$倍。
Resolution Multiplier: Reduced Representation
- 引入超参数$\rho$,控制输入
feature layer
的分辨率,假设之前变长是$D_F$,则调整后为$\rho D_F$,因此网络参数又可以缩减$\rho ^2$倍。
实验
- 作者对depthwise convolution与网络宽度的影响做了实验研究。实验结果证明,减小网络宽度比减小网络深度导致的结果的性能要更好一些。
- 模型准确度在$\alpha>0.25$之前下降的都是比较缓和的。
- 作者在细粒度的识别、大规模地理定位、面部属性以及物体检测等方面给予SSD都做了实验,结果证明mobilenet不会大幅下降特定任务的准确度。