MobileNetV2是在MobileNetV1的基础上修改的,MobileNetV1可以看看:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
MobileNetV2使用了深度可分离卷积+先升维+倒残差+低维不使用ReLU构建了比V1效果更好更轻量的网络,在分类、目标检测、语义分割等的实验验证MobileNetV2的强劲性能。
本文描述了一种新的用于移动和嵌入式设备的架构MobileNetV2,该架构提高了多个任务和基准数据集上以及不同模型尺寸内的最佳性能。
MobileNetV2基于倒置的残差结构,残差链接位于窄的瓶颈之间。中间层使用深度可分离卷积进行滤波(提取)特征。此外作者发现去除窄层的非线性对于保持表征能力非常重要
然后在ImageNet分类、COCO对象检测、VOC图像分割上进行了性能测试。我们评估了精度和通过乘法加法(MAdd)度量的操作数量,以及实际延迟和参数数量之间的权衡。
本文介绍一种专为移动和资源受限环境量身定制的网络架构。MobileNetV2显著减少操作数和内存数,同时保持相同的精度。
主要贡献是一个新颖的模块:具有线性瓶颈的倒残差模块。该模块将低维压缩的表征先扩展到高维并用深度可分离卷积进行滤波,然后用线性卷积将表征投影回低维(直观将就是通道先升维再降维的过程)。
略
我们用dw和pw表示深度可分离卷积的两个步骤,则深度可分离卷积表示为:
–dw–pw–
首先总结下MobileNetV2的创新点:
总结起来就是:深度可分离卷积+先升维+倒残差+低维不使用ReLU

这个卷积就是MobileNetV1的基础,如果你懂了深度可分离卷积那你就懂了MobileNetV1,详细的介绍看:深度可分离卷积(DepthwiseSeparableConvolution):Depthwise卷积与Pointwise卷积
首先起因是【CV论文笔记】MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2理解)中说
全文也进行了理论分析,我看着太复杂了,总结起来就是这句话:“另一方面,当ReLU破坏通道时,它不可避免地会丢失该通道的信息。但是,如果我们有很多通道,并且激活流形中有一个结构,信息可能仍然保留在其它通道中。在补充材料中,我们说明,如果输入流形可以嵌入到激活空间的显著较低维子空间中,则ReLU变换将保留该信息,同时将所需的复杂性引入到可表达的函数集中”,也就是低维信息经过ReLU会破环一些信息,但是高维信息经过ReLU后则任然可能被保留。
所以在结构上最后一个1x1卷积(后pw)是没有ReLU的

下图是第6.4节的实验,可以看出在低维(后pw输出)使用ReLU效果确实要差一点。

作者使用残差连接动机是想要提高梯度在乘法层之间传播的能力,但是稍作改变得到了倒残差结构
图3b就是本文呢的倒残差结构,可以看到Residual block是先降温后升温,倒残差是先升维再降维,这就保证了depthwise在高维进行,从而表征更加充分。

基本实现结构如表1所示,扩展因子t也就是升维倍数

模型结构如表2所示:

一些包括内存使用的理论分析
包括了分类、目标检测、语音分割等实验,这里只展示分类的效果
可以看到V2确实比V1要好很多,()的含义看图5


图a:严格来说,线性瓶颈模型不如非线性模型强大,因为激活总是可以在线性范围内运行,并对偏差和缩放进行适当的改变。然而,我们在图6a中所示的实验表明,线性瓶颈可以提高性能,这为非线性破坏低维空间中的信息提供了支持。
图b:快捷连接瓶颈的性能比连接扩展层的快捷方式更好

好!