Vision GNN: An Image is Worth Graph of Nodes

2024-04-17 03:04
文章标签 graph image nodes gnn vision worth

本文主要是介绍Vision GNN: An Image is Worth Graph of Nodes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 感受野:在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。
    感受野并非越大越好,反而可能因为过大而过于发散
  • 梯度下降(Gradient Descent GD):简单来说就是一种寻找目标函数最小化的方法,它利用梯度信息,通过不断迭代调整参数来寻找合适的目标值。
  • 超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。

在机器学习的过程中,
超参= 在开始机器学习之前,就人为设置好的参数。
模型参数=通过训练得到的参数数据。
通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果

  • 归一化:数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。
    目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]),从而消除奇异样本数据导致的不良影响。
  • 骨干网络:在计算机视觉任务中,骨干网络(Backbone)是对图像进行特征提取的基础网络。它是计算机视觉下游任务(如分类、分割、检测等)的核心组成部分。
    一个设计良好的特征提取网络能够显著提升算法的性能表现。

前置(VIT)

  • idea:
    1. 直接把图像分为固定大小的patches
    2. 通过线性变换得到patch embedding。类似于NLP的words和word embedding
    3. 由于transformer的输入就是a sequence of token embeddings,则把图像的patch embeddings送入transformer后就能够进行特征提取从而分类

研究背景

  • 选题切入点
    • CNN和Transformer存在的问题
      CNN和Transformer认为图象是网格或者序列结构,不能灵活地捕捉不规则和复杂的物体。
      在这里插入图片描述
    • GNN在CV中的研究现状
      • GNN只能用在有天然的图的特殊的视觉任务(如点云数据的分类和分割)
      • 对于计算机视觉中的一般应用(如图像分类),缺少一个通用的GNN骨干网络来处理图像
  • 用graph的优点:
    • graph是一种广义的数据结构,网格和序列可以视为图的特例
    • 图比网格或序列更灵活地建模复杂对象,因为图像中的对象通常不是方形的,其形状是不规则的
    • 一个对象可以视为部分的组合(例如说一个人可以分为头,上半身,手臂,腿),图结构可以构建这些部分之间的联系
    • GNN的先进研究可以转移到解决视觉问题上
      用图结构表示图像

方法

用图结构表示图像

图像预处理主要是将 2D 图像转化为一个图结构。图像首先被均匀切分成若干个图像块,每个图像块通过简单的映射转化为特征向量X={x1,x2,……,xN}。这里每个图像块特征视作一个节点,也就是V={V1,V2,……,VN} ,对于每个节点,找到它的 K 近邻 N(vi),然后在两者之间连接一条边,从而构建出一个完整的图结构:
在这里插入图片描述

图卷积

图卷积层通过聚集相邻节点的特征,可以在节点之间交换信息。具体而言,图卷积操作如下:

在这里插入图片描述

其中 Aggregate 聚合操作通过聚合相邻节点的特征来计算节点的表示,Update 更新操作用来更新聚合后的节点特征。在实际部署时,使用了 max-relative 图卷积:

在这里插入图片描述

增强节点多样性

直接堆叠图卷积构建视觉图网络的话,由于图像块存在相似性和图卷积的聚合机制,会出现节点过平滑的现象,也就是随着网络的加深,节点特征之间会越来越相似。为了缓解这个问题,ViG 引入前馈神经网络 FFN 模块以及更多线性变换来增强特征变换能力和特征多样性.

在图卷积之前和之后应用一个线性层,将节点特征投影到同一个域中,并增加特征的多样性。在图卷积后插入一个非线性激活函数,以避免多层退化为单层。升级后的模块称为 Grapher 模块:

在这里插入图片描述

为了进一步提高特征变换能力和缓解过度平滑现象,在每个节点上使用前馈网络(FFN)。FFN 模块是一个简单的多层感知器,具有两个完全连接的层:

在这里插入图片描述

通过 Grapher 模块和 FFN 模块的堆栈构成 ViG 块,ViG 块用作构建网络的基本构建单元。基于图像的图形表示和提出的 ViG 块,可以为视觉任务构建 ViG 网络

ViG 网络架构

通过堆叠 L 个 ViG block,构成作者的 ViG 网络结构。给出了 isotropic 式和金字塔式两种网络架构,如下表所示。

图片

表 1:Isotropic ViG 网络结构参数。
在这里插入图片描述

表 2:Pyramid ViG 网络结构参数。

贡献&局限

  • 创新点
    • 提出了一个用于视觉任务的通用GNN骨干网络,并设计了同向性结构和金字塔结构
    • 直接在图像上使用GNN会出现over-smoothing问题并导致性能变差,故提出了FC操作和FFN层来解决这个问题
  • 局限性
    • 与VIT相同,VIG在少量的数据下表现得性能并不优秀,往往需要通过大量的数据做梯度下降才能取得比较好的效果
    • 从image到graph的过程中,本文采用KNN来取K(超参数)个邻居作为邻居结点;对于不同的图像,所需的K值不一定相同。

这篇关于Vision GNN: An Image is Worth Graph of Nodes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910632

相关文章

leetcode-24Swap Nodes in Pairs

带头结点。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/public class Solution {public ListNode swapPairs(L

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Neighborhood Homophily-based Graph Convolutional Network

#paper/ccfB 推荐指数: #paper/⭐ #pp/图结构学习 流程 重定义同配性指标: N H i k = ∣ N ( i , k , c m a x ) ∣ ∣ N ( i , k ) ∣ with c m a x = arg ⁡ max ⁡ c ∈ [ 1 , C ] ∣ N ( i , k , c ) ∣ NH_i^k=\frac{|\mathcal{N}(i,k,c_{

复盘高质量Vision Pro沉浸式视频的制作流程与工具

在探索虚拟现实(VR)和增强现实(AR)技术的过程中,高质量的沉浸式体验是至关重要的。最近,国外开发者Dreamwieber在其作品中展示了如何使用一系列工具和技术,创造出令人震撼的Vision Pro沉浸式视频。本文将详细复盘Dreamwieber的工作流,希望能为从事相关领域的开发者们提供有价值的参考。 一、步骤和工作流 构建基础原型 目的:快速搭建起一个基本的模型,以便在设备

GNN中的Over-smoothing与Over-squashing问题

Over-squashing (过度压缩,顾名思义就是数据被“压缩”的过分小了,导致学不到什么东西。) 1、 why 会被压缩的过分小? 可能因为网络过深,那么在多层传播后,信息可能会被过度压缩(本质是特征减少了,当层数过多时会大大杂糅信息,导致特征减少,输出维度过小也会),导致细节丢失。 2、why 学不到什么东西? 会加剧梯度消失的现象,导致早期层几乎不学习,从而使得输入信息的重要细

一键部署Phi 3.5 mini+vision!多模态阅读基准数据集MRR-Benchmark上线,含550个问答对

小模型又又又卷起来了!微软开源三连发!一口气发布了 Phi 3.5 针对不同任务的 3 个模型,并在多个基准上超越了其他同类模型。 其中 Phi-3.5-mini-instruct 专为内存或算力受限的设备推出,小参数也能展现出强大的推理能力,代码生成、多语言理解等任务信手拈来。而 Phi-3.5-vision-instruct 则是多模态领域的翘楚,能同时处理文本和视觉信息,图像理解、视频摘要

IMAGE LIST

   CImageList就是一个容器,用来存储图片资源,方便这些资源被CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl,CListCtrl等使用。      要使用CImgeList首先要使用它的create函数:      一般用的比较多的是这一个函数,当然,它还有很多重载,自己可以去翻阅msdn.       BOOL