前言
《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Application》
论文地址:https://arxiv.org/pdf/1704.04861.pdf
MobileNet v1是2017年四月google推出的,通过设计模型结构来减少模型的参数。整个模型的亮点:
- 提出了MobileNet架构,使用深度可分离卷积(depthwise separable convolutions)替代传统卷积。
- 在MobileNet网络中还引入了两个收缩超参数(shrinking hyperparameters):宽度乘子(width multiplier)和分辨率乘子(resolution multiplier)。
深度可分离卷积 Depthwise Separable Convolution
深度可分离卷积可以看我之前的文章: 传送门
(左:传统卷积 右:深度可分离卷积)
假设:
输入特征图 F:DF x DF x M (M特征图通道维度);
深度可分离卷积输出特征图 G :DF × DF × N;
DK是卷积核的大小。
参数量
普通卷积:DK ×DK ×M×N
深度可分离卷积:(深度卷积+逐点卷积) DF x DF x M+M x N
计算量
计算量=卷积核的高度 * 卷积核的宽度 * 卷积核的通道个数 * 卷积核个数 * 输入特征矩阵的高度 * 输入特征矩阵的宽度(前提是步距为1)
普通卷积:
深度卷积:
深度可分离卷积:
对于3x3的卷积来说,计算量减少了8-9倍:
网络结构
跟VGG的结构类似,不过卷积核采用的是深度可分离卷积:
下面是参数量的占比:
模型缩放
虽然MobileNet网络结构和延迟已经比较小了,但是很多时候在特定应用下还是需要更小更快的模型,为此引入了宽度因子 alpha(Width Mutiplier)在每一层对网络的输入输出通道数进行缩减,输入通道数由 M 到 alpha*M,输出通道数由 N 到 alpha*N。分辨率因子ρ(resolution multiplier ),用于控制输入和内部层表示,即用分辨率因子控制输入的分辨率。
下图是,当宽度因子分别取{1, 0.75, 0.5, 0.25},分辨率因子分别取{224, 192, 160, 128}时,模型对应准确率和参数量之间的关系:
模型性能
图像分类:
Face Attributes:
目标检测:
上一篇:轻量级网络之SqueezeNet
下一篇:轻量级网络之MobileNet v2