论文分享 MobileNetV2: Inverted Residuals and Linear Bottlenecks

摘要

在本文中,我们描述了一种新的移动架构 MobileNetV2,它提高了移动模型在多个任务和基准测试以及不同模型大小范围内的最新性能。我们还描述了在我们称为 SSDLite 的新框架中将这些移动模型应用于对象检测的有效方法。此外,我们演示了如何通过我们称为 Mobile DeepLabv3 的 DeepLabv3 的简化形式来构建移动语义分割模型。基于倒置残差​​结构,其中快捷连接位于薄瓶颈层之间。中间扩展层使用轻量级深度卷积来过滤特征作为非线性源。此外,我们发现去除窄层中的非线性以保持代表性很重要。我们证明这可以提高性能并提供导致这种设计的直觉。最后,我们的方法允许将输入/输出域与转换的表达性分离,这为进一步分析提供了一个方便的框架。我们测量了我们在 ImageNet [1] 分类、COCO 对象检测 [2]、VOC 图像分割 [3] 上的性能。我们评估准确性和乘加 (MAdd) 测量的操作数量以及实际延迟和参数数量之间的权衡。

3.1. Depthwise Separable Convolutions

深度可分离卷积是许多高效神经网络架构的关键构建块 [27,28,20],我们也在当前的工作中使用它们。基本思想是用将卷积分成两个独立层的分解版本替换完整的卷积算子。

第一层称为深度卷积,它通过对每个输入通道应用单个卷积滤波器来执行轻量级滤波。第二层是 1×1 卷积,称为逐点卷积,负责通过计算输入通道的线性组合来构建新特征。标准卷积采用 hi × wi × di 输入张量 Li,并应用卷积核 K ∈ Rk×k×di×dj 以产生 hi × wi × dj 输出张量 Lj。标准卷积层的计算成本为 hi × wi × di × dj × k × k。深度可分离卷积是标准卷积层的直接替代品。从经验上讲,它们的工作原理几乎与常规卷积一样好,但成本只是:hi × wi × di × (k^2 + dj)

3.2. Linear Bottlenecks

在这里插入图片描述
主要是为了在移动端float16的低精度的时候,也能有很好的数值分辨率,如果对ReLu的输出值不加限制,那么输出范围就是0到正无穷,而低精度的float16无法精确描述其数值,带来精度损失。

本文提出,最后输出的ReLU6去掉,直接线性输出,理由是:ReLU变换后保留非0区域对应于一个线性变换,仅当输入低维时ReLU能保留所有完整信息。

结论就是最后那个ReLU要去掉,效果更好。

3.3. Inverted residuals

论文分享 MobileNetV2: Inverted Residuals and Linear Bottlenecks_第1张图片
论文分享 MobileNetV2: Inverted Residuals and Linear Bottlenecks_第2张图片
图4:不同架构的卷积块比较。ShuffleNet使用组卷积[20]和shuffling,它还使用传统的残差方法,其中内部块比输出块窄。ShuffleNet和NasNet的插图来自各自的论文。

你可能感兴趣的:(论文分享,计算机视觉)