--------随着卷积神经网络的发展,在许多视觉研究方向有了很大的突破。但是网络规模过大使得无法在实际中对其进行应用,这让卷积神经网络停留在实验室的研究中并不是人们想看到的。于是作者提出了一个方法,用来构建一个轻量级的卷积神经网络,可以应用到移动端中或者是嵌入式设备当中。

MobileNet

论文地址:MobileNet论文地址

整个网络结构的变化:

①将一般的卷积层(standard convolution)替换成depthwise separate convolution(深度可分离卷积由depthwise convolution+pointwise convoltuion组成),这大大减少了参数量,相应的计算量也大大减少了。depthwise separate convolutino在inceptionv3中进行了大量的应用。

②增加了两个超参数:width multiplier(α),resolution multiplier(β)。这两个参数都是标量,第一个用于控制每层滤波器(filter)的个数,减少了参数量与计算量,取值为(0,1];第二个参数用于控制输入图像的size(分辨率),减小了计算量。

应用上面两个超参数使得计算量减少了将近α²倍与β²倍,进一步减小了计算量,并且只有少量的准确度的下降。由下面图表看出计算量与参数量都大量减少,但是准确率只是小幅降低,在可接受的范围内。

卷积神经网络提出论文 卷积神经网络论文设计_卷积

网络整体结构

卷积神经网络提出论文 卷积神经网络论文设计_深度学习_02


除了第一层使用了一般的卷积层,后面的卷积操作都有depthwise separate convolution堆叠构成的。

关于计算量的计算

这里可以用简单的例子去理解并验算就行了。

卷积神经网络提出论文 卷积神经网络论文设计_深度学习_03


一般的卷积:下面式子中的Dk表示卷积核(filter)大小,M表示输入数据的channel,N表述输出的channel,Df表示输出的长与宽。前三个数值相乘很好理解,即做一次卷积运算所需要的计算量,后面三个数相乘表示做了多少次卷积,两部分相乘就得到了最终的计算量。

卷积神经网络提出论文 卷积神经网络论文设计_卷积神经网络提出论文_04

Depthwise Separate Convolution计算量

depthwise convolution:只用一个卷积核做卷积

卷积神经网络提出论文 卷积神经网络论文设计_神经网络_05


pointwise convolution:N个通道数为M的1×1卷积

卷积神经网络提出论文 卷积神经网络论文设计_卷积神经网络_06


总计算量

卷积神经网络提出论文 卷积神经网络论文设计_神经网络_07


一般卷积计算量与depthwise separate convolution计算量的比值为:

卷积神经网络提出论文 卷积神经网络论文设计_卷积神经网络提出论文_08


本篇论文主要就是讲解了如何在满足准确率的前提下构造一个轻量级的神经网络,最终也确实获得了不错的效果。

其中还有很多关于构建轻量级神经网络的方法与技巧,比如知识蒸馏与剪枝等。