论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》

文章目录

  • ABSTRACT
  • 1、INTRODUCTION
  • 2、RELATED WORK
  • 3、MOBILEVIT: A LIGHT-WEIGHT TRANSFORMER
    • 3.1、MOBILEVIT ARCHITECTURE
    • 3.2 MULTI-SCALE SAMPLER FOR TRAINING EFFICIENCY
  • 4、EXPERIMENTAL RESULTS
    • 4.1、IMAGENET-1 K数据集上的图象分类
    • 4.2、MobileVIT作为通用backbone
      • 4.2.1、MOBILE OBJECT DETECTION
      • 4.2.2、MOBILE OBJECT DETECTION
    • 4.3、PERFORMANCE ON MOBILE DEVICES
  • 讨论

ABSTRACT

翻译

  轻量级的卷积神经网络(cnn)实际上是用于移动视觉任务的。他们的空间归纳偏置允许他们在不同的视觉任务中以更少的参数学习表征。然而,这些网络是空间局部的。为了学习全局表示,采用了基于自我注意的Vision Transoformer(vit)。与cnn不同,vit是重量级的。在本文中,我们提出了以下问题:是否有可能结合cnn和vit的优势,构建一个轻量级、低延迟的移动视觉任务网络?为此,我们引入了MobileViT,一种用于移动设备的轻量级通用vision transformer。MobileViT为Transformer的全局信息处理提供了一个不同的视角。我们的结果表明,MobileViT在不同的任务和数据集上显著优于基于CNN 和 VIT-base的网络。在ImageNet-1k数据集上,MobileViT以大约600万个参数获得了78.4%的最佳精度,在相同数量的参数下,比MobileNetv3(基于cnn)和DeIT(基于viti)的精度分别高出3.2%和6.2%。在MS-COCO目标检测任务中,对于类似数量的参数,MobileViT比MobileNetv3的精度高5.7%。我们的源代码是开源的,可以在以下网站获取:https://github.com/apple/ml-cvnets.


精读

  • CNN的优势和不足:CNN归纳偏置的特性允许他们在不同的视觉任务中以更少的参数学习表征,但是这些网络是空间局部的。
  • Transoformer的优势和不足:能够注意到全局信息,但是参数量太大
  • 改进思想:是否有可能结合cnn和vit的优势,构建一个轻量级、低延迟的移动视觉任务网络?
  • 提出的方法:MobileViT
  • 效果:在600万的参数下获得了78.4%的,比MobileNetV3和DeIT的表现好

1、INTRODUCTION

翻译

  基于自我注意力的模型,特别是Vision Transformer(ViTs;图1a; Dosovitskiy等人,2021),是卷积神经网络(CNN)的替代方案,用于学习视觉表示。简单地说,ViT将图像划分为一系列非重叠的patch,然后使用transformers中的多头自注意力来学习patch间的表示(Vaswani等人,2017年)。总的趋势是增加ViT网络中的参数数量以提高性能(例如,Touvron等人,2021 a; Graham等人,2021; Wu等人,2021年)。然而,这些性能改进是以模型大小(网络参数)和延迟为代价的。许多现实世界的应用程序(例如,增强现实和自主轮椅)需要视觉识别任务(例如,对象检测和语义分割)以及时地在资源受限的移动的设备上运行。为了有效,用于此类任务的ViT模型应该是轻量级和快速的。即使ViT模型的模型大小被减小以匹配移动的设备的资源约束,它们的性能也明显比轻量级CNN差。例如,对于约5-6百万的参数预算,DeIT(Touvron等人,2021 a)比MobileNetv 3(霍华德等人,2019年)。因此,设计轻量化的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 et al.,2017),有5900万个参数。在基于ViT的模型中需要更多参数可能是因为它们缺乏CNN固有的图像特异性归纳偏差(Xiao et al.,2021年)。为了构建鲁棒且高性能的ViT模型,结合联合CNN和Transformer的混合方法正引起人们的兴趣(Xiao等人,2021; d 'Ascoli等人,2021; Chen等人,2021 b)。然而,这些混合模型仍然是重量级的,并且对数据增强敏感。例如,去除CutMix(Zhong等人,2020)和DeIT风格(Touvron等人,2021 a)数据增强导致Heo等人(2021)的ImageNet准确率显著下降(78.1%至72.4%)。

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


精读

之前VIT的不足:
1)总的趋势是增加ViT网络中的参数数量以提高性能,这些性能改进是以模型大小(网络参数)和延迟为代价的。
2)参数量小的VIT模型不如CNN
3)VIT难以优化,需要广泛的数据增强和L2正则化,以防止过度拟合
4)不能只以FLOP作为速度的衡量标准,还要考虑存储器访问、并行度和平台特性等

本文的目的
设计一个轻量化的VIT网络,需要满足设备资源约束的轻量级、低延迟和准确,并且是通用的,使得它们可以应用于不同的任务

提出的方法
设计了一个MobileViT块:使用transformer将卷积中的局部处理替换为全局处理

达到的效果
模型更小、更准确


2、RELATED WORK

翻译

   轻量级CNN。 CNN中的基本构建层是标准卷积层。由于这一层在计算上是昂贵的,因此已经提出了几种基于因子分解的方法来使其重量轻且移动友好(例如,Jin等人,2014; Chollet,2017; Mehta等人,2020年)。其中,Chollet(2017)的可分离卷积引起了人们的兴趣,并广泛用于最先进的轻量级CNN,用于移动的视觉任务,包括MobileNets(霍华德et al.,2017; Sandler等人,2018;霍华德等人,2019)、ShuffleNetv 2(Ma等人,2018)、ESPNetv 2(Mehta等人,2019),MixNet(Tan & Le,2019 b)和MNASNet(Tan等人,2019年)。这些轻量级的CNN是通用的,易于训练。例如,这些网络可以容易地替换重量级骨干网(例如,ResNet(He等人,2016))中的现有任务特定模型(例如,DeepLabv 3),以减少网络规模和改善延迟。尽管有这些好处,这些方法的一个主要缺点是,它们是空间局部的。这项工作将transformers视为卷积;允许利用两种卷积的优点(例如,通用和简单的训练)和transformer(例如,全局处理)来构建轻量级(§3)和通用(§4.1和§4.2)ViT。

  Vision transformers。 Dosovitskiy等人(2021)将Vaswani等人(2017)的transformer应用于大规模图像识别,并表明对于超大规模数据集(例如,JFT-300 M),ViT可以实现CNN级的精度,而无需图像特定的归纳偏置。通过广泛的数据增强、重L2正则化和蒸馏,可以在ImageNet数据集上训练ViTs,以实现CNN级性能(Touvron et al.,2021 a;B; Zhou等人,2021年)。然而,与CNN不同的是,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)修改了transformers中的多头注意力,并使用深度可分离卷积代替线性投影。BoTNet(Srinivas等人,2021)用多头注意力取代了ResNet瓶颈单元中的标准3×3卷积。ConViT(d 'Ascoli等人,2021)使用门控位置自注意合并软卷积归纳偏置。PiT(Heo等人,2021)扩展了ViT与基于深度卷积的池化层。虽然这些模型可以通过广泛的增强实现与CNN竞争的性能,但这些模型中的大多数都是重量级的。例如,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相比,结合卷积和transformer可以产生鲁棒和高性能的ViT。然而,一个悬而未决的问题是:如何将cnn和transformer的优势结合起来,为移动的视觉任务构建轻量级网络?本文的重点是设计轻量级的ViT模型,这些模型通过简单的训练配方优于最先进的模型。为此,我们引入了MobileViT,它结合了CNN和ViT的优势,构建了一个轻量级、通用和移动友好的网络。MobileViT带来了一些新的观察。(i)更好的性能: 对于给定的参数预算,与现有的轻量级CNN相比,MobileViT模型在不同的移动视觉任务中实现了更好的性能(§4.1和§4.2)。(ii)泛化能力: 泛化能力是指训练和评估指标之间的差距。对于具有相似训练指标的两个模型,具有更好评估指标的模型更具可推广性,因为它可以在看不见的数据集上进行更好的预测。与先前的ViT变体(具有和不具有卷积)不同,与CNN相比,即使具有广泛的数据增强,ViT变体也显示出较差的泛化能力(Dai等人,2021年),MobileViT显示出更好的泛化能力(图3)。(iii)鲁棒性: 一个好的模型应该对超参数(例如,数据增强和L2正则化),因为调整这些超参数是耗时且耗费资源的。与大多数基于ViT的模型不同,MobileViT模型使用基本增强进行训练,对L2正则化不太敏感(§C)。


精读
主要内容
介绍了轻量化CNN、VIT和两者的混合

MobileVIT的特点
1) 更好的性能
2)更轻的泛化能力
3)更强的鲁棒性:MobileViT模型使用基本增强进行训练,对L2正则化不太敏感


3、MOBILEVIT: A LIGHT-WEIGHT TRANSFORMER

翻译

  如图1a所示,标准ViT模型将输入X ∈ R^H×W×C重新整形为一系列平坦的补丁Xf ∈ RN×PC,将其投影到固定的d维空间Xp ∈ RN×d中,然后使用L个Transformer块的堆栈学习patch间表示。在Vision Transformer中,自我注意的计算成本是O(N2 d)。这里,C、H和W分别表示张量的通道、高度和宽度,并且P = wh是具有高度h和宽度w的patch中的像素的数量,并且N是patch的数量。由于这些模型忽略了CNN固有的空间归纳偏差,因此它们需要更多的参数来学习视觉表示。例如,DPT(Dosovitskiy等人,2021),一个基于ViT的网络,与DeepLabv 3相比,学习了6倍多的参数(Chen et al.,2017),一个基于CNN的网络,提供类似的分割性能(DPT与DeepLabv 3:345 M与59 M)。此外,与CNN相比,这些模型表现出低于标准的可优化性。这些模型对L2正则化敏感,并且需要大量的数据增强以防止过拟合(Touvron等人,2021 a; Xiao等人,2021年)。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第1张图片
  本文介绍了一种轻量级的ViT模型MobileViT。核心思想是学习全局表示,将transformer作为卷积。这允许我们隐式地合并卷积类属性(例如,空间偏差),用简单的训练配方学习表示(例如,基本增强),并轻松集成MobileViT与下游架构(例如,DeepLabv3用于分割)。


精读

主要内容
介绍了MobileViT的核心思想:将transformer运用在卷积模块中学习全局表示。


3.1、MOBILEVIT ARCHITECTURE

翻译

  MobileViT块。MobileViT块,如图1b所示,旨在用更少的参数在输入张量中对局部和全局信息进行建模。形式上,对于给定的输入张量X ∈ RH×W×C,MobileViT应用n × n标准卷积层,然后是逐点(或1×1)卷积层,以产生XL ∈ RH×W×d。n×n卷积层编码局部空间信息,而逐点卷积通过学习输入通道的线性组合将张量投影到高维空间(或d维,其中d > C)。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第2张图片
  使用MobileViT,我们希望在具有H ×W的有效感受野的同时对长距离非局部依赖性进行建模。一个广泛研究的方法来建模长距离依赖性是扩张卷积。然而,这种方法需要仔细选择扩张率。否则,权重被应用于填充的零而不是有效的空间区域(Yu & Koltun,2016; Chen等人,2017; Mehta等人,2018年)。另一个有希望的解决方案是self-attention(Wang et al.,2018; Ramachandran等人,2019; Bello等人,2019; Dosovitskiy等人,2021年)。在自我注意力方法中,具有多头自我注意力的视觉transformer(ViTs)被证明对视觉识别任务是有效的。然而,ViT是重量级的,并表现出低于标准的优化能力。这是因为ViTs缺乏空间感应偏差(Xiao et al.,2021; Graham等人,2021年)。

  为了使MobileViT能够学习具有空间归纳偏置的全局表示,我们将XL展开为N个不重叠的平坦patch XU ∈ RP×N×d。这里,P = wh,N = HW/P是patch的数量,并且h ≤ n和w ≤ n分别是patch的高度和宽度。对于每个p ∈ {1,· · ·,P},通过应用transformer对片间关系进行编码,以获得XG ∈ RP×N×d
XG( p) = Transformer(XU( p)),1 ≤ p ≤ P

  与丢失像素空间顺序的ViT不同,MobileViT既不会丢失patch顺序,也不会丢失每个补丁内像素的空间顺序(图1b)。因此,我们可以折叠XG ∈ RP×N×d,得到XF ∈ RH×W×d。然后使用逐点卷积将XF投影到低C维空间,并通过concatenation操作与X组合。然后使用另一个n × n卷积层来融合这些级联特征。请注意,由于XU(p)使用卷积对来自n × n区域的局部信息进行编码,而XG(p)对第p个位置的P个patch的全局信息进行编码,因此XG中的每个像素都可以对来自X中所有像素的信息进行编码,如图4所示。因此,MobileViT的整体有效感受野为H ×W。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第3张图片
  与卷积的关系。 标准卷积可以被视为三个顺序操作的堆栈:(1)展开,(2)矩阵乘法(学习局部表示)和(3)折叠。MobileViT块类似于卷积,因为它也利用了相同的构建块。MobileViT块将卷积中的局部处理(矩阵乘法)替换为更深层次的全局处理(Transformer层的堆栈)。因此,MobileViT具有类似卷积的属性(例如,空间偏差)。因此,MobileViT块可以被看作是卷积的变换器。我们有意简化设计的一个优点是,卷积和变压器的低级别有效实现可以开箱即用;使我们能够在不同的设备上使用MobileViT,而无需任何额外的努力。

  轻量化。 MobileViT块使用标准卷积和transformers分别学习局部和全局表示。因为以前的作品(例如,霍华德等人,2017; Mehta等人,2021 a)已经表明,使用这些层设计的网络是重量级的,一个自然的问题出现了:为什么MobileViT是轻量级的?我们认为,问题主要在于transformer学习全局表示。对于给定的patch,以前的作品(例如,Touvron等人,2021 a; Graham等人,2021)通过学习像素的线性组合将空间信息转换为潜在信息(图1a)。然后通过使用transforner学习patch间的信息来编码全局信息。因此,这些模型失去了CNN固有的图像特定的归纳偏差。因此,他们需要更多的能力来学习视觉表示。因此,它们既深又宽。与这些模型不同的是,MobileViT使用卷积结合transformer的方式,结果MobileViT块具有类似卷积的属性,同时允许全局处理。这种建模能力使我们能够设计浅而窄的MobileViT模型,而这些模型又是轻量级的。与使用L=12和d=192的基于ViT的模型DeIT相比,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)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第4张图片
  计算成本。 在MobileViT和ViTs(图1a)中,多头自我注意的计算成本分别为O(N2 Pd)和O(N2 d)。从理论上讲,MobileViT与ViTs相比效率低下。然而,在实践中,MobileViT比ViTs更有效。MobileViT在ImageNet-1 K数据集上的FLOP减少了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块对总网络参数的贡献非常小。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第5张图片


精读

主要内容
学习具有空间归纳偏置的全局表示: 先使用CNN,然后将特征图展开为N个不重叠的平坦patch ,使用transformer学习全局信息。结构如图(b)
实现轻量化: MobileViT使用卷积结合transformer的方式。结果MobileViT块具有类似卷积的属性,同时允许全局处理。这种建模能力使我们能够设计浅而窄的MobileViT模型,而这些模型又是轻量级的。
架构设计: 结合MV2块和MobileVIT块。


3.2 MULTI-SCALE SAMPLER FOR TRAINING EFFICIENCY

翻译
  在基于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次迭代的批量大小计算为:bt = (HnWnb)/(HtWt)。因此,较大的批量大小用于较小的空间分辨率。这减少了每个epoch的优化器更新,并有助于更快的训练。
  图5比较了标准和多尺度采样器。在这里,我们将PyTorch中的DistributedDataParallel称为标准采样器。总体而言,多尺度采样器 (i)减少了训练时间,因为它需要更少的优化器更新可变大小的批次(图5 b),(ii)将性能提高了约0.5%(图10; §B),以及(iii)迫使网络学习更好的多尺度表示(§B),即,与用标准采样器训练的网络相比,在不同空间分辨率下评估的相同网络产生更好的性能。在§B中,我们还表明多尺度采样器是通用的,并且提高了CNN的性能(例如,MobileNetv2)。

论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第6张图片


精读

主要内容
使用多尺度采样器 :在每个GPU上的第t次训练迭代处随机采样空间分辨率(Ht,Wt)∈ S,并将第t次迭代的批量大小计算为:bt = (HnWnb)/(HtWt)

1)减少了训练时间
2)将性能提高了约0.5%
3)迫使网络学习更好的多尺度表示


4、EXPERIMENTAL RESULTS

翻译
在本节中,我们首先在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个epoch,有效批量大小为1024张图像,使用AdamW优化器(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)。我们使用0.01的L2权重衰减。我们使用基本数据增强(即,随机调整大小的裁剪和水平翻转),并使用单个裁剪top-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验证集上的表现优于MobileNetv2 5%,ShuffleNetv2 5.4%,MobileNetv3 7.4%。图6c进一步示出了MobileViT提供比重量级CNN更好的性能(ResNet(He等人,2016)、DenseNet(Huang等人,2017)、ResNet-SE(Hu等人,2018)和EfficientNet(Tan & Le,2019a))。例如,对于类似数量的参数,MobileViT比EfficentNet准确2.1%。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第7张图片
  对比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 w/ basic vs. advanced:72.4(R4)vs. 78.1(R17);图7 b),MobileViT以较少的参数和基本增强实现了更好的性能。例如,MobileViT比DeIT小2.5倍,好2.6%(图7 b中的R3与R8)。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第8张图片
  总的来说,这些结果表明,与CNN类似,MobileViTs很容易优化。因此,它们可以很容易地应用于新的任务和数据集。


精读

参数和训练技巧
1)epoch=300
2)batch=1024
3)优化器为AdamW
4)标签平滑交叉熵损失(平滑=0.1)
5)多尺度采样器(S = {(160,160),(192,192),(256,256),(288,288),(320,320)})
6)前3 k次迭代,学习率从0.0002增加到0.002,然后使用余弦退火到0.0002
7)使用0.01的L2权重衰减
8)使用基本数据增强(即,随机调整大小的裁剪和水平翻转)
9)对于推断,使用模型权重的指数移动平均

与CNN和VIT对比
如上两个图所示,表现出了更小、更准确、更容易训练


4.2、MobileVIT作为通用backbone

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

4.2.1、MOBILE OBJECT DETECTION

  实现细节。 我们将MobileViT与one-shot目标检测主干(SSD;刘等,2016)。在轻量级的cnn(例如,mobilenet)之后,我们用可分离的卷积替换SSD头中的标准卷积,并将结果网络称为SSDLite。我们对MobileViT进行finetune,在ImageNet-1k数据集上进行预训练,在MS-COCO数据集(Lin et al., 2014)上使用AdamW以320 × 320的输入分辨率进行训练(Lin et al., 2014),该数据集包含117k训练和5k验证图像。我们分别使用平滑L1和交叉熵损失进行目标定位和分类。使用mAP@IoU的0.50:0.05:0.95在验证集中评估性能。其他超参数见§D。

  结果。 表1a显示,对于320 × 320的相同输入分辨率,使用MobileViT的SSDLite优于使用其他轻量级CNN模型(MobileNetv1/v2/v3、MNASNet和MixNet)的SSDLite。例如,当使用MobileViT而不是MNASNet作为骨干时,SSDLite的性能提高了1.8%,其模型尺寸减少了1.8×。此外,使用MobileViT的SSDLite在学习参数显著减少的情况下,性能优于使用重重量骨干的标准SSD-300(表1b)。此外,§F中的定性结果也证实了MobileViT检测各种物体的能力。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第9张图片

4.2.2、MOBILE OBJECT DETECTION

  实现细节。 我们将MobileViT与DeepLabv3整合(Chen等人,2017)。我们在PASCAL VOC 2012数据集上使用带有交叉熵损失的AdamW对MobileViT进行微调(Everingham等人,2015)。通过标准的培训实践(例如,Chen等人,2017;Mehta et al., 2019),我们还分别使用了Hariharan et al.(2011)和Lin et al.(2014)的额外注释和数据。使用mIOU (mean intersection over union)在验证集上评估该算法的性能。其他超参数见§D。

  结果。 表2显示带有MobileViT的DeepLabv3更小更好。当使用MobileViT而不是MobileNetv2作为骨干网时,DeepLabv3的性能提高了1.4%,其尺寸减小了1.6×。此外,MobileViT提供竞争性能模型与ResNet-101,而需要9×更少的参数;这表明MobileViT是一个强大的支柱。此外,§G的结果表明,MobileViT学习对象的泛化表示,并在一个不可见的数据集上表现良好。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第10张图片


精读

能够很好的扩展到目标检测和分割、并且展示模型又小又准。


4.3、PERFORMANCE ON MOBILE DEVICES

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

  移动设备友好的。图8显示了在三个不同的任务上具有两个patch大小设置(Config-A: 2,2,2和Config-B: 8,4, 2)的MobileViT网络的推理时间。这里,ConfigX中的p1、p2、p3表示一个patch在output stride2分别为8、16和32时的高度h(宽度w = h)。与patch丁(Config-B)相比,patch尺寸较小的模型(Config-A)更准确。这是因为,与Config-A模型不同,Config-B模型不能对所有像素的信息进行编码(图13和§C)。另一方面,对于给定的参数预算,Config-B模型比Config-A模型更快,尽管两种配置下的自注意理论复杂性相同,即O(N2Pd)。对于较大的补丁大小(例如,P=82=64),与较小的补丁大小(例如,P=22=4)相比,我们拥有较少的补丁数量N。因此,自注意的计算成本相对较低。此外,与Config-A相比,Config-B模型提供了更高程度的并行性,因为与较小的patch (P=4)相比,更大的patch (P=64)中的更多像素可以同时计算自我注意。因此,Config-B模型比Config-A模型快。为了进一步改善MobileViT的延迟,可以使用线性自我注意(Wang et al., 2020)。无论如何,在两种配置下的所有模型都在移动设备上实时运行(推理速度≥30 FPS),除了用于分割任务的MobileViT-S模型。这是预期的,因为与分类(256×256)和检测(320 × 320)网络相比,这些模型处理更大的输入(512×512)。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第11张图片
结论:patch小的慢但是准确率高,patch大的相反。


讨论

  我们观察到,MobileViT和其他基于ViTbased的网络(例如,DeIT和PiT)在移动设备上比MobileNetv2慢(表3)。这一观察结果与之前的研究相矛盾,之前的研究表明,vit比cnn更具可伸缩性(Dosovitskiy等人,2021年)。这种差异主要有两个原因。首先,gpu上的transformer有专门的CUDA内核,在vit中使用,以提高其在gpu上的可伸缩性和效率(例如,Shoeybi等人,2019;Lepikhin等人,2021)。其次,cnn受益于几种设备级优化,包括与卷积层的批量归一化融合(Jacob等人,2018年)。这些优化改进了延迟和内存访问。然而,这种对transformer的专用和优化操作目前还不能用于移动设备。因此,移动设备的MobileViT和基于VIT的网络的推理结果图是次优的。我们相信,与cnn类似,未来通过专门的设备级操作,MobileViT和vit的推理速度将进一步提高。
论文精读(MobileVIT)《MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER》_第12张图片

你可能感兴趣的:(论文,transformer,深度学习,人工智能)