文章目录
- Abstract
- 主要内容
- 实验结果
- Introduction
- Related Work
- Efficient Mobile Building Blocks
- Network Search
- Platform-Aware NAS for Block-wise Search
- NetAdapt for Layer-wise Search
- Network Improvements
- Redesigning Expensive Layers
- Nonlinearities
- Large squeeze-and-excite
- Experiments
- Classification
- Results
- Ablation study
- Impact of non-linearities
- Detection
- Semantic Segmentation
- Conclusions and future work
原文链接
Abstract
主要内容
我们提出了基于互补搜索技术和新颖架构设计相结合的下一代MobileNets。MobileNetV3通过硬件感知网络架构搜索(NAS)和NetAdapt的结合来调整到移动电话cpu,然后通过新颖的先进架构进行改进。本文开始探索自动搜索算法和网络设计如何协同工作,以利用互补的方法提高整体技术水平。通过这个过程,我们创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对的是高资源和低资源的用例,然后将这些模型应用于目标检测和语义分割任务。针对语义分割(或任何密集像素预测)任务,我们提出了一种新的高效分割解码器:精简空间金字塔池(LR-ASPP)。
实验结果
我们在移动分类、检测和分割方面取得了最先进的成果。与MobileNetV2相比,MobileNetV3-Large在ImageNet分类上的准确率提高了3.2%,同时延迟减少了20%。与具有类似延迟的MobileNetV2模型相比,MobileNetV3-Small的准确率提高了6.6%。MobileNetV3-Large检测速度超过25%,与Mo- bileNetV2在COCO检测上的精度大致相同。在相似的城市景观分割精度下,MobileNetV3-Large LR- ASPP比MobileNetV2 R-ASPP快34%。
Introduction
高效的神经网络在移动应用中变得无处不在,从而实现全新的设备体验。它们也是个人隐私的关键推动者——允许用户在不需要将数据发送到服务器进行评估的情况下获得神经网络的好处。神经网络效率的进步不仅通过更高的准确性和更低的延迟改善用户体验,而且通过降低功耗有助于延长电池寿命。
本文描述了我们开发MobileNetV3大型和小型模型的方法,以提供下一代高精度高效神经网络模型,为设备上的计算机视觉提供动力。新的网络推动了技术的发展,并展示了如何将自动搜索与新架构的进步相结合,以建立有效的模型。
本文的目标是开发最好的移动计算机视觉架构,优化移动设备上的精度和延迟权衡。(和mnas一样嘛)
为了实现这一目标,我们引入了(1)互补搜索技术,(2)适用于移动设置的新型高效非线性算法,(3)新型高效网络设计,(4)新型高效分割解码器。并进行了深入的实验,证明了在广泛的用例和移动电话上评估的每种技术的功效和价值
Related Work
在深度神经网络结构设计中实现精度与效率的最佳平衡是近年来研究的热点。新颖的手工结构和算法神经结构搜索在这一领域的发展中发挥了重要作用
先介绍了SqueezeNet、MobileNet等手工搜索,接着又介绍了MnasNet等引入强化学习来进行自动化搜索的架构
最后介绍了下量化和知识蒸馏
Efficient Mobile Building Blocks
先引入了下以前的高效模块设计,MobileNetV1引入了深度可分离卷积,将传统卷积分解为:用于空间滤波的轻量级深度卷积和用于特征生成的较重的1x1点卷积。MobileNetV2引入了线性瓶颈和反向残余结构,以便通过利用问题的低秩性来构建更有效的层结构
MnasNet在MobileNetV2结构的基础上,将基于挤压和激励的轻量级注意力模块引入瓶颈结构
MobileNetV3使用这些层的组合作为构建块,以构建最有效的模型
Network Search
MobileNetV3使用平台感知NAS通过优化每个网络块来搜索全局网络结构。然后,我们使用NetAdapt算法搜索每层过滤器的数量。这些技术是互补的,可以结合起来有效地找到针对给定硬件平台的优化模型。
Platform-Aware NAS for Block-wise Search
和MnasNet相同,在MnasNet-A1基线模型上应用NetAdapt[48]和其他优化
一不小心观察到最初的奖励设计并没有针对小型移动模型进行优化,对于小模型,准确率随着延迟的变化更大
因此,作者采用了一个较小的权重因子w = -0.15替换原始的w = -0.07来补偿不同延迟带来的较大精度变化。
NetAdapt for Layer-wise Search
我们在架构搜索中使用的第二种技术是NetAdapt[48],这种方法是对平台感知的NAS的补充:它允许以顺序的方式对各个层进行微调,而不是试图推断粗糙的全局架构。简而言之,技术流程如下:
1.从平台感知NAS找到的子网络架构开始
2. For each step:
(a):生成一组新建议,每个提议都代表了一个架构的修改,与前一步相比,至少减少δ的延迟。
(b):对于每个建议,我们使用前一步预训练的模型并填充新提出的体系结构,截断并随机初始化适当的缺失权重。对每个建议进行T步微调,以获得精度的粗略估计
©:根据某种度量选择最佳方案
3.迭代前一步,直到达到目标延迟
我们使延时变化与精度变化之比最小化。也就是说,对于在每个NetAdapt步骤中生成的所有提案,我们选择一个最大的提案:∆Acc/ |∆latency|,∆latency满足2(a)中的约束。直觉是,因为我们的建议是离散的,我们更喜欢那些最大化权衡曲线斜率的建议。
重复这个过程,直到延迟达到目标,然后我们从头开始重新训练新的架构。我们使用与MobilenetV2相同的提案生成器。具体来说,我们允许以下两类提案:
1.减少任何扩展层的尺寸
2.减少共享相同瓶颈大小的所有块中的瓶颈-以保持剩余连接
Network Improvements
我们在网络的开始和结束处重新设计计算开销大的层。我们还引入了一种新的非线性,h-swish,它是最近swish非线性的改进版本,计算速度更快,更易于量化。
Redesigning Expensive Layers
基于MobileNetV2的倒瓶颈结构和变体的模型使用1x1卷积作为最后一层,以便扩展到更高维度的特征空间。为了减少延迟并保留高维特征,我们将这一层移动到最终的平均池化之后。最后一组特征现在以1x1的空间分辨率计算,而不是7x7的空间分辨率。这种设计选择的结果是,在计算和延迟方面,特征的计算几乎是自由的。
我们在之前的瓶颈层中删除投影层和过滤层,进一步降低计算复杂度。原始和优化后的最后一级如图5所示。高效的最后阶段将延迟减少了7毫秒,占运行时间的11%,并在几乎没有准确性损失的情况下将操作数量减少了3000万MAdds。
目前的移动模型倾向于在一个完整的3x3卷积中使用32个滤波器来构建用于边缘检测的初始滤波器组。我们在这一层使用hard swish非线性,因为它表现得和其他非线性测试一样好。我们能够将过滤器的数量减少到16个,同时使用ReLU或swish保持与32个过滤器相同的精度。这节省了额外的2毫秒和1000万MAdds。
Nonlinearities
引入了一种称为swish的非线性,当用作ReLU的替代时,它显着提高了神经网络的准确性。非线性定义为
虽然这种非线性提高了精度,但它在嵌入式环境中带来了非零成本,因为在移动设备上计算sigmoid函数要昂贵得多。我们用两种方法处理这个问题
1.我们将sigmoid函数替换为它的分段线性硬模拟ReLU6(x+3)/6,则swish为:
最后,在实践中,h-swish可以作为逐个函数实现,以减少内存访问次数,从而大大降低延迟成本。
2.随着我们深入网络,应用非线性的成本会降低,因为每次分辨率下降时,每层激活存储器通常都会减半。顺便说一句,我们发现swish的大多数好处都是通过在更深的层中使用它们来实现的。因此,在我们的架构中,我们只在模型的后半部分使用h-swish。我们参考表1和表2了解精确的布局
Large squeeze-and-excite
在MnasNet中,挤压-激发瓶颈的大小与卷积瓶颈的大小是相对的。相反,我们将它们全部替换为固定为扩展层通道数的1/4。我们发现这样做可以在参数数量适度增加的情况下提高精度,并且没有明显的延迟成本
Experiments
Classification
Results
Ablation study
Impact of non-linearities
在h-swish@N中,N表示启用了h-swish的第一层中的通道数。第三列显示了没有经过优化的h-swish的运行时间。前1的精度在ImageNet上,延迟以毫秒为单位
显然h-swish优于Relu,且在整个网络中添加h-swish比扩大网络的插值边界稍微好一些
Detection
对于这两个MobileNetV3模型,通道减少技巧在没有mAP损失的情况下减少了大约15%的延迟,这表明Imagenet分类和COCO对象检测可能更喜欢不同的特征提取器形状。
Semantic Segmentation
我们提出了一种轻量级分段头,称为Lite R-ASPP(或LR-ASPP),如图10所示。Lite R-ASPP在R-ASPP的基础上进行了改进,以类似于挤压和激励模块[20]的方式部署了全局平均池化,其中我们使用了一个具有大跨距的大型池化内核(以节省一些计算),并且模块中只有一个1 × 1卷积。我们对MobileNetV3的最后一个块应用属性卷积[18,40,33,6]来提取更密集的特征,并进一步从低级特征中添加askip连接[30]来捕获更详细的信息。
(1)减少渠道的最后一块网络骨干2倍显著提高速度的同时保持类似的表演(第一行和第二行,行5与行6),(2)提出分割头LR-ASPP略高于R-ASPP[39]虽然性能改善(第二行和第三行,行6vs行7),(3)减少分割的过滤器头从256年到128年提高了速度稍差的成本性能(第3行与行4(4)当使用相同的设置时,MobileNetV3模型变量获得类似的性能,同时比MobileNetV2对应版本略快(第1行vs.第5行,第2行vs.第6行,第3行vs.第7行,第4行vs.第8行),(5)MobileNetV3-small获得与MobileNetV2-0.5相似的性能,同时更快,(6)MobileNetV3-small显着优于MobileNetV2-0.35,同时产生相似的速度。
我们的模型(以MobileNetV3-Small作为网络骨干)的性能仍然优于所有这些模型,至少高出2.1%
Conclusions and future work
在本文中,我们介绍了MobileNetV3大型和小型模型,展示了移动分类,检测和分割的新状态。我们已经描述了我们在利用多种网络架构搜索算法以及网络设计的进步来提供下一代移动模型方面所做的努力。我们展示了如何以一种量化友好和有效的方式适应非线性,如swish和应用挤压和激发,将它们作为有效的工具引入到移动模型中。我们还引入了一种新的轻量级分割解码器,称为LR-ASPP。虽然如何最好地将自动搜索技术与人类直觉相结合仍然是一个悬而未决的问题,但我们很高兴地展示了这些初步的积极结果,并将在未来的工作中继续改进方法。