【MobileNetV2】论文解读

Abstract

本文提出的MobileNetV2得performance相比第一版有了一些提升。以它为基础,作者设计了一个新的object detection架构SSDLite;另外作者还将其应用于语义分割上,搭建了一个简化版的DeepLabV3,起名为Mobile DeepLabv3。

中间那段没

最后,作者认为他们的方法实现了decoupling of the input/output domains from the expressiveness of the transformation(这里不太明白)。作者分别在ImageNet进行了分类实验、coco上进行了检测实验、VOC上进行了分割实验。

1、Introduction

本文主要的贡献是一个新的layer module:the inverted residual with linear bottleneck。

2、Related Work

老一套balabala介绍了卷积神经网络的发展历史。在本文中,作者进一步探索追求对卷积神经网络工作原理的更好的理解,以指导网络结构的设计工作。MobileNetV2的设计以V1为基础,保持了简单的特点。

3、Preliminaries, discussion and intuition

论文的两大主要创新点是Linear BottlenecksInverted residuals,这两个都是为了解决V1中出现的问题。作者发现MobileNetV1使用了Depthwise Convolution的确降低了计算量,但是Depthwise部分的kernel容易在训练后输出负值,再经过relu后输出变为0,直接就废掉了。之后提出的结构也都是围绕着解决这个问题,详细解释参考后面的分析。

3.1 Depthwise Separable Convolutions

Depthwise Separable Convolution是一种有效的网络结构。它将传统的3*3卷积层分为了两个部分:depthwise convolution和pointwise convolution。depthwise convolution的作用是轻量级的卷积操作,不同于传统的卷积同时卷积输入特征的每个channel,kernal的channel等于特征的channel,kernal的数量决定输出的特征的channel数量,这种卷积对输入的每个特征层使用单独的卷积,kernal的channel=1,输出特征的数量由下一个部分决定;pointwise convolution的作用是将之前卷积后的特征线性组合,并确定输出特征的channel。往往标准Depthwise Separable Convolutions的计算量是普通卷积的1/9。这部分可以参考我之前的博文:【MobileNets】论文解读

3.2 Linear Bottlenecks

如果一个卷积神经网络有n层,每一层特征尺寸为:h*w*d,每一层卷积之后都有relu这样的激活函数。特征经过激活函数后尺寸没有改变,但是经验告诉我们完全可以把它压缩到低维子空间,得到的激活后的特征命名为“manifold of interest”。 

作者说了很多经验性的概念,总结一下:

  • 如果manifold of interest经过Relu后均为非零,意味着只经过了一个线性变换;
  • 除非input manifold位于输入空间的低维子空间,经过Relu后才能保持完整的信息。(V1效果不好因为输入relu的数据是我们卷积后提取的特征,但是如果不做特殊处理直接使用relu的话势必会造成这些特征的信息损失。那么如果处理呢,作者认为如果把数据channel增加后再使用dw卷积,可以得到更多的特征,然后再使用relu后可以避免信息的损失,因为数据扩展可以保证一些channel中损失的信息可以在另一些channel中补充上

3.3 Inverted residuals

按照这两个思路的指导,作者设计出了Inverted residuals结构。与之前resnet中的residual block相反,resnet是先通过1*1卷积降维,再通过3*3卷积,最后使用1*1升维(这套操作其实也可以减少一些计算量,因为计算主要集中在3*3卷积中,1*1降维利于减少3*3需要处理的特征channel,变为了1/4);Inverted residuals结果的思路是:避免relu会造成depthwise convolution部分kernel废掉的解决方案是channel要多一些,如果输入维数高一些就能在relu后保持信息的完整性。所以作者先通过1*1卷积增加输入的channel,再使用Depthwise convolution提取特征,DW后是有relu层的,这样通过增加channel,可以避免relu后损失的信息。之后使用1*1卷积降维,由于作者认为relu激活函数在高维空间能够有效的增加非线性,而在低维空间时破坏特征,所以最后这个1*1卷积并未使用激活函数。

【MobileNetV2】论文解读_第1张图片

 

之后略...

 

 

 

你可能感兴趣的:(深度学习,深度学习)