论文题目:MobileDets: Searching for Object Detection Architectures for Mobile Accelerators
MobileDets
主要内容
- 发现广泛使用的仅限IBN的搜索空间对于EdgeTPUs和dsp等现代移动加速器来说可能是次优的。
- 提出了一种新的搜索空间,TDB,它通过重新考虑常规卷积的有用性,在大范围的移动加速器上工作。
- 说明了 如何使用NAS作为一种工具,通过学习在网络中选定的位置利用正则卷积,有效地发现新的加速器的高性能架构,
- 获得了移动设备,一个在多个移动加速器中实现对象检测的延迟平衡的模型。
论文提出了一个扩大的搜索空间家族,包括IBN和由张量分解结构激发的全卷积序列,称为基于张量分解的搜索空间(TDB),它可以很好地跨多种移动加速器工作。论文的搜索空间使用新的构建块来扩展仅限IBN的搜索空间,这些构建块同时捕获扩展和压缩,一旦放置在网络的正确位置,就可以在移动加速器上高效执行。
为什么IBN层可能不足以处理移动cpu之外的移动加速器
IBN的设计目的是减少参数量和FLOPs,并利用深度可分离卷积实现移动cpu上的高效,然而,并不是所有的FLOPs都是一样的,特别是在当前最新的移动加速器中,例如EdgeTPU和dsp。比如,一个常规卷积在EdgeTPUs上的运行速度可能比它在深度变化上的运行速度快3倍,即使是多7倍FLOPs。观察结果表明,目前广泛使用的仅限IBN的搜索空间对于现代移动加速器来说可能是次优的。
基于常规卷积的新构建块
这促使我们提出新的构建块,通过重新使用常规的卷积来丰富仅限ibm的搜索空间。具体来说,我们提出了两个灵活的层来分别执行通道扩展和压缩,具体如下:
-
Fused Inverted Bottleneck Layers (扩展)
深度可分离卷积是inverted bottleneck的一个关键元素。深度可分离卷积的思想是用深度卷积(用于空间维度)和1×1点卷积(用于通道维度)的组合来代替全卷积。然而,代价的概念在很大程度上是基于FLOPs或参数量来定义的,而这些参数与当今移动加速器的推理效率不一定相关。为了合并常规卷积,修改了一个IBN层,将它的第一个1×1卷积(通常伴随一个expansion ratio)和随后的K×K深度卷积融合为单个K×K常规卷积。我们保留了扩展的概念通过允许这个完整的卷积来扩展信道大小。因此,在本文的其余部分中,我们将该层称为融合的倒瓶颈,或者简单地将卷积层融合。这一层的expansion ratio将由算法决定。 -
Generalized Bottleneck Layers(压缩)
在ResNet中引入了瓶颈,以减少高维特征映射上的大卷积的成本。瓶颈层进行压缩,因为首先将feature map投影到更少的通道上,然后在最后再投影回来。两个投影都实现为1×1的卷积。通常,允许对每个层中的通道大小进行细粒度控制是非常有用的,因为它们对推理延迟有很大的影响。为了定义一个灵活的压缩层,将传统的瓶颈进行了泛化,使其同时具有可搜索的输入压缩比(对于前一个1×1 conv)和输出压缩比(对于后一个1×1 conv),并让NAS算法来决定最佳配置。我们将这些新的构建块称为Tucker convolution layers,用于它们与Tucker分解的连接。
因此,我们将扩展操作称为融合卷积层,将压缩操作称为Tucker层,而我们提出的混合层和IBNs的搜索空间称为TDB搜索空间。
Architecture Search Method
我们提出的搜索空间是对任何神经结构搜索算法的补充。在我们的实验中,我们使用TuNAS,因为它具有可伸缩性,并且比随机baselines有可靠的改进。下面简要回顾一下TuNAS。
TuNAS构建了一个one-shot的模型,该模型包含给定搜索空间中的所有架构选择,该控制器的目标是选择一个优化平台感知奖励功能的架构。在搜索过程中,one-shot模型和控制器一起训练。在每个步骤中,控制器样品多项分布的随机结构跨度的选择,然后一次性的部分模型的权重与采样架构更新,最后的奖励计算采样结构,用于更新控制器。对以下奖励函数应用标准强化算法[37]进行更新:
其中表示结构M的检测结果的mAP值,是推理代价,在这里cost是时间, 是给的预算代价, 是均衡精确度和时间代价的超参数,搜索空间的质量对很敏感。由于是在每个更新步骤中计算的,所以效率是关键。为了提高效率,为了提高效率,我们基于一个小的迷你批处理来估计。
实验结果