1简介
构建在深度卷积上的Inverted bottleneck layers已经成为移动设备上最先进目标检测模型的主要构建模块。在这项工作中,作者通过回顾常规卷积的实用性,研究了这种设计模式在广泛的移动加速器上的最优性。
作者研究发现,正则卷积是一个强有力的组件,以提高延迟-准确性权衡目标检测的加速器,只要他们被放置在网络通过神经结构搜索。通过在搜索空间中合并Regular CNN并直接优化目标检测的网络架构,作者获得了一系列目标检测模型,MobileDets,并在移动加速器中实现了最先进的结果。
在COCO检测任务上,在移动CPU上MobileDets比MobileNetV3+SSDLite提升了1.7 mAP。MobileDets比MobileNetV2+SSDLite提升了1.9mAP,
在不增加延迟的情况下,在谷歌EdgeTPU上提升了3.7 mAP,在Qualcomm Hexagon DSP上提升了3.4 mAP,在Nvidia Jetson GPU上提升了2.7 mAP。此外,MobileDets即使不使用金字塔也可以在移动cpu上媲美最先进的MnasFPN,并在EdgeTPUs和dsp上实现更好的mAP分数以及高达2倍的加速。
本文主要贡献
- 不像许多现有的专门针对移动应用的IBN层的工作,本文提出了一种基于正则卷积构建块的增强搜索空间系列。证明了NAS方法可以从这种扩大的搜索空间中获得很大的收益,从而在各种移动设备上实现更好的延迟-准确性权衡。
- 提供了MobileDets,一组在多个硬件平台(包括手机)上具有最先进的Mobile目标检测模型。
2前人工作
2.1 Mobile Object Detection
物体检测是一个经典的计算机视觉任务,其目标是学习识别图像中感兴趣的物体。现有的目标检测器可分为2类:
- Two-Stage检测器
- One-Stage检测器
对于Two-Stage检测器,包括Faster RCNN, R-FCN和ThunderNet,在检测器做出任何后续预测之前,必须首先生成区域建议。由于这种多阶段的特性,Two-Stage检测器在推理时间方面并不高效。
另一方面,One-Stage检测器,如SSD、SSDLite、YOLO、SqueezeDet和Pelee,只需要通过一次网络就可以预测所有的边界框,使其成为边缘设备高效推断的理想候选。因此,在这项工作中将重点放在One-Stage检测器上。
SSDLite是SSD的一个有效变体,它已经成为最流行的轻量级检测器之一。它非常适合移动设备上的应用。高效的backbone,如MobileNetV2、MobileNetV3,与SSDLite配对,以实现最先进的移动检测结果。这两个模型将被用作baseline,以证明所提出的搜索空间在不同移动加速器上的有效性。
2.2 Mobile Neural Architecture Search (NAS)
NetAdapt和AMC是第一批尝试利用延迟感知搜索来微调预训练模型的通道数量的公司。MnasNet和MobileNetV3扩展了这一想法,以便在NAS框架中找到资源效率高的架构。通过技术的组合,MobileNetV3在移动CPU上提供了最先进的架构。作为一个互补的方向,最近有许多致力于提高NAS的搜索效率的工作。
2.3 NAS for Mobile Object Detection
大部分NAS文献主要集中于分类,只将学习到的特征提取器作为目标检测的backbone,而没有进一步的搜索。最近,多篇论文表明,通过直接搜索目标检测模型可以获得更好的延迟-精度权衡。
MnasFPN是移动检测模型的一个强大的检测NAS Baseline,它使用对移动友好的搜索空间搜索特征金字塔,极大地利用了深度可分离卷积。但是一九八存在几个因素限制了它在移动加速器上的推广:
- 到目前为止,深度卷积和特征金字塔在这些平台上都没有得到很好的优化,
- MnasFPN不搜索backbone,这是延迟的瓶颈。
相比之下,本文的工作依赖于SSD Heads,并提出了基于全卷积Backbone的搜索空间,更易于接受移动加速。
3重新回顾全卷积移动搜索空间
Are IBNs all we need ?
Inverted Bottleneck(IBN)的布局如图2所示。IBN的设计目的是减少参数和FLOPS的数量,并利用depthwise和pointwise(1x1)卷积在移动cpu上实现高效率。
然而,并非所有的FLOPS都是一样的,特别是对于EdgeTPU和dsp这样的现代移动加速器来说。例如,一个常规的卷积在EdgeTPUs上的运行速度可能比它的深度变化快3倍,即使它有7倍的FLOPS。
观察结果表明,目前广泛使用的IBN-only搜索空间对于现代移动加速器来说可能是次优的。这促使本文通过重新访问规则(完全)卷积来提出新的构建块,以丰富移动加速器的IBN-only搜索空间。具体来说,提出了2个灵活的层分别进行通道扩展和压缩,具体如下。
3.1 融合IBN层(扩展)
深度可分离卷积是IBN的关键(图2)。深度可分离卷积背后的想法是将深度卷积(用于空间维度)和点卷积(用于通道维度)的组合代替复杂的全卷积。
然而,复杂的概念在很大程度上是基于FLOPS或参数的数量来定义的,这与现代移动加速器的推理效率不一定相关。为了整合卷积,作者提出对IBN层进行修改,将其前卷积和随后的深度卷积融合为单个正则卷积(图3)。融合IBN的初始卷积使Kernel的数量增加了一个因子;这一层的扩展比例由NAS算法决定。
3.2 Tucker卷积层(压缩)
在ResNet中引入瓶颈层,降低了在高维特征图上进行大卷积的消耗。压缩比s<1的瓶颈层有:
- 输入通道为输出通道为的1×1卷积;
- 输入通道为输出通道为的K×K卷积;
- 输入通道为输出通道为的1×1卷积;
作者概括了这些瓶颈(图4)通过允许初始1×1卷积比K×K卷积有不同数量的输出卷积核,并让NAS算法决定最终的最佳配置。
作者将这些新的构建块称为Tucker卷积层,因为它们与Tucker分解有关。