网络结构在基于深度学习的计算机视觉系统中起着至关重要的作用。目前广泛应用的卷积神经网络和卷积神经转换器将图像视为网格或序列结构,难以灵活地捕捉不规则和复杂的目标。本文提出将图像表示为图(Graph)结构,并引入一种新的视觉图卷积(Vision GNN, ViG)体系结构来提取视觉任务的图级(Graph-Level)特征。
首先,将图像分割为多个块(patch),这些块被视为节点,并通过连接最近的邻居节点来构建一个图。基于图像的图表示(graph representation),通过建立 ViG 模型来实现所有节点之间的信息变换和交换。ViG 由两个基本模块组成:带有图卷积的Grapher模块,用于聚合和更新图信息;以及两层线性层的 FFN 模块(就是 MLP),用于节点特征变换。在不同的模型尺寸下,分别建立了各向同性(isotropic)结构和金字塔( pyramid)结构。
在图像识别和目标检测任务上的大量实验证明了提出的 ViG 架构的优越性。希望本研究能对一般视觉任务上的神经网络进行开创性的研究,为今后的研究提供有益的启示和经验。
论文标题:
Vision GNN: An Image is Worth Graph of Nodes
https://arxiv.org/abs/2206.00272
动机
在视觉任务中,CNNs,Transformer,MLP 都取得了很好的效果。CNNs 利用了平移不变性和局部性(the shift-invariance and locality)使用滑动窗口提取特征;
最近的 Transformer 和 MLP 将将图像视为一系列的 patches。上述的考虑都是基于规则网格或序列表示,本文尝试一种更灵活的图结构。计算机视觉的一个基本任务是识别图像中的物体。由于对象通常不是规则的方形,而以往的网络如 ResNet 和 ViT 中常用的网格或序列结构往往会造成冗余,难以处理这些不规则对象。
一个物体可以被看作是由各个部分组成的,例如:人大致可以分为头、上身、四肢。这些由关节连接的部分自然形成一个图结构。通过分析这个图结构,我们能够识别出人。此外,
图是一种广义的数据结构,网格和序列可以看作是图的一种特殊情况。将图像视为图形对于视觉感知来说更加灵活和有效。
因此,本文基于图像的图表示(graph representation)提出了 vision graph neural network (ViG)。本文应该是首次将图神经网络用于视觉任务,同时能取得很好的效果,在 ImageNet 分类任务上超过了 CNN (ResNet), MLP (CycleMLP) 和 transformer (Swin-T) 。
方法
2.1 ViG Block
2.1.1 Graph Representation of Image
对于一张图片,首先将图片划分为 N 个 patch,然后将进行特征变换得到每一个 patch 对应的特征
,因此有:
。这些特性可以看作是一组无序的节点,表示为
。对于每一个节点
找到穷最近的 K 个邻居
,然后加入一条有向边
从
到
。因此就得到了一个图结构
,其中 E 表示所有的边集合。通过将图像视为图数据,因此可以利用 GCN 提取其表征。
2.1.2 Graph-level Processing
图卷积层通过聚合相邻节点的特征来实现节点之间的信息交换。具体来说,图卷积的操作如下:
其中
和
是聚合和更新操作中的可学习参数。更具体地说,聚合运算是通过聚合邻居节点的特征来计算节点的表示:
其中
表示节点邻居集合。为了方便和高效,这里采用 max-relative graph convolution:
上面的处理可以表示为:
更进一步,引入了多头注意力。首先将聚集特征
分成 h 个头,然后分别用不同的权重更新这些头。所有的头可以并行更新,并连接为最终值:
新多头更新操作使模型能够在多个表示子空间中更新信息,有利于特征的多样性
2.1.3 ViG block
以往的 GCNs 通常重复使用多个图卷积层来提取图数据的聚合特征。深度 GCNs 的过平滑现象会降低节点特征的判别性,导致视觉识别性能下降,如下图所示。其中特征多样性通过
判断,其中
。为了缓解这个问题,在 ViG 块中引入了更多的特征变换和非线性激活。
本文在图卷积前后应用线性层,将节点特征投影到同一个域,增加特征多样性。在图卷积后插入一个非线性激活函数以避免层坍塌。我们称升级后的模块为 Grapher 模块。在实际应用中,将 Grapher 模块表示为:
为了进一步提高特征转换能力和缓解过平滑现象,在每个节点上使用前馈网络 (FFN)。FFN 模块是一个简单的多层感知器,有两个完全连接的层:
由 Grapher 模块和 FFN 模块叠加而成的 ViG 块是构成网络的基本构建单元。因此构建面向视觉任务的 ViG 网络。与 ResGCN 相比,ViG 随着层的深入能够保持特征多样性,学习出判别性的表征。
2.2 Network Architecture
在计算机视觉领域,常用的 transformer 通常是 isotropic 的架构(如 ViT),而 CNN 更喜欢使用 pyramid 架构(如 ResNet)。为了与其他类型的神经网络进行广泛的比较,本文为 ViG 构建了两种网络结构,即各向同性结构和金字塔结构。
2.2.1 Isotropic architecture
各向同性架构意味着主体在整个网络中具有大小和形状相同的特征,如 ViT 和 ResMLP。本文构建了三种不同模型尺寸的各向同性 ViG 架构,分别为 ViG-ti、S 和 B,节点数设为 N =196。为了逐渐扩大接收场,这三种模型中随着层深的增加,邻居节点数 K 从 9 线性增加到 18。头的数量默认设置为 h = 4。
2.2.2 Pyramid architecture
金字塔架构考虑了图像的多尺度特性,即随着层越深提取空间尺寸越小的特征,如 ResNet 和 PVT。经验证据表明,金字塔结构对视觉任务是有效的。因此,本文利用先进的设计和建立了四个版本的金字塔 ViG 模型。
2.2.3 Positional encoding
为了表示节点的位置信息,在每个节点特征中添加一个位置编码向量:
上式所描述的绝对位置编码应用于各向同性和金字塔结构。对于金字塔 ViG,进一步使用 Swin Transformer 等高级设计,例如相对位置编码。对于节点 i 和 j,它们之间的相对位置距离为
,将其加入到特征距离中构建图。
实验
具体实验设置和分析请参考原文。
3.1 Main Results on ImageNet
3.2 Ablation Study
3.3 Visualization
为了更好地理解 ViG 模型是如何工作的,在 v - s 中可视化构造的图结构。在上图中,展示了两个不同深度的样本的图形(第 1 块和第 12 块)。五角星是中心节点,相同颜色的节点是它的邻居。两个中心节点被可视化为绘制所有的边将是混乱的。可以观察到,提出的模型可以选择与内容相关的节点作为一阶邻居。
在浅层中,倾向于根据颜色、纹理等低级和局部特征来选择邻居节点。在深层,中心节点的邻居语义性更强,属于同一类别。
因此 VIG 网络可以通过其内容和语义表示将节点逐渐连接起来,帮助更好地识别对象。
总结
感觉这个工作还是很不错,motivation 和方法都让人眼前一亮,用目前简单成熟的方案(GNN 和 MLP)的组合就在视觉任务上达到了很好的效果,特别是可视化的结果很有意思,甚至在一定程度上还具有可解释性。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧