MobileVIT:LIGHT-WEIGHT, GENERAL-PURPOSE,AND MOBILE-FRIENDLY VISION TRANSFOR(轻便、通用、移动友好的视觉转换器)

目录

摘要

1 介绍

2 相关工作

3 MOBILEVIT: A LIGHT-WEIGHT TRANSFORMER

3.1 MOBILEVIT ARCHITECTURE 

3.2提高训练效率的多尺度采样器 

4 实验结果 

4.1 IMAGE CLASSIFICATION ON THE IMAGENET-1K DATASET

 4.2 MOBILEVIT作为一种通用的骨架结构

4.2.1移动的物体检测 

4.2.2移动的语义分割

4.3在移动的设备上的性能

 5致谢



摘要

轻量级的卷积神经网络(CNNs)是解决移动的视觉任务的有效方法。他们的空间归纳偏好使他们能够在不同的视觉任务中以更少的参数学习表征。然而,这些网络在空间上都是局部的。为了学习全局表征,已经采用了基于自我注意的视觉变换器(ViT)。与CNN不同的是,ViT是重量级的。在本文中,我们提出了这样一个问题:是否有可能将CNNs和ViTs的优势结合起来,构建一个轻量级、低延迟的移动的视觉任务网络?为此,我们推出了MobileViT,一款适用于移动的设备的轻型通用视觉Transformer。MobileViT为全球信息处理提供了一个不同的视角。我们的结果表明,MobileViT在不同任务和数据集上的性能明显优于基于CNN和ViT的网络。在ImageNet-1 k数据集上,MobileViT在约600万个参数中达到了78.4%的前1名准确度,在相似数量的参数中,比MobileNetv 3(基于CNN)和DeIT(基于ViT)的准确度高出3.2%和6.2%。在MS-COCO对象检测任务中,对于相似数量的参数,MobileViT比MobileNetv 3的准确性高5.7%。我们的源代码是开源的,可在https://github.com/apple/ml-cvnets上获得。

1 介绍

基于自我注意的模型,尤其是视觉转换器(ViTs;图1a; Dosovitskiy等人,2021)是卷积神经网络(CNNs)的替代方案,用于学习视觉表示。简言之,ViT将图像划分为一系列不重叠的小块,然后在变换器中使用多头自注意来学习小块间的表示(Vaswani等人,(2017年版)。一般的趋势是增加ViT网络中的参数的数量以提高性能(例如,Touvron等,2021 a;格雷厄姆等人,2021; Wu等人,2021年)的报告。然而,这些性能改进是以模型大小(网络参数)和延迟为代价的。许多现实世界的应用(例如,增强现实和自动轮椅)需要视觉识别任务(例如,对象检测和语义分割)以及时的方式在资源受限的移动的设备上运行。为了有效,用于此类任务的ViT模型应该是轻量级和快速的。即使ViT模型的模型大小被减小以匹配移动的设备的资源约束,它们的性能也明显比轻量级CNNs差。例如,对于大约5-6百万的参数预算,DeIT(Touvron等人,2021 a)的准确性比MobileNetv 3低3%。因此,设计轻量化的ViT车型势在必行。

轻量化的CNN已经为许多移动的视觉任务提供了动力。然而,基于ViT的网络还远未在此类设备上得到应用。与易于优化并与特定任务网络集成的轻量级CNN不同,ViT是重量级的(例如,ViT-B/16 vs. MobileNetv 3:86 vs. 750万参数数),更难优化(Xiao等人,2021),需要广泛的数据扩充和L2正则化以防止过拟合(Touvron等人,2021 a; Wang等人,2021),并且对于下游任务,尤其是对于密集预测任务,需要昂贵的解码器。例如,基于ViT的分段网络(Ranftl等人,2021)学习大约3.45亿个参数并且实现了与基于CNN的网络DeepLabv 3(Chen等人,2017年)相似的性能,网络DeepLabv 3共5900万个参数。在基于ViT的模型中需要更多的参数可能是因为它们缺乏图像特定的归纳偏差,而这是CNN固有的(Xiao等人,2021年)的报告。为了建立稳健和高性能的ViT模型,将卷积和变换器相结合的混合方法正在引起人们的兴趣(Xiao等人,2021年; d 'Ascoli等人,2021年; Chen等人,2021年b月)。然而,这些混合模型仍然是重量级的,并且对数据增强很敏感。例如,去除CutMix(Zhong等人,2020年)和DeIT风格(Touvron等人,2021 a)的数据增强导致Heo等人(2021)的ImageNet准确度显著下降(78.1%至72.4%)。

如何联合收割机CNNs和Transformer的优势,构建面向移动的视觉任务的ViT模型,仍然是一个悬而未决的问题。移动的视觉任务需要满足设备资源约束的轻量级、低延迟和精确模型,并且是通用的,因此它们可以应用于不同的任务(例如,分割和检测)。请注意,浮点运算(FLOP)不足以满足移动的设备上的低延迟要求,因为FLOP忽略了几个重要的推理相关因素,如存储器访问、并行度和平台特性(Ma等人,(2018年版)。例如,Heo等人(2021年)的基于ViT的方法PiT的FLOP比DeIT少3倍(Touvron等人,2021 a),但在移动终端上具有相似的推理速度(iPhone-12上的DeIT与PiT:10.99 ms与10.56 ms)。因此,本文的重点不是针对FLOPs 进行优化,而是针对移动的视觉任务设计一个轻量级(§3)、通用(§4.1和§4.2)和低延迟(§4.3)网络。我们通过MobileViT实现了这一目标,它结合了CNN的优势(例如,空间感应偏置和对数据扩充的较低灵敏度)和ViT(例如,输入自适应加权以及全局处理)。具体而言,我们引入了MobileViT块,它可以有效地将局部和全局信息编码到张量中(图1b)。与ViT及其变体(有卷积和无卷积)不同,MobileViT提供了一个不同的视角来学习全局表示。 标准卷积涉及三个操作:展开、局部处理和折叠。MobileViT模块使用转换器将卷积中的局部处理替换为全局处理。这允许MobileViT块具有类似CNN和ViT的属性,这有助于它利用更少的参数和简单的训练方法(例如,基本增强)。据我们所知,这是第一项工作,表明轻量级ViT可以实现轻量级CNN级别的性能与简单的训练食谱在不同的移动的视觉任务。“对于大约500 - 600万的参数预算,MobileViT在ImageNet-1 k数据集上实现了78.4%的前1位准确性(Russakovsky等人,2015),比MobileNetv 3的准确率高3.2%,并且具有简单的训练配方(MobileViT与MobileNetv 3:300个纪元与600个纪元; 1024个批次与4096个批次)。我们还观察到,当MobileViT用作高度优化的移动的视觉特定任务架构中的功能主干时,性能会显著提升。取代MNASNet(Tan等人,2019年),并将MobileViT作为SSDLite中的功能主干(Sandler等人,2018年)产生了更好(+1.8% mAP)和更小(1.8×)的检测网络(图2)。

2 相关工作

轻量级的CNNs。CNNs中的基本构建层是标准的卷积层。由于该层的计算开销很大,因此已经提出了几种基于因式分解的方法来使其重量轻且对移动设备友好(例如,Jin等,2014年; Chollet,2017年; Mehta等人,2020年)的报告。其中,Chollet(2017)的可分离卷积已引起人们的兴趣,并被广泛用于移动的视觉任务的最新轻量级CNN,包括MobileNets(霍华德等人,2017年; Sandler等人,2018年;霍华德等人,2019)、ShuffleNetv 2(Ma等人,2018)、ESPNetv 2(Mehta等人,2019年)、MixNet(Tan和Le,2019 b)和MNASNet(Tan等人,(2019年版)。这些轻量级的神经网络是多功能的,易于训练。例如,这些网络可以很容易地取代重量级骨干网(例如,ResNet(He等人,2016))在现有的任务专用模型(例如,DeepLabv 3)来减小网络规模并改善延迟。尽管有这些好处,这些方法的一个主要缺点是它们是空间局部的。这项工作将变压器视为卷积;允许利用两种卷积的优点(例如,多用途和简单的训练)和变压器(例如,全局处理)来构建轻量级(§3)和通用(§4.1和§4.2)ViT。

视觉变形金刚。Dosovitskiy等人(2021年)将Vaswani等人(2017年)的变换器应用于大规模图像识别,结果表明,对于超大规模数据集(例如,JFT-300 M),ViT可实现CNN级精度,而无特定于图像的感应偏置。通过大量的数据扩充、大量的L2正则化和提取,可以在ImageNet数据集上训练ViT以实现CNN级别的性能(Touvron等人,2021 a;B; Zhou等人,2021年)的报告。然而,与认知神经网络不同的是,ViT表现出低于标准的可优化性,并且难以训练。后续工作(如:Graham等人,2021年; Dai等人,2021; Liu等人,2021; Wang等人,2021年; Yuan等人,2021 b; Chen等人,2021 b)表明,这种不合格的可优化性是由于ViT中缺乏空间感应偏差。在ViT中使用卷积来合并这样的偏差提高了它们的稳定性和性能。已经探索了不同的设计以获得卷积和变压器的益处.例如,Xiao等人(2021)的ViT-C在ViT中添加了早期卷积词干。CvT(Wu等人,2021)修改了变换器中的多头注意,并使用深度方向可分离卷积代替线性投影。BoTNet(Srinivas等人,2021)以多头关注取代了ResNet瓶颈单元中的标准3×3卷积。ConViT(d ′ Ascoli等人,2021)使用门控位置自关注来结合软卷积感应偏置。PiT(Heo等人,2021)通过基于深度卷积的池层扩展了ViT。虽然这些模型可以通过广泛的扩充实现与CNNs竞争的性能,但是这些模型中的大多数都是重量级的。例如,PiT和CvT分别比EfficientNet多学习6.1倍和1.7倍的参数(Tan & Le,2019 a),并在ImageNet 1 k数据集上实现了相似的性能(前1位准确度约为81.6%)。此外,当这些模型被缩小以构建轻量级的ViT模型时,它们的性能明显比轻量级的CNN差。对于约600万的参数预算,PiT的ImageNet-1 k准确度比MobileNetv 3低2.2%。

讨论与普通ViT相比,将卷积和变换器相结合可产生健壮且高性能的ViT。然而,一个悬而未决的问题是:如何联合CNN和变换器的优势,为移动的视觉任务构建轻量级网络?本文着重于设计轻量级的ViT模型,这些模型的性能优于具有简单训练配方的最先进的模型。为此,我们推出了MobileViT,它结合了CNN和ViT的优势,构建了一个轻量级、通用和移动友好的网络。MobileViT带来了几个新的观察结果。(i)性能更佳:在给定的参数预算下,MobileViT模型在不同的移动的视觉任务中实现了比现有轻量级CNN更好的性能(§4.1和§4.2)。(ii)概括能力:概括能力是指培训和评估指标之间的差距。对于具有相似训练度量的两个模型,具有更好评估度量的模型更具有可推广性,因为它可以在不可见数据集上进行更好的预测。与先前的ViT变体(具有和不具有卷积)不同,与CNN相比,2021年),MobileViT显示出更好的泛化能力(图3)。(iii)稳健:一个好的模型应该对超参数具有稳健性(例如,数据扩充和L2正则化),因为调整这些超参数是耗时和耗费资源的。与大多数基于ViT的模型不同,MobileViT模型使用基本增强进行训练,对L2正则化不太敏感(§C)。

3 MOBILEVIT:一款轻量级Transformer

 如图1a所示,一个标准的ViT模型将输入\mathbf{X} \in \mathbb{R}^{H \times W \times C}重新整形为一系列扁平面片\mathbf{X}_{f} \in \mathbb{R}^{N \times P C} ,将其投影到一个固定的d维空间\mathbf{X}_{p} \in \mathbb{R}^{N \times d},然后使用一个L个Transformer块的堆栈学习面片间的表示。在视觉转换器中,自我注意的计算成本是O(N^{2}d )。这里,C、H和W分别表示张量的通道、高度和宽度,并且P = wh,是具有高度h和宽度w的补丁中的像素的数目,并且N是补丁的数目。由于这些模型忽略了CNNs固有的空间归纳偏差,因此它们需要更多的参数来学习视觉表示。例如,DPT(Dosovitskiy等人,2021),一个基于ViT的网络,学习的参数比DeepLabv 3多6倍(Chen等人,2017年),一个基于CNN的网络,提供类似的分割性能(DPT与DeepLabv 3:3.45亿与59亿)。此外,与神经网络相比,这些模型表现出低于标准的可优化性。这些模型对L2正则化敏感并且需要大量的数据扩充以防止过拟合(Touvron等人,2021 a; Xiao等人,2021年)的报告。

本文介绍了一种轻量级的VIT模型MobileViT。核心思想是用 Transformer 作为卷积来学习全局表示。这允许我们隐式地结合卷积类属性(例如,空间偏差),利用简单的训练方法学习表征(例如,基本增强),并轻松地将MobileViT与下游架构(例如,用于分割的DeepLabv 3)。

3.1 MOBILEVIT 架构 

MobileViT 块。 MobileViT 模块如图 1b 所示,旨在使用较少的参数对输入张量中的局部和全局信息进行建模。 形式上,对于给定的输入张量 \mathbf{X} \in \mathbb{R}^{H \times W \times C},MobileViT 应用 n × n 标准卷积层,后跟逐点(或 1×1)卷积层来生成 \mathbf{X}_{L} \in \mathbb{R}^{H \times W \times d}。 n×n 卷积层对局部空间信息进行编码,而逐点卷积通过学习输入通道的线性组合将张量投影到高维空间(或 d 维,其中 d > C)。 使用 MobileViT,我们希望对远程非局部依赖关系进行建模,同时具有 H ×W 的有效感受野。 广泛研究的长程依赖性建模方法之一是膨胀卷积。 然而,这种方法需要仔细选择扩张率。 否则,权重将应用于填充的零而不是有效的空间区域(Yu & Koltun,2016;Chen 等人,2017;Mehta 等人,2018)。 另一个有前途的解决方案是自注意力(Wang et al., 2018; Ramachandran et al., 2019; Bello et al., 2019; Dosovitskiy et al., 2021)。 在自注意力方法中,具有多头自注意力的视觉变换器(ViT)被证明对于视觉识别任务是有效的。 然而,ViT 重量级并且表现出不合标准的优化能力。 这是因为 ViT 缺乏空间归纳偏差(Xiao 等人,2021;Graham 等人,2021)。

为了使 MobileViT 能够学习具有空间归纳偏差的全局表示,我们将  X_{L}展开为 N 个不重叠的扁平补丁\mathbf{X}_{U} \in \mathbb{R}^{P \times N \times d} 。 这里,P = wh,N=\frac{HW}{P} P 是 patch 的数量,h ≤ n 和 w ≤ n 分别是 patch 的高度和宽度。 对于每个 p ∈ {1, · · · , P},通过应用 Transformer 对块间关系进行编码,以获得 \mathbf{X}_{G} \in \mathbb{R}^{P \times N \times d} 为: X_{G}(p) = Transformer(X_{U}(p)), 1 ≤ p ≤ P  与丢失像素空间顺序的 ViT 不同,MobileViT 既不会丢失补丁顺序,也不会丢失每个补丁内像素的空间顺序(图 1b)。 因此,我们可以将 XG ∈ RP×N×d 折叠得到 XF ∈ RH×W×d。 然后使用逐点卷积将 XF 投影到低 C 维空间,并通过串联操作与 X 组合。 然后使用另一个 n × n 卷积层来融合这些连接的特征。 请注意,由于 XU(p) 使用卷积对 n × n 区域的局部信息进行编码,而 XG(p) 对第 p 个位置的 P 个补丁上的全局信息进行编码,因此 XG 中的每个像素都可以对 X 中所有像素的信息进行编码,如图所示 如图 4 所示。因此,MobileViT 的整体有效感受野为 H ×W。 

与卷积的关系。 标准卷积可以被视为三个顺序操作的堆栈:(1) 展开,(2) 矩阵乘法(用于学习局部表示),以及 (3) 折叠。 MobileViT 块与卷积类似,因为它也利用相同的构建块。 MobileViT 块用更深层次的全局处理(一堆转换器层)取代了卷积中的局部处理(矩阵乘法)。 因此,MobileViT 具有类似卷积的属性(例如空间偏差)。 因此,MobileViT 块可以被视为转换器和卷积。 我们故意简单设计的一个优点是,可以开箱即用地使用低级高效的卷积和变换器实现; 允许我们在不同的设备上使用 MobileViT,无需任何额外的努力。 

轻量级。MobileViT模块使用标准卷积和变换器分别学习局部和全局表示。因为先前的工作(例如,霍华德等人,2017年; Mehta等人,2021 a)已经表明,使用这些层设计的网络是重量级的,一个很自然的问题出现了:为什么MobileViT是轻量级的?我们认为,问题主要在于学习变压器的全局表示。对于给定的补丁,先前的工作(例如,Touvron等人,2021 a; Graham等人,2021)通过学习像素的线性组合(图1a)将空间信息转换成潜量。然后,通过使用变换器学习面片间信息来对全局信息进行编码。因此,这些模型失去了图像特定的归纳偏差,这是固有的CNNs。因此,他们需要更多的能力来学习视觉表示。因此,它们又深又宽。与这些模型不同,MobileViT使用卷积和转换器的方式,生成的MobileViT块具有类似卷积的属性,同时允许全局处理。这种建模能力使我们能够设计出既浅又窄的MobileViT模型,而这些模型又是轻量级的。与基于ViT的DeIT模型使用L=12和d=192相比,MobileViT模型分别在32 × 32、16 × 16和8 × 8空间水平使用L= {2,4,3}和d={96,120,144}。由此产生的MobileViT网络比DeIT网络更快(1.85倍)、更小(2倍)、更好(+1.8%)(表3; §4.3)。 

计算成本。MobileViT和ViT(图1a)中多头自注意的计算成本分别为O(N^2Pd)和O(N^2d)。从理论上讲,MobileViT与ViT相比效率低下。但在实践中,MobileViT比ViT效率更高。在ImageNet-1 K数据集上,MobileViT的FLOPs减少了2倍,准确性比DeIT高1.8%(表3; §4.3)。我们认为,这是由于与轻量化设计(如上所述)类似的原因。

MobileViT体系结构。我们的网络深受轻量级CNN理念的启发。我们在通常用于移动的视觉任务的三种不同网络规模(S:小、XS:超小和XXS:超超小)下训练MobileViT模型(图3c)。MobileViT的初始层是一个3 × 3标准卷积,然后是MobileNetv2(或MV2)块和MobileViT块(图1b和§A)。我们使用Swish(Elfwing等人,2018)作为激活函数。根据CNN模型,我们在MobileViT模块中使用n = 3。特征图的空间维数通常是2的倍数,且h,w ≤ n。因此,我们在所有空间水平上设置h = w = 2(更多结果见§C)。MobileViT网络中的MV2块主要负责下采样。因此,这些区块在MobileViT网络中是浅且窄的。图3d中MobileViT的空间级别参数分布进一步表明,在不同的网络配置中,MV2块对总网络参数的贡献非常小

3.2提高训练效率的多尺度采样器 

 在基于ViT的模型中,学习多尺度表示的标准方法是微调。例如,Touvron et al.(2021 a)对在224×224的空间分辨率下训练的DeIT模型进行了独立的微调。这种用于学习多尺度表示的方法对于ViT是优选的,因为位置嵌入需要基于输入大小进行插值,并且网络的性能受插值方法的影响。与CNN类似,MobileViT不需要任何位置嵌入,并且可以从训练期间的多尺度输入中受益。

以前基于CNN的作品(例如,雷德蒙和Farhadi,2017年; Mehta等人,2021 b)已经表明多尺度训练是有效的。然而,大多数这些作品采样一个新的空间分辨率后,一个固定的迭代次数。例如,YOLOv 2(雷德蒙& Farhadi,2017)在每第10次迭代时从预定义集合中采样一个新的空间分辨率,并在训练期间在不同的GPU上使用相同的分辨率。这会导致GPU利用率不足和训练速度较慢,因为在所有分辨率中使用相同的批量大小(使用预定义集合中的最大空间分辨率确定)。为了促进MobileViT学习多尺度表示而无需微调并进一步提高训练效率(即,更少的优化更新),我们将多尺度训练方法扩展到可变大小的批量大小。给定空间分辨率的排序集合S = {(H1,W1),· · ·,(Hn,Wn)}和最大空间分辨率(Hn,Wn)的批量大小B,我们在每个GPU上的第t次训练迭代处随机采样空间分辨率(Ht,Wt)∈ S,并计算第t次迭代的批量大小为:b_{t}=\frac{H_{n} W_{n} b}{H_{t} W_{t}}。因此,较大的批量大小用于较小的空间分辨率。这减少了每个epoch的优化器更新,并有助于更快的训练。

图5比较了标准采样器和多量程采样器。在这里,我们将PyTorch中的DistributedDataParallel称为标准采样器。总体而言,多尺度采样器(i)减少了训练时间,因为它需要更少的优化器更新和可变规模的批处理(图5 b),(ii)提高了约0.5%的性能(图10; §B),(iii)迫使网络学习更好的多尺度表示(§B),即,当在不同的空间分辨率下评估时,相同的网络与用标准采样器训练的网络相比产生更好的性能。在§B中,我们还说明了多尺度采样器是通用的,并改善了CNN的性能(例如,移动网络v2)。“

4 实验结果 

       在本节中,我们首先在ImageNet-1 k数据集上评估MobileViT的性能,并证明MobileViT比最先进的网络(§4.1节)提供更好的性能。在§4.2和§4.3中,我们分别展示了MobileViT是通用的和移动友好的。

4.1 IMAGENET-1 K数据集上的图像分类

 实现细节。我们在ImageNet-1 k分类数据集上从头开始训练MobileViT模型(Russakovsky等人,2015年)的报告。该数据集分别提供了128万和5万张图像用于训练和验证。MobileViT网络使用PyTorch在8个NVIDIA GPU上训练300个时期,使用AdamW优化器的有效批处理大小为1,024个图像(Loshchilov & Hutter,2019),标签平滑交叉熵损失(平滑=0.1),以及多尺度采样器(S = {(160,160),(192,192),(256,256),(288,288),(320,320)})。对于前3 k次迭代,学习速率从0.0002增加到0.002,然后使用余弦调度退火到0.0002(Loshchilov和Hutter,2017)。我们使用L2权重衰减为0.01。我们使用基本数据扩充(即随机调整大小的裁剪和水平翻转),并使用单个裁剪的前1位精度来评估性能。对于推断,使用模型权重的指数移动平均值。

与CNN的比较。图6a示出了MobileViT在不同网络大小上优于轻量级CNN(MobileNetv 1(霍华德et al.,2017年)、MobileNetv 2(Sandler等人,2018)、ShuffleNetv 2(Ma等人,2018年)、ESPNetv 2(Mehta等人,2019)和MobileNetv 3(霍华德等人,2019年))。例如,对于大约250万个参数的模型大小(图6 b),MobileViT在ImageNet 1 k验证集上的表现优于MobileNetv 2 5%,ShuffleNetv 2 5.4%,MobileNetv 3 7.4%。图6c进一步示出了MobileViT提供比重量级CNN更好的性能(ResNet(He等人,2016年)、DenseNet(Huang等人,2017)、ResNet-SE(Hu等人,2018)和EfficientNet(Tan & Le,2019a))。例如,对于类似数量的参数,MobileViT比EfficentNet准确2.1%。

与VIT比较。图7比较了MobileViT与在ImageNet-1 k数据集上从头开始训练而没有蒸馏的ViT变体(DeIT(Touvron等人,2021 a)、T2 T(Yuan等人,2021 b)、PVT(Wang等人,2021)、CAIT(Touvron等人,2021 b)、DeepViT(Zhou等人,2021)、CeiT(Yuan等人,2021 a)、CrossViT(Chen等人,2021 a)、LocalViT(Li等人,2021)、PiT(Heo等人,2021)、ConViT(d 'Ascoli等人,2021)、ViL(Zhang等人,2021)、BoTNet(Srinivas等人,2021)和Mobile-former(Chen等人,2021 b))。与从高级扩增中显著受益的ViT变体不同(例如,PiT(带基本功能)与高级功能:72.4(R4)与78.1(R17);图7 b),MobileViT通过更少的参数和基本增强实现了更好的性能。例如,MobileViT比DeIT小2.5倍,好2.6%(图7 b中R3与R8)。

总的来说,这些结果表明,与CNN类似,MobileViTs很容易优化。因此,它们可以很容易地应用于新的任务和数据集。

 4.2 MOBILEVIT作为一种通用的骨架结构

 为了评估MobileViT的通用性,我们在两个广泛研究的移动的视觉任务上对MobileViT进行了基准测试:(1)对象检测(§4.2.1)和(2)语义分割(§4.2.2)。

4.2.1移动的物体检测 

实验细节。我们将MobileViT与单次目标检测骨干集成在一起(SSD; Liu等人,(2016年版)。在轻量级CNN(例如,MobileNets),我们将SSD头中的标准卷积替换为可分离卷积,并将得到的网络称为SSDLite。我们使用AdamW在MS-COCO数据集上以320 × 320的输入分辨率对在ImageNet-1 k数据集上预训练的MobileViT进行了微调(Lin等人,2014年),包含117 k训练图像和5 k验证图像。我们分别使用平滑L1和交叉熵损失来进行目标定位和分类。使用mAP@IoU(0.50:0.05:0.95)在验证集上评价性能。关于其他超参数,请参见§D。 

 结果。表1a显示,对于相同的320 × 320输入分辨率,采用MobileViT的SSDLite优于采用其他轻量级CNN模型(MobileNetv 1/v2/v3、MNASNet和MixNet)的SSDLite。例如,当MobileViT代替MNASNet作为主干网时,SSDLite的性能提高了1.8%,其模型尺寸缩小了1.8倍。此外,采用MobileViT的SSDLite性能优于采用重型主干的标准SSD-300,同时学习的参数明显较少(表1b)。此外,§F中的定性结果证实了MobileViT检测各种物体的能力。

4.2.2移动的语义分割

实验细节。我们将MobileViT与DeepLabv 3集成在一起(Chen等人,(2017年版)。我们在PASCAL VOC 2012数据集上使用AdamW和交叉熵损失微调MobileViT(Everingham等人,2015年)的报告。遵循标准培训实践(例如,Chen等人,2017年; Mehta等人,2019),我们还分别使用了Hariharan等人(2011)和Lin等人(2014)的额外注释和数据。使用并集上的平均交集(mIOU)在验证集上评价性能。关于其他超参数,请参见§D。

 

 结果。表2显示,使用MobileViT的DeepLabv 3更小、更好。当使用MobileViT代替MobileNetv 2作为骨干网时,DeepLabv 3的性能提高了1.4%,并且其大小减小了1.6倍。此外,MobileViT提供了与ResNet-101模型相比具有竞争力的性能,同时所需参数减少了9倍;这表明MobileViT是一个强大的主干。此外,§G中的结果表明,MobileViT学习对象的可泛化表示,并在未见过的数据集上表现良好。

4.3在移动的设备上的性能

轻量化和低延迟网络对于实现移动的视觉应用非常重要。为了证明MobileViT在此类应用中的有效性,使用公开的CoreMLTools(2021)将预先训练的全精度MobileViT模型转换为CoreML。然后,在移动终端上测量它们的推断时间(在100次迭代上平均),即,iPhone 12.苹果手机方便移动。

图8显示了MobileViT网络在三个不同任务上使用两种补丁大小设置(Config-A:2,2,2和Config-B:8,4,2)的推断时间。这里,ConfigX中的p1、p2、p3分别表示在输出stride 2为8、16和32时贴片的高度h(宽度w = h)。与较大补丁(配置B)相比,补丁大小较小的模型(配置A)更精确。这是因为,与Config-A型号不同,Config-B型号无法对所有像素的信息进行编码(图13和§C)。另一方面,对于给定的参数预算,Config-B模型比Config-A模型快,即使在两种配置中自注意的理论复杂度相同,即,O(N_2Pd)的催化剂。对于更大的贴片尺寸(例如,P=82=64),与较小的贴片尺寸(例如,P=22=4)。此外,与Config-A相比,Config-B模型提供了更高程度的并行性,因为与较小的补片(P=4)相比,可以同时为较大的补片(P=64)中的更多像素计算自注意。因此,配置B型号比配置A型号更快。为了进一步改善MobileViT的潜伏期,线性自我注意(Wang et al.,2020年)。无论如何,两种配置中的所有模型均在移动终端上实时运行(推理速度≥ 30 FPS),但用于分割任务的MobileViT-S模型除外。这是预期的,因为与分类(256×256)和检测(320 × 320)网络相比,这些模型处理的输入更大(512×512)。

 方便移动。图8显示了MobileViT网络在三个不同任务上使用两种补丁大小设置(Config-A:2,2,2和Config-B:8,4,2)的推断时间。这里,ConfigX中的p1、p2、p3分别表示在输出stride 2为8、16和32时贴片的高度h(宽度w = h)。与较大补丁(配置B)相比,补丁大小较小的模型(配置A)更精确。这是因为,与Config-A型号不同,Config-B型号无法对所有像素的信息进行编码(图13和§C)。另一方面,对于给定的参数预算,Config-B模型比Config-A模型快,即使在两种配置中自注意的理论复杂度相同,即,O(N_2Pd)的催化剂。对于更大的贴片尺寸(例如,P=82=64),与较小的贴片尺寸(例如,P=22=4)。此外,与Config-A相比,Config-B模型提供了更高程度的并行性,因为与较小的补片(P=4)相比,可以同时为较大的补片(P=64)中的更多像素计算自注意。因此,配置B型号比配置A型号更快。为了进一步改善MobileViT的潜伏期,线性自我注意(Wang et al.,2020年)。无论如何,两种配置中的所有模型均在移动终端上实时运行(推理速度≥ 30 FPS),但用于分割任务的MobileViT-S模型除外。这是预期的,因为与分类(256×256)和检测(320 × 320)网络相比,这些模型处理的输入更大(512×512)。

 讨论。我们观察到MobileViT和其他基于ViT的网络(例如,DeIT和PiT)在移动的设备上的速度比MobileNetv 2慢(表3)。该观察结果与先前的工作相矛盾,先前的工作显示ViT与CNN相比更具有可扩展性(Dosovitskiy等人,2021年)的报告。这种差异主要是由于两个原因。首先,GPU上的转换器存在专用CUDA内核,这些内核在ViT中即开即用,以提高其在GPU上的可扩展性和效率(例如,Shoeybi等人,2019年; Lepikhin等人,2021年)的报告。其次,CNN受益于几种设备级优化,包括与卷积层的批量归一化融合(Jacob等人,(2018年版)。这些优化改进了延迟和内存访问。然而,这种用于变压器的专用和优化操作当前不可用于移动的设备。因此,针对移动的设备的MobileViT和基于ViT的网络的结果推断图是次优的。我们相信,类似于CNNs,MobileViT和ViT的推理速度在未来将通过专用的设备级操作进一步提高。

 5致谢

  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值