摘要
论文提出了一种新的基于图的稀疏注意力机制,称为Sparse Vision Graph Attention (SVGA),专为在移动设备上运行的视觉图神经网络(ViGs)设计。此外,作者提出了首个用于移动设备上视觉任务的混合CNN-GNN架构,称为MobileViG,它使用了SVGA。通过大量实验,MobileViG在图像分类、目标检测和实例分割任务上,无论是在准确性还是速度上,都超过了现有的ViG模型和现有的移动CNN及ViT架构。例如,MobileViG-Ti模型在iPhone 13 Mini NPU上实现了75.7%的top-1准确率和0.78ms的推理延迟,比MobileNetV2x1.4和MobileNetV2x1.0的速度更快、准确率更高。作者的工作证明了,设计良好的混合CNN-GNN架构可以为移动设备上极其快速和准确的模型设计提供新的探索途径。
概述
拟解决的问题: 传统的卷积神经网络(CNN)和视觉变换器(ViT)在计算机视觉领域占据主导地位,但最近提出的视觉图神经网络(ViG)为探索提供了新途径。然而,ViG在移动应用中由于将图像表示为图结构的开销而计算成本高昂。
创新之处:
- 提出了一种新的为移动视觉应用设计的基于图的稀疏注意力方法SVGA。
- 提出了首个使用SVGA的混合CNN-GNN架构MobileViG。
- MobileViG在多个代表性视觉任务上的准确性和/或速度上匹配或超过了现有的ViG、移动CNN和移动ViT架构。
方法
MobileViG架构:由卷积茎、三个MBConv(倒置残差块)阶段和SVGA块组成,。MBConv块用于局部处理,SVGA块用于全局信息捕获,最后是用于分类的卷积头部。
3.1 Sparse Vision Graph Attention
一种新型的基于图的稀疏注意力机制,专门为在移动设备上运行的视觉图神经网络(ViGs)设计。SVGA的核心思想是减少计算开销,提高模型在移动设备上的运行效率,同时保持或提升模型的性能。
SVGA旨在替代传统的基于K最近邻(KNN)的图注意力机制。在传统的ViG中,每个像素通过KNN算法连接到其他相似的像素,这种方法虽然能够捕捉图像中的全局信息,但在移动设备上运行时存在以下问题:
- KNN计算:对于每个输入图像都需要重新计算KNN,这增加了计算负担。
- 输入重塑:为了进行图卷积,输入图像需要从4D重塑为3D,然后再恢复为4D,这一过程在移动设备上效率低下。
SVGA通过以下方式解决这些问题:
- 固定图结构:SVGA假设一个固定的图结构,其中每个像素都按照预定的规则(如每K个像素)连接到其行和列中的像素。这种固定连接模式意味着不需要对每个输入图像重新计算KNN。
- 滚动操作:SVGA使用滚动操作(rollright和rolldown)来对齐像素及其连接,而不是重塑操作。这样可以直接在二维图像上进行图卷积,无需额外的重塑步骤。
SVGA的算法流程大致如下:
- 初始化:设定连接距离K,图像分辨率H和W,以及输入图像X。
- 滚动操作:对于每一行,通过向右滚动(rollright)操作对齐像素;对于每一列,通过向下滚动(rolldown)操作对齐像素。滚动距离为K。
- 最大相对特征计算:计算原始输入图像与滚动后图像之间的差异,取最大值作为相对特征。
- 图卷积:使用最大相对图卷积(MRConv)来处理这些特征。
- 输出:通过2D卷积层输出最终的特征图。
3.2 SVGA Block
将SVGA和更新后的MRConv层插入到Vision GNN中提出的Grapher块中。给定一个输入特征 X ,更新后的 Grapher 表示为:
在更新过的Grapher之后,我们使用Vision GNN中提出的前馈网络(FFN)模块:
3.3 MobileViG Architecture
MobileViG架构由一个卷积Stem和三个阶段的反向残差块(MBConv)组成,其扩展比为4,用于局部处理,如MobileNetv2]所示。在MBConv块中,我们将ReLU6替换为GeLU,因为它已被证明可以提高计算机视觉任务的性能。MBConv块包括1×1卷积加批量归一化(BN)和GeLU,深度3×3卷积加BN和GeLU,最后是1×1卷积加BN和残差连接。在MBConv块之后,我们有一个SVGA块阶段来捕获全局信息。在SVGA块之后,我们还有一个卷积头用于分类。在每个MBConv阶段之后,下采样步骤将输入分辨率减半并扩展通道维度。每个阶段由多个MBConv或SVGA块组成,其中重复的数量根据模型大小而改变。
MobileViG-Ti、MobileViG-S、MobileViG-M和MobileViG-B的通道尺寸和每个阶段重复的区块数量见表: