深度可分离网络应用之一——MobileNet V1
深度可分离网络应用之一——MobileNetV1
原文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
贡献:提出了深度可分离卷积的概念,引入了两个超参来进一步缩小网络训练参数。
论文大体思路就是:深度卷积+点卷积 = 深度可分离卷积 ≈ 正常卷积。
下面阐述过程为:深度可分离卷积是什么,和正常卷积相比改进在哪里有什么优点,两个超参设置的作用,以及整个网络的模型和效果。
深度可分离卷积
这是传统卷积的计算过程,该图取自简书中的文章“卷积网络CNN中各种常见卷积过程“,可以可以得出整个卷积的计算代价是:
其中Dk是卷积核大小、M是输入通道数,N是输出通道数,Df是输入图片大小。
下面这个图是与传统卷积等效的深度卷积与点卷积的过程:
可以看出计算代价为:
其中Dk是深度卷积核大小、M是输入通道数,N是输出通道数,Df是输入图片大小。可以看出,该模型把大部分的计算代价都加在后面的1*1点卷积上,从而降低计算量。所以该文章找到了一个训练参数更少,计算代价更小的模型去近似传统卷积。
正常卷积相比的改进
虽然降低了计算量,但是模型识别精度也受到了一点影响。
但是相比于大幅度降低的计算量来讲,降低的1%精度,可以不做考虑。
设置两个超参、
Width Multiplier : Thinner Models
The role of the width multiplier is to thin a network uniformly at each layer(目的:均匀薄化网络)。
For a given layerand width multiplier , the number of input channels M becomes M and the number of output channels N becomes N。 其中 ,通常设置为:1, 0.75, 0.5 and 0.25。
所以带有的深度可分离网络的计算代价为:
个人理解:相当于根据不同的实际应用场景和项目要求,在模型效果和模型精度之间做权衡。
Resolution Multiplier : Reduced Representation
In practice we implicitly set by setting the input resolution.(作用在输入图像上,相当与控制传入模型的图像分辨率),其中,通常要保证网络输入图片分辨率为 224, 192, 160 or 128。所以带有、的深度可分离网络计算代价为:
上表显示了一个层的不同情况下计算和参数的数量。
整个V1网络的模型和效果
上图是整个模型的结构,可以看出整个网络都是深度网络+点卷积组成的,其中下采样层几乎都换成了stride,最后用softmax进行多分类。
上图0.75MobileNet是超参数 设置为0.75之后的模型,Shallow MobileNet 是将网络中输入为14$ * * $512的5层去掉之后的模型,比较的意义在于:体现网络变瘦比网络变短在参数量相似的前提下精度更有优势。
上图表示在统一输入图片尺寸(224)前提下,不同 的值对模型精度和计算量的影响。
上图表示在统一 的前提下,不同输入图片分辨率对模型精度和计算量的影响。