MobileViT(MobileViT-v1)结合了卷积神经网络(CNNs)和Vision Transformer(ViTs),用于移动端设备。虽然MobileViT-v1有助于实现先进的竞争结果,但Mobilevit-v1 Block内的融合块创造了缩放挑战,并具有比较复杂的学习任务。作者建议对融合块进行简单而有效的改进来创建Mobilevit-v3 Block,从而解决了缩放问题并简化了学习任务。作者提出的用于创建
MobileViTv3-XXS、XXS、XS和S模型的MobileViTv3 Block在ImigeNet-1k、ADE20K、COCO和PascalVOC2012数据集上优于MobileViTv1。在ImageNet-1K上,MobileViTv3-XXS和MobileViTv3-XS分别比MobileViTv1-XXS和MobileViTv1-XS高出2%和1.9%。最近发布的
MobileViTv2体系结构删除了融合块,并使用了线性复杂度的Transformer得到了比MobileViTv1更好的性能。将本文提出的融合块添加到MobileViTv2中,以创建MobileViTv3-0.5,0.75和1.0模型。与MobileViTv2相比,这些新模型在ImageNet-1k、ADE20K、COCO和PascalVOC2012数据集上提供了更好的精度。在
ImageNet-1K数据集上,MobileViTv3-0.5和MobileViTv3-0.75的性能分别比MobileViTv2-0.5和MobileViTv2-0.75高出2.1%和1.0%。在分割任务中,MobileViTv3-1.0在ADE20K数据集和PascalVOC2012数据集上比MobileViTv2-1.0的mIOU分别提高了2.07%和1.1%。
1、简介
卷积神经网络( CNNs)[如 ResNet、 DenseNet和 effentnet]被广泛用于分类、检测和分割等视觉任务,因为它们在已建立的基准数据集(如 Imagenet、 COCO、 PascalVOC、 ADE20K和其他类似数据集)上具有很强的性能。当在移动设备等资源普遍受限的边缘设备上部署cnn时,适合这种环境的轻量cnn主要有 Mobilenet ( MobileNetv1、 MobileNetv2、 MobileNetv3)、 ShuffleNet ( ShuffleNetv1和 ShuffleNetv2)和 EfficientNet的轻量版本( EfficientNet-B0和 EfficientNet-B1)系列模型。与具有大参数和 FLOPs的模型相比,这些轻量级模型缺乏准确性。
最近, Vision Transformer( ViTs)已经成为替代 cnn执行这些视觉任务的强有力的选择。由于其架构设计, cnn与局部相邻像素/特征相互作用,生成嵌入局部信息的特征图。相比之下, ViTs中的自注意力机制与图像/特征映射的所有部分相互作用,产生嵌入全局信息的特征。这已被证明可以产生与 cnn相似的结果,但需要大量的预训练数据和数据增强。此外,这种全局处理以大参数和 FLOPs为代价,以匹配 ViT及其不同版本(如 DeiT、 SwinT、 MViT、 Focus -ViT、 PVT、 T2T-ViT、 xit)中的 cnn的性能。表明 vit存在优化器选择、学习率、权值衰减和收敛速度慢等超参数敏感性高的问题。为了解决这些问题,有学者提出在 vit中引入卷积层。
最近的许多研究在 ViT体系结构中引入了卷积层,形成混合网络,以提高性能,实现高效率,并使模型在参数和 flop方面更有效,如 MobileViTs ( MobileViTv1, MobileViTv2), CMT, CvT, PVTv2, ResT, MobileFormer), CPVT, MiniViT, CoAtNet, CoaT。其中许多模型在 ImageNet-1K上的性能(包括参数和 FLOPs)如图1所示。
在这些模型中,只有 MobileViTs和 MobileFormer是专门为移动设备等资源受限的硬件设计的。与其他混合网络相比,这两种模型具有更少的参数和 flop,从而实现了具有竞争力的性能。尽管这些小型混合模型对移动设备上的视觉任务至关重要,但在这一领域的工作很少。
本文的工作重点是改进一个称为 MobileViTs的轻量级模型家族( MobileViTv1和 MobileViTv2)。与参数预算为6M或更少的模型相比, MobileViTs在分类任务上通过简单的训练配置获得了具有竞争力的先进结果。在不同的视觉任务,如检测和分割中它也可以作为一个有效的 backbone。
虽然只关注6M参数或更少的模型,但作者提出了一个问题:是否有可能通过保持相似的参数和flop来改变模型架构以提高其性能?
为此,本文的工作着眼于 Mobilevit Block架构的挑战,并提出了简单有效的方法来融合输入、局部(CNN)和全局(ViT)特征,从而显著提高 Imagenet-1K、 ADE20k、 PascalVOC和 COCO数据集上的性能。
作者建议对 MobileViTv1 Block进行4个主要更改(其中3个改进主要是基于 MobileViTv2 Block):
- 首先,将3×3卷积层替换为1×1卷积层;
- 第二,将局部表示块和全局表示块的特征融合在一起,而不是将输入和全局表示块融合在一起;
- 第三,在生成
Mobilevit Block输出之前,在融合块中添加输入特征作为最后一步; - 最后,在局部表示块中,将普通的3×3卷积层替换为深度3×3卷积层。
这些变化导致了 MobileViT-v1 Block的参数和 FLOPs的减少,并允许缩放(增加模型的宽度)来创建一个新的 MobileViTv3-S, XS和 XXS体系结构,它在分类(图1),分割和检测任务上优于 MobileViTv1。例如,在 ImageNet-1K数据集上, MobileViTv3-XXS和 MobileViTv3-XS在相似参数和 FLOPs下的性能分别比 MobileViTv1-XXS和 MobileViTv1-XS好2%和1.9%。在 MobileViTv2中,融合模块不存在。
提出的融合模块被引入到 MobileViTv2体系结构中,以创建 MobileViTv3-1.0、 0.75和 0.5体系结构。在相似的参数和 FLOPs下, MobileViTv3-0.5和 MobileViTv3-0.75在 ImageNet-1K数据集上的表现分别优于 MobileViTv2-0.5和 MobileViTv2-0.75 2.1%和1.0%。
2、本文方法
2.1、 MobileViT-v3 Block
改进1:在融合块中将3×3卷积层替换为1×1卷积层
在融合模块中替换3×3卷积层存在两个主要动机。首先,融合独立于特征图中其他位置的局部和全局特征,以简化融合模块的学习任务。从概念上讲,3×3卷积层融合了输入特征、全局特征以及其他位置的输入和全局特征,这是一项复杂的任务。融合模块的目标可以简化,因为它可以融合输入和全局特征,而不依赖于特征图中的其他位置。因此,作者在融合中使用1×1卷积层,而不是3×3卷积层。
其次,将3×3卷积层替换为1×1卷积层是消除 MobileViTv1架构扩展中的主要限制之一。通过改变网络宽度并保持深度恒定,将 MobileViT-v1从 XXS扩展到 S。更改 MobileViTv1 Block的宽度(输入和输出通道数)会导致参数和 FLOP的数量大幅增加。例如,如果输入和输出通道在 MobileViTv1 Block中加倍(2×),则融合模块内3×3卷积层的输入通道数增加4×,输出通道数增加2×,因为输入到3×3卷积层的是输入和全局表示块特征的串联。这导致 MobileViTv1 Block的参数和 FLOP大幅增加。使用1×1卷积层可避免在缩放时参数和 FLOP的大幅增加。
改进2:局部和全局特征融合
在融合层,来自局部和全局表示块的特征在提出的 MobileViTv3 Block中串联,而不是输入和全局表示特征。这是因为与输入特征相比,局部表示特征与全局表示特征的关系更为密切。局部表示块的输出通道略高于输入中的通道。这导致融合模块的1×1卷积层的输入特征映射数量增加,但由于3×3卷积层变为1×1卷积层,参数和 FLOP的总数明显少于 MobileViTv1 Block。
改进3:融合输入特征
输入特征被添加到融合模块中1×1卷积层的输出中。 ResNet和 DenseNet等模型中的残差连接有助于优化架构中的深层。通过将输入特性添加到融合块的输出中,在新的 MobileViTv3架构中引入了这种残差连接。表6所示的消融实验结果表明,这种残差连接有助于提高精度。
改进4:局部表示块中的深度卷积层
为了进一步减少参数,将局部表示块的3×3卷积层替换为深度3×3卷积层。如消融实验结果表明,此变化对 Top-1 ImageNet-1K精度增益没有太大影响,并提供了良好的参数和精度权衡。
2.2、扩展构建块
应用提出的改进,可以通过增加层的宽度(通道数)来扩展 MobileViTv3架构。表1显示了 MobileViTv3-S、 XS和 XXS体系结构及其每层的输出通道、比例因子、参数和 FLOP。
3、实验
3.1、图像分类
3.2、目标检测
3.3、语义分割
3.4、可视化
4、参考
[1].MOBILEVITV3: MOBILE-FRIENDLY VISION TRANSFORMER WITH SIMPLE AND EFFECTIVE FUSION OF LOCAL, GLOBAL AND INPUT FEATURES.
5、推荐阅读
超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
必备技能 | YOLOv6中的用Channel-wise Distillation进行的量化感知训练来自哪里?
All are Worth Words | 当 ViT 遇到扩展模型会出现什么样子的火花?
长按扫描下方二维码添加小助手并加入交流群,群里博士大佬云集,每日讨论话题有目标检测、语义分割、超分辨率、模型部署、数学基础知识、算法面试题分享的等等内容,当然也少不了搬砖人的扯犊子
长按扫描下方二维码添加小助手。
可以一起讨论遇到的问题
声明:转载请说明出处
扫描下方二维码关注【 集智书童 】公众号,获取更多实践项目源码和论文解读,非常期待你我的相遇,让我们以梦为马,砥砺前行!
