论文阅读:MobileViT: LIGHT-WEIGHT, GENERAL-PURPOSE,AND MOBILE-FRIENDLY VISION TRANSFORMER

发表时间:2022.03.04
论文地址:https://arxiv.org/abs/2110.02178
项目地址:https://github.com/apple/ml-cvnets
在这里插入图片描述

轻量级卷积神经网络(CNNs)实际上是移动视觉任务的首选。他们的空间归纳偏差允许他们在不同的视觉任务中以更少的参数学习表征。然而,这些网络在空间上是局部的。为了学习全局表示,我们采用了基于self-attention的视觉Transformer(ViTs)。与cnn不同,vit是参数量级的。在本文中,我们提出了以下问题:是否有可能结合cnn和ViTs的优势来构建一个用于移动视觉任务的轻量级和低延迟网络?为此,我们介绍了MobileViT,一种用于移动设备的轻型和通用的视觉Transformer。MobileViT为使用Transformer的全局信息处理提供了一个不同的视角。我们的结果显示,MobileViT在不同的任务和数据集上的性能显著优于基于cnn和vit的网络。在ImageNet-1k数据集上,MomileViT在大约600万个参数下达到了78.4%的前1精度,在类似数量的参数下比MobileNetv3(基于cnn)和DeIT(基于ViT)高3.2%和6.2%。在MS-COCO目标检测任务中,对于相同数量的参数,MobileViT的准确率比MobileNetv3高5.7%。

1、INTRODUCTION

基于self-attention的模型,特别是视觉Transformer,是卷积神经网络(CNNs)学习视觉表征的替代方法。简单地说,ViT将图像分割成一系列不重叠的patch,然后在Transformer中使用多头自注意学习patch间表示,总体趋势是增加ViT网络的参数数量以提高性能。然而,这些性能改进是以模型大小(网络参数)和延迟为代价的。许多现实世界的应用程序(例如,虚拟现实和自动驾驶)需要视觉识别任务(例如,目标检测和语义分割)才能及时地在资源受限的移动设备上运行。为了变得有效,用于此类任务的ViT模型应该轻而快速,去减少ViT模型的模型尺寸以匹配移动设备的资源约束,它们的性能也明显低于轻型cnn。例如,对于约500-600万参数的规模下,DeIT(Touvron等人,2021年a)的准确性比MobileNetv3低3%(Howard等人,2019年)。因此,需要设计轻量级的ViT模型是势在必行。

1、ViT的发展趋势是通过增加参数量来提升性能
2、现在的一些轻量化的ViT模型在移动端上,性能总是低于一些轻量型的cnn

轻量级的cnn已经为许多移动视觉任务提供了动力。然而,基于vit的网络仍远未在这些设备上使用。与易于优化和与特定任务网络集成不同,ViTs是很重的(例如,ViT-B/16 vs。MobileNetv3:86 vs 7.5万参数),大参数意味着难优化,需要广泛的数据增强和L2正则化以防止过拟合,并且需要昂贵的解码器,特别是对于密集预测任务。例如,一个基于vit的分割网络(Ranftl等人,2021)学习了约3.45亿个参数,仅实现了与基于cnn的网络DeepLabv3(2017)相似的性能,具有5900万个参数。在基于vit的模型中需要更多的参数,可能是因为它们缺乏特定图像的归纳偏差,这是cnn固有的优势(2021)。为了建立健壮和高性能的ViT模型,结合了卷积和Transformer的混合方法正在备受关注。然而,这些混合模型仍然是重的,对数据增强敏感。例如,移除CutMix(2020年)和DeIT-style(2021年)的数据增强会导致模型在ImageNet准确性显著下降(从78.1%至72.4%)。

1、ViT的参数比较多,需要使用广泛的数据增强和L2正则化来防止过拟合,并使得解码器更大了
2、ViT缺乏了cnn固有的归纳偏置,故需要更多的参数
3、现有的CNN+ViT混合模型,权重比较大,仍然需要更多的数据增强

结合cnn和Transformer的优势来为移动视觉任务构建ViT模型仍然是一个悬而未决的问题。移动视觉任务需要轻量级、低延迟和准确的模型来满足设备的资源约束,并且是通用的,因此它们可以应用于不同的任务(例如,分割和检测)。请注意,浮点操作(FLOPs)对于移动设备上的低延迟是不够的,因为FLOPs忽略了几个重要的推理相关因素,如内存访问、并行程度和平台特性。例如,Heo等人(2021年)的基于vit方法的PiT比DeIT少3×(Touvron等人,2021a),但在移动设备上具有类似的推理速度(DeIT vs。iPhone上的PiT-12:10.99 ms vs. 10.56 ms)。因此,本文没有对FLOPs1进行优化,而是重点设计一个轻量级、通用和低延迟的网络。我们通过MobileViT实现了这一目标,它结合了cnn(如空间归纳偏差和对数据增强的较低敏感性)和ViTs(如输入-自适应加权和全局处理)的好处。具体来说,我们引入了MobileViT Block,它可以有效地在张量中编码局部和全局信息(图1b)。

1、在移动端使用FLOP评价模型性能是不够的,其忽略了内存访问成本、并行程度、和硬件优化
2、在移动端FLOP高的模型,可能运行速度跟FLOP低的一样块
![](https://img-blog.csdnimg.cn/img_convert/c6c29f47c66c1cffbd721fed7ee7b282.png#pic_center)

与ViT及其变体不同(有和没有卷积),MobileViT提供了一个不同的视角来学习全局表示。标准卷积包括三个操作:展开、局部处理、折叠。MobileViT块将卷积中的局部处理与使用Transformer的全局处理取代。这使得MobileViT块具有类似CNN和ViT的属性,这有助于它用更少的参数和简单的训练方法(如基本增强)学习更好的表示。据我们所知,这是第一个表明可以通过简单的训练实现轻型cnn水平的性能。对于大约500-600万的参数预算,MobileViT在ImageNet-1k数据集上达到了78.4%的前1个精度(俄罗斯萨科夫斯基等人,2015),比MobileNetv3的精度高3.2%,并且有一个简单的训练方法(MobileViT vs。MobileNetv3: 300 vs. 600个时代;1024 vs. 4096batchsize)。我们还观察到,当MobileViT在高度优化的移动视觉任务特定架构中被用作特性主干时,性能有了显著的提高。用MobileViT作为SSDLite的特征主干取代SSDLite,可以得到更好的(+1.8% mAP)和更小的(1.8×)检测网络(图2)。

1、将标准卷积定义为:展开、局部处理、折叠
2、将卷积中的局部处理与使用Transformer的全局处理取代
3、MobileViT通过简单的训练即可达到轻量cnn的水平

2 RELATED WORK

Light-weight CNNs. cnn的基本构建层是标准卷积层。由于该层的计算成本较高,人们提出了几种基于因子分解的方法,使其轻量级和移动友好。其中,Chollet的可分离卷积已经引起了兴趣,并在最先进的轻量级cnn中广泛用于移动视觉任务,包括MoblieNet(2017-2018-2019)、ShuffleNet(2018)、ESPNetv2(2019)、MixNet(2019)和MNASNet(2019)。这些轻量级的cnn是多功能的,易于训练。例如,这些网络可以很容易地替换现有的特定任务模型(如DeepLabv3)中的参数量级骨干(如ResNet,2016),以减少网络规模和提高延迟。尽管有这些好处,但这些方法的一个主要缺点是它们在空间上是局部的。本文的工作将Transformer视为卷积;允许利用卷积(例如,通用和简单的训练)和Transformer(例如,全局处理)的优点来构建轻量级和通用的ViTs。

1、现有的轻量化cnn模型有:MoblieNet(2017-2018-2019)、ShuffleNet(2018)、ESPNetv2(2019)、MixNet(2019)和MNASNet(2019)
2、现有的轻量化cnn模型在处理空间特征上是局部的,MobileViT将Transformer视为卷积;利用卷积(例如,通用和简单的训练)和Transformer(例如,全局处理)的优点来构建轻量级和通用的ViTs。

Vision transformers. ViT(2021)将Transformer应用于大规模图像识别,并表明使用极大规模的数据集(如JFT-300M),ViTs可以实现cnn水平的精度,而无需图像特定的归纳偏差。通过大量的数据增强、大量的L2正则化和蒸馏,可以在ImageNet数据集上训练vit,以达到cnn级别的性能。然而,与cnn不同的是,ViTs显示出不合格的可优化性,而且难以训练。后续工作都表明,这种不合格的可优化性是由于ViTs中缺乏空间归纳偏差。在ViTs中使用卷积来合并这种偏差可以提高它们的稳定性和性能。有很多的混合结构已经被探索,以获得卷积和Transformer的好处。例如,Xiao等人的ViT-c(2021)为ViT添加了一个早期的卷积干。CvT(2021)修改了Transformer中的多头注意,并使用深度可分离卷积而不是线性投影。BoTNet(2021)用多头注意力取代了ResNet瓶颈单元中的标准3×3卷积。ConViT(2021)使用门控位置自注意合并了软卷积归纳偏差。PiT(2021)通过基于深度卷积的池化层扩展了ViT。虽然这些模型可以通过广泛的增强来实现与cnn的竞争性能,但这些模型大多数是重的。例如,PiT和CvT比EfficientNet(2019)多学习6.1×和1.7×的参数,仅在ImageNet-1k数据集上实现了类似的性能(前1个精度约为81.6%)。此外,当这些模型被缩小以构建轻量级ViT模型时,它们的性能明显低于轻量级cnn。对于大约600万的参数预算,PiT的ImageNet-1k精度比MobileNetv3低2.2%。

1、通过大量的数据增强、大量的L2正则化和蒸馏,可以在ImageNet数据集上训练vit,以达到cnn级别的性能;但ViT的可优化性比较差
2、将cnn固有的归纳偏置应用到ViT中,可以实现与CNN的竞争,但参数量仍然较大。

Discussion. 与普通的vit相比,结合卷积和Transformer可以产生健壮和高性能的vit。然而,这里的一个悬而未决的问题是:如何结合卷积和Transformer的优势,为移动视觉任务构建轻量级的网络?本文重点设计轻量级的ViT模型,优于先进的模型与简单的训练方法。为此,我们引入了MobileViT,它结合了cnn和vit的优势,构建了一个轻便、通用和移动友好的网络。MobileViT带来了一些新的观察结果。(i) Better performance: 在有限的参数内,MobileViT与现有的轻量级中枢神经网络相比,在不同的移动视觉任务中获得了更好的性能。(ii) Generalization capability: 泛化能力是指培训指标和评估指标之间的差距。对于具有相似训练指标的两个模型,具有更好的评估指标的模型更容易一般化,因为它可以在一个看不见的数据集上进行更好的预测。与之前的ViT变体(带cnn或不带)不同,与cnn相比,即使使用广泛的数据增强,也显示出较差的泛化能力,MobileViT显示出更好的泛化能力(图3)

(iii) Robust: 一个好的模型应该对超参数(例如,数据增强和L2正则化)具有鲁棒性,因为调优这些超参数是耗时和耗资源的。与大多数基于ViT的模型不同,MobileViT模型采用基本的增强训练,并且对L2正则化不那么敏感。

3 MOBILEVIT: A LIGHT-WEIGHT TRANSFORMER

标准ViT模型,如图1所示,将输入输出X(H×W×C)转换为X`(NxPC),然后投影到d维空间F×(Nxd),然后学习使用堆栈LTransformer块的特征表示。视觉Transformer的自注意的计算代价为O( N 2 d N^2d N2d)。这里,C、H、W分别表示通道、张量的高度和宽度,P=wh (w,h为patch的大小),N为block数。因为这些模型忽略了cnn固有的空间归纳偏差,它们需要更多的参数来学习视觉表征。例如,基于ViT的网络DPT(2021)比基于×的网络DeepLabv3(2017)多学习6倍的参数,却仅提供以提供类似的分割性能(DPT vs。DeepLabv3: 345 M vs. 59 M)。此外,与cnn相比,这些模型表现出不合格的可优化性,这些模型对L2正则化很敏感,需要大量的数据扩充以防止过拟合。

本文介绍了一种轻量级的ViT模型,MobileViT。其核心思想是学习使用Transformer作为卷积的全局表示。这使得我们可以轻松地在网络中隐式地合并类似卷积的属性(例如,空间偏差),通过简单的训练方法学习(例如,基本增强)的表示,并轻松地将MobileViT与下游架构(例如,DeepLabv3用于分割)集成。

3.1 MOBILEVIT ARCHITECTURE

MobileViT block. MobireViT块,如图1b所示,旨在在一个具有更少参数的输入张量中建模局部和全局信息。形式上,对于给定的输入张量 X ∈ R H × W × C X∈R^{H×W×C} XRH×W×C,MobileViT应用一个标准卷积层,然后是一个点向(或1×1)卷积层来产生 X L ∈ R H × W × d X_L∈R{H×W×d} XLRH×W×d。n×n个卷积层编码局部空间信息,而点卷积通过学习输入通道的线性组合将张量投影到高维空间(或×维,其中d > C)。

使用MobileViT,我们想要建模长期非局部依赖,同时有一个有效的接受域。空洞卷积被广泛研究的建模长期依赖的方法之一。然而,这种方法需要仔细选择膨胀率。否则,权重应用于填充的零,而不是有效的空间区域。另一个有希望的解决方案是self-attention。在自注意方法中,具有多头自注意的视觉Transformer(ViTs)对视觉识别任务是有效的。然而,vit的参数量很重,并表现出不符合标准的可优化性。

使MobileViT能够学习具有空间归纳偏差的全局表征,我们将conv的输出展开为N个不重叠的patch(本质就是将conv输出格式转换为transformer所需的格式),然后使用Transformer提取图像的全局特征,此后将Transformer的输出转换为cnn所需的输入格式,最后再使用点卷积将维度投影到较低的空间。注意,conv对局部区域进行特征变量,而Transformer对p个patch的全局信息进行编码,Transformer中的每个像素可以编码X中所有像素的信息,如图4所示。因此,MobileViT的整体有效感受域为H×W。

Relationship to convolutions. 标准卷积可以看作是由三个顺序操作组成的堆栈:(1)展开、(2)矩阵乘法(以学习局部表示)和(3)折叠。MobileViT块类似于卷积,因为它也利用了相同的构建块。MobileViT块用更深入的全局处理(一堆Transformer层)代替了卷积中的局部处理(矩阵乘法)。因此,MobileViT具有类似卷积的特性(例如,空间偏差)。因此,MobileViT块可以视为卷积。我们有意的简单设计的一个优点是,卷积和Transformer的低级高效实现可以开箱即用;允许我们在不同的设备上使用MobileViT,而无需任何额外的努力。

Light-weight. MobileViT块分别使用标准卷积和Transformer来学习局部和全局表示。因为之前的工作已经表明使用这些层设计的网络参数量大,一个自然的问题出现了:为什么MobileViT参数量轻?我们认为,问题主要在于使用Transformer学习全局表示。对于一个给定的patch,以前的工作通过学习像素的线性组合将空间信息转换为潜在信息(图1a)。然后,通过使用Transformer学习patch间的信息来对全局信息进行编码。因此,这些模型失去了cnn固有的特定图像的归纳偏差。因此,它们需要更多的能力来学习视觉表示。因此,它们是深而又宽的。与这些模型不同的是,MobileViT使用卷积和Transformer的方式,使生成的MobileViT块具有类似卷积的特性,同时允许全局处理。这种建模能力允许我们设计浅层和狭窄的MobileViT模型,进而参数量轻。与使用L=12和d=192的基于vit的模型DeIT相比,MobileViT模型分别在空间水平{32×32、16×16、8x8}上使用L= {2、4、3},d={96、120、144}。由此产生的MobileViT网络比DeIT网络更快(1.85×),更小(2×),也更好(+1.8%)(表3;4.3)。

Computational cost. MobileViT和ViTs(图1a)中多头自注意的计算代价分别为 O ( N 2 P d ) O(N^2P d) ON2Pd O ( N 2 d ) O(N^2d) ON2d。理论上,MobileViT与ViTs相比是低效的。然而,在实践中,MobileViT比vit更有效。在MmaigeVit-1×数据集上,MobileViT的FLOP减少了2个×,准确率比DeIT高1.8%(表3;4.3)。我们认为,这是由于与轻量设计(上面讨论过的)类似的原因。

MobileViT architecture. 我们的网络受到了轻量级cnn哲学的启发。我们训练了三种不同的网络大小(S:模型,XS:超小模型,XXS:超小模型,这些模型通常用于移动视觉任务(图3c)。MobileViT的初始层是一个分层的3×3标准卷积,然后是MobileNetv2(或MV2)block和MobileViT block(图1b)。

我们使用Swish(2018)作为激活函数。根据CNN模型,我们在MobileViT block中设置n=3。特征图的空间维度通常是2的倍数。因此,我们在所有空间水平上设置h=w=2,没看懂。(Therefore, we set h = w = 2 at all spatial
levels)。MobileViT网络中的MV2块主要负责降采样。因此,这些数据块在MobileViT网络中是浅而窄的。图3d中MobileViT的空间层面参数分布进一步表明,在不同的网络配置中,MV2块对总网络参数的贡献非常小。

3.2 MULTI-SCALE SAMPLER FOR TRAINING EFFICIENCY

在基于vit的模型中,学习多尺度表示的一种标准方法是进行微调。例如,Touvron等人(2021a)在不同尺寸的224×224的DeIT模型进行微调。这种学习多尺度表示的方法对于ViTs更可取,因为位置嵌入需要基于输入大小进行插值,而网络的性能对插值方法是主观的。与cnn类似,MobileViT不需要任何位置嵌入,它可能受益于训练期间的多尺度输入。
之前基于cnn的工作已经表明,多尺度训练是有效的。然而,这些工作中的大多数都是在经过固定次数的迭代后采样一个新的空间分辨率。例如,YOLOv2(Redmon & Farhadi,2017)在每10次迭代中从一个预定义的集合中采样一个新的空间分辨率,并在训练期间跨不同的gpu使用相同的分辨率。这导致GPU利用率不足和训练速度较慢,因为所有分辨率都使用相同的batchsize(使用预定义集中的最大空间分辨率确定)。为了方便MobileViT在不进行微调的情况下学习多尺度表示,并进一步提高训练效率(即,更少的优化更新),我们将多尺度训练方法扩展到不同大小的batchsize。
给定一组排序的空间分辨率= {( H 1 , W 1 H_1,W_1 H1,W1),···,( H n , W n H_n,W_n Hn,Wn)}和批大小b的最大空间分辨率( H n , W n H_n,W_n Hn,Wn),我们随机抽样空间分辨率( H t , W t H_t,W_t Ht,Wt)训练迭代在每个GPU迭代计算批量迭代,其中 b t = H n ∗ W n ∗ b H t ∗ W t b_t = \frac{H_n*W_n*b}{H_t*W_t} bt=HtWtHnWnb。j将更大的batchsize被用于更小的空间分辨率。这减少了每个时代的优化器更新,并有助于更快的训练。

图5比较了标准的和多尺度的采样器。在这里,我们将PyTorch中的分布式数据并行作为标准采样器。总的来说,多尺度采样器(i)减少了训练时间,因为它需要更少的不同大小的批次的优化器更新(图5b),(ii)性能提高了约0.5%(图10;),(iii)迫使网络学习更好的多尺度表示,也就是说,与使用标准采样器训练的那个相比,在不同的空间分辨率下,相同的网络会产生更好的性能。在附件B中,我们还证明了多尺度采样器是通用的,并提高了cnn(例如,MobileNetv2)的性能。

4 EXPERIMENTAL RESULTS

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

4.1 IMAGE CLASSIFICATION ON THE IMAGENET-1K DATASET

Implementation details. 我们在ImageNet-1k分类数据集上从头开始训练MobileViT模型。该数据集分别提供了128万张和5万张图像用于训练和验证。MobileViT网络训练300个epoch,在8个GPU上设置batchsize为1024,使用AdamW优化器,标签平滑交叉熵损失(smoothing=0.1),和多尺度采样器{(160x160),(192x192),(256x256),(288x288),(320x320)}。在前3k次迭代中,学习率从0.0002增加到0.002,然后使用余弦时间表退火到0.0002。我们使用l2权重衰减为0.01。我们使用基本的数据增强(即,随机调整大小的种植和水平翻转),并使用单一crop的前1位精度来评估性能。对于推理,使用了模型权值的指数移动平均值(EMA模型)。

Comparison with CNNs. 图6a显示,在不同网络规模下,Mobilenet V(2017)、MobileNetv2(2018)、ShuffleNetv2(2018)、ESPNetv2 (2019)优于轻量级网络网络。例如,对于大约250万参数的模型大小(图6b),在ImageNet-1k验证集上,MobileVit比MobileNetv2好5%,比ShuffleNetv2好5.4%,比MobileNetv3好7.4%。图6c进一步显示,MobileViT比重量级cnn(ResNet,2016)、DenseNet(2017)、ResNet-SE(2018)和EffecientNet(2019)提供更好的性能。例如,对于类似数量的参数,MobileViT的准确性比EffecientNet高2.1%。

Comparison with ViTs. 图7比较了MobileViT和各种ViT模型的变体()在从头训练的ImageNet1k数据集的效果。与从高级增强中显著受益的ViT变体不同,MobileViT通过更少的参数和基本增强实现了更好的性能。例如,MobileViT比DeIT小2.5×,好2.6%(图7b中的R8)。

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

4.2 MOBILEVIT AS A GENERAL-PURPOSE BACKBONE

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

4.2.1 MOBILE OBJECT DETECTION

Implementation details. 我们将MobileViT与 single shot object detection backbone集成(SSD;2016)。根据轻量级的cnn(如MobileNets),我们用可分离的卷积替换SSD头中的标准卷积,并将生成的网络称为SSDLite。我们在MS-COCO数据集(Lin et al.,2014)上,以320×320的输入分辨率微调MobileViT,该数据集包含117k训练和5k验证图像。我们分别使用平滑的l1和交叉熵损失来进行目标定位和分类。使用0.50:0.05:0.95的mAP@IoU在验证集上评估性能。有关其他超参数,请参见附件D。

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

4.2.2 MOBILE SEMANTIC SEGMENTATION

Implementation details. 我们将MobileViT与DeepLabv3集成(Chen等人,2017)。我们在PASCAL VOC 2012数据集上使用具有交叉熵损失的mobileViT(2015)。按照标准的训练过程,我们还分别使用了来自Hariharan等人(2011)和Lin等人(2014)的额外标注和数据。在使用并集上的平均交集(mIOU)的验证集上评估性能。有关其他超参数,请参见附件D。
Results. 表2显示,使用MobileViT的DeepLabv3更小更好。当使用MobileViT代替MobileNetv2作为骨干时,DeepLabv3的性能提高了1.4%,其尺寸减少了1.6×。此外,MobileViT为ResNet-101模型提供了具有竞争力的性能,同时需要9×更少的参数;这表明MobileViT是一个强大的骨干。此外,G中的结果表明,MobileViT学习了对象的可泛化表示,并在一个不可见的数据集上表现良好

4.3 PERFORMANCE ON MOBILE DEVICES

轻量级和低延迟的网络对于移动视觉应用程序非常重要。为了证明MobileViT在此类应用中的有效性,使用公开的CoreMLTools(2021)将预先训练好的全精度MobileViT模型转换为CoreML。然后在一个移动设备上,即iPhone 12上测量他们的推断时间(平均超过100次迭代)。

Mobile-friendly. 图8显示了两个patch大小设置((Config-A: 2, 2, 2 , Config-B: 8, 4, 2)的MobileViT网络在三个不同任务上的推理时间。这里ConfigX中的p1、p2、p3分别表示输出步幅2为8、16和32时patch的高度h(宽度w = h)。与较小的patch(Config-B)相比,具有较小的patch尺寸(Config-A)的模型更准确。这是因为,与Config-A模型不同,Config-B模型不能编码来自所有像素的信息(图13和C)。


另一方面,对于给定的参数预算,Config-B模型比Config-A快,尽管自注意的理论复杂性相同,即 O ( N 2 P d ) O(N^2P d) ON2Pd。 对于较大的patch尺寸(例如, P = 8 2 = 64 P=8^2=64 P=82=64),与较小的patch尺寸(例如, P = 2 2 = 4 P=2^2=4 P=22=4)相比,我们的patch数量更少。因此,自注意的计算成本相对较小。此外,与Config-A相比,Config-B模型提供了更高程度的并行性,因为与较小的patch(P=4)相比,在较大的patch(P=64)中可以同时计算更多像素的self-attention。因此,Config-B模型比Config-A更快。为了进一步提高MobileViT的实时性,可以使用线性self-attention(2020)。无论如何,除了用于分割任务的MobileViT-S模型外,所有两种配置下的模型都能在移动设备上实时运行(推理速度为≥30 FPS)。这是预期的,因为与分类(256×256)和检测(320×320)网络相比,这些模型处理更大的输入(512×512)。

Discussion 我们观察到,在移动设备上,MobileViT和其他基于vit的网络(如DeIT和PiT要慢,表3)。这一观察结果与之前的研究结果相矛盾,该研究表明ViTs比cnn更具可伸缩性。这种差异主要有两个原因。首先,gpu上的Transformer存在专用的CUDA内核,在vit中开箱即用,以提高其在gpu上的可扩展性和效率。其次,cnn受益于几个设备级的优化,包括与卷积层的批处理归一化融合(2018)。这些优化方法提高了延迟和内存访问能力。然而,这种专用的Transformer优化操作目前还不适用于移动设备。因此,针对移动设备的MobileViT和基于vit的网络的结果推理图是次优的。我们相信,与cnn类似,MobileViT和ViT的推理速度将随着专用设备级操作进一步提高。

猜你喜欢

转载自blog.csdn.net/a486259/article/details/131485111