深度可分离网络应用之一——MobileNet V1

原文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
贡献:提出了深度可分离卷积的概念,引入了两个超参来进一步缩小网络训练参数。
论文大体思路就是:深度卷积+点卷积 = 深度可分离卷积 ≈ 正常卷积。
下面阐述过程为:深度可分离卷积是什么,和正常卷积相比改进在哪里有什么优点,两个超参设置的作用,以及整个网络的模型和效果。

深度可分离卷积

深度可分离网络应用之一——MobileNet V1
这是传统卷积的计算过程,该图取自简书中的文章“卷积网络CNN中各种常见卷积过程“,可以可以得出整个卷积的计算代价是:
深度可分离网络应用之一——MobileNet V1
其中Dk是卷积核大小、M是输入通道数,N是输出通道数,Df是输入图片大小。
下面这个图是与传统卷积等效的深度卷积与点卷积的过程:
深度可分离网络应用之一——MobileNet V1
可以看出计算代价为:
深度可分离网络应用之一——MobileNet V1
其中Dk是深度卷积核大小、M是输入通道数,N是输出通道数,Df是输入图片大小。可以看出,该模型把大部分的计算代价都加在后面的1*1点卷积上,从而降低计算量。所以该文章找到了一个训练参数更少,计算代价更小的模型去近似传统卷积。

正常卷积相比的改进

深度可分离网络应用之一——MobileNet V1
深度可分离网络应用之一——MobileNet V1
虽然降低了计算量,但是模型识别精度也受到了一点影响。
深度可分离网络应用之一——MobileNet V1
但是相比于大幅度降低的计算量来讲,降低的1%精度,可以不做考虑。

设置两个超参α\alphaρ\rho

Width Multiplier α\alpha : Thinner Models

The role of the width multiplier α\alpha is to thin a network uniformly at each layer(目的:均匀薄化网络)。
For a given layerand width multiplier α\alpha, the number of input channels M becomes α\alphaM and the number of output channels N becomes α\alphaN。 其中α(0,1]\alpha \in(0,1] ,通常设置为:1, 0.75, 0.5 and 0.25。
所以带有α\alpha的深度可分离网络的计算代价为:
深度可分离网络应用之一——MobileNet V1
个人理解:α\alpha相当于根据不同的实际应用场景和项目要求,在模型效果和模型精度之间做权衡。

Resolution Multiplier ρ\rho : Reduced Representation

In practice we implicitly set ρ\rho by setting the input resolution.(作用在输入图像上,相当与控制传入模型的图像分辨率),其中ρ(0,1]\rho \in(0,1],通常要保证网络输入图片分辨率为 224, 192, 160 or 128。所以带有α\alphaρ\rho的深度可分离网络计算代价为:
深度可分离网络应用之一——MobileNet V1
深度可分离网络应用之一——MobileNet V1
上表显示了一个层的不同情况下计算和参数的数量。

整个V1网络的模型和效果

深度可分离网络应用之一——MobileNet V1
上图是整个模型的结构,可以看出整个网络都是深度网络+点卷积组成的,其中下采样层几乎都换成了stride,最后用softmax进行多分类。
深度可分离网络应用之一——MobileNet V1
上图0.75MobileNet是超参数 α\alpha 设置为0.75之后的模型,Shallow MobileNet 是将网络中输入为14$ * 1414 * $512的5层去掉之后的模型,比较的意义在于:体现网络变瘦比网络变短在参数量相似的前提下精度更有优势。

深度可分离网络应用之一——MobileNet V1
上图表示在统一输入图片尺寸(224)前提下,不同 α\alpha 的值对模型精度和计算量的影响。
深度可分离网络应用之一——MobileNet V1
上图表示在统一 α\alpha 的前提下,不同输入图片分辨率对模型精度和计算量的影响。