CV的未来是图神经网络?中科院软件所发布全新CV模型ViG,性能超越ViT

简介: CV的未来是图神经网络?中科院软件所发布全新CV模型ViG,性能超越ViT

image.png


新智元导读】最近,中科院软件所等四个机构的研究团队将CV与图神经网络结合起来,提出全新模型ViG,在等量参数情况下,性能超越ViT,可解释性也有所提升。


计算机视觉的网络结构又要迎来革新了?

 

从卷积神经网络到带注意力机制的视觉Transformer,神经网络模型都是把输入图像视为一个网格或是patch序列,但这种方式无法捕捉到变化的或是复杂的物体。

 

比如人在观察图片的时候,就会很自然地就将整个图片分为多个物体,并在物体间建立空间等位置关系,也就是说整张图片对于人脑来说实际上是一张graph,物体则是graph上的节点。

 

 

最近中科院软件研究所、华为诺亚方舟实验室、北京大学、澳门大学的研究人员联合提出了一个全新的模型架构Vision GNN (ViG),能够从图像中抽取graph-level的特征用于视觉任务。

 

论文链接:https://arxiv.org/pdf/2206.00272.pdf

 

首先需要将图像分割成若干个patch作为图中的节点,并通过连接最近的邻居patch构建一个graph,然后使用ViG模型对整个图中所有节点的信息进行变换(transform)和交换(exchange)。

 

ViG 由两个基本模块组成,Grapher模块用graph卷积来聚合和更新图形信息,FFN模块用两个线性层来变换节点特征。

 

在图像识别和物体检测任务上进行的实验也证明了ViG架构的优越性,GNN在一般视觉任务上的开创性研究将为未来的研究提供有益的启发和经验。

 

论文作者为吴恩华教授,中国科学院软件研究所博士生导师、澳门大学名誉教授,1970年本科毕业于清华大学工程力学数学系,1980年博士毕业于英国曼彻斯特大学计算机科学系。主要研究领域为计算机图形学与虚拟现实, 包括: 虚拟现实 、真实感图形生成、 基于物理的仿真与实时计算、 基于物理的建模与绘制、 图像与视频的处理与建模、 视觉计算与机器学习。

 

视觉GNN

 

网络结构往往是提升性能最关键的要素,只要能保证数据量的数量和质量,把模型从CNN换到ViT,就能得到一个性能更佳的模型。

 

但不同的网络对待输入图像的处理方式也不同,CNN在图像上滑动窗口,引入平移不变性和局部特征。

 

而ViT和多层感知机(MLP)则是将图像转换为一个patch序列,比如把224×224的图像分成若干个16×16的patch,最后形成一个长度为196的输入序列。

 

 

图神经网络则更加灵活,比如在计算机视觉中,一个基本任务是识别图像中的物体。由于物体通常不是四边形的,可能是不规则的形状,所以之前的网络如ResNet和ViT中常用的网格或序列结构是多余的,处理起来不灵活。

 

一个物体可以被看作是由多个部分组成的,例如,一个人可以大致分为头部、上半身、胳膊和腿。

 

这些由关节连接的部分很自然地形成了一个图形结构,通过分析图,我们最后才能够识别出这个物体可能是个人类。

 

此外,图是一种通用的数据结构,网格和序列可以被看作是图的一个特例。将图像看作是一个图,对于视觉感知来说更加灵活和有效。

 

使用图结构需要将输入的图像划分为若干个patch,并将每个patch视为一个节点,如果将每个像素视为一个节点的话就会导致图中节点数量过多(>10K)。

 

 

建立graph后,首先通过一个图卷积神经网络(GCN)聚合相邻节点间的特征,并抽取图像的表征。

 

 

为了让GCN获取更多样性的特征,作者将图卷积应用multi-head操作,聚合的特征由不同权重的head进行更新,最后级联为图像表征。

 

 

以前的GCN通常重复使用几个图卷积层来提取图数据的聚合特征,而深度GCN中的过度平滑现象则会降低节点特征的独特性,导致视觉识别的性能下降。

 

 

为了缓解这个问题,研究人员在ViG块中引入了更多的特征转换和非线性激活函数。

 

首先在图卷积的前后应用一个线性层,将节点特征投射到同一域中,增加特征多样性。在图形卷积之后插入一个非线性激活函数以避免层崩溃。

 

 

为了进一步提高特征转换能力,缓解过度平滑现象,还需要在每个节点上利用前馈网络(FFN)。FFN模块是一个简单的多层感知机,有两个全连接的层。

 

在Grapher和FFN模块中,每一个全连接层或图卷积层之后都要进行batch normalization,Grapher模块和FFN模块的堆叠构成了一个ViG块,也是构建大网络的基本单元。

 

与原始的ResGCN相比,新提出的ViG可以保持特征的多样性,随着加入更多的层,网络也可以学习到更强的表征。

 

在计算机视觉的网络架构中,常用的Transformer模型通常有一个等向性(Isotropic)的结构(如ViT),而CNN更倾向于使用金字塔结构(如ResNet)。

 

为了与其他类型的神经网络进行比较,研究人员为ViG同时建立了等向性和金字塔的两种网络架构。

 

 

在实验对比阶段,研究人员选择了图像分类任务中的ImageNet ILSVRC 2012数据集,包含1000个类别,120M的训练图像和50K的验证图像。

 

目标检测任务中,选择了有80个目标类别的COCO 2017数据集,包含118k个训练图片和5000个验证集图片。

 

 

在等向性的ViG架构中,其主要计算过程中可以保持特征大小不变,易于扩展,对硬件加速友好。在将其与现有的等向性的CNN、Transformer和MLP进行比较后可以看到,ViG比其他类型的网络表现得更好。其中ViG-Ti实现了73.9%的top-1准确率,比DeiT-Ti模型高1.7%,而计算成本相似。

 

 

金字塔结构的ViG中,随着网络的加深逐渐缩小了特征图的空间大小,利用图像的尺度不变量特性,同时产生多尺度的特征。

 

高性能的网络大多采用金字塔结构,如ResNet、Swin Transformer和CycleMLP。在将Pyramid ViG与这些有代表性的金字塔网络进行比较后,可以看到Pyramid ViG系列可以超越或媲美最先进的金字塔网络包括CNN、MLP和Transfomer。

 

结果表明,图神经网络可以很好地完成视觉任务,并有可能成为计算机视觉系统中的一个基本组成部分。

 

 

为了更好地理解ViG模型的工作流程,研究人员将ViG-S中构建的图结构可视化。在两个不同深度的样本(第1和第12块)的图。五角星是中心节点,具有相同颜色的节点是其邻居。只有两个中心节点是可视化的,因为如果绘制所有的边会显得很乱。

 

 

可以观察到,ViG模型可以选择与内容相关的节点作为第一阶邻居。在浅层,邻居节点往往是根据低层次和局部特征来选择的,如颜色和纹理。在深层,中心节点的邻居更具语义性,属于同一类别。ViG网络可以通过其内容和语义表征逐渐将节点联系起来,帮助更好地识别物体。
参考资料:https://arxiv.org/pdf/2206.00272.pdf

相关文章
|
5月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
225 2
|
5月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
174 1
|
5月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
3月前
|
人工智能 运维 安全
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
迈格网络推出“天机”新版本,以AI自学习、全端防护、主动安全三大核心能力,重构网络安全防线。融合AI引擎与DeepSeek-R1模型,实现威胁预测、零日防御、自动化响应,覆盖Web、APP、小程序全场景,助力企业从被动防御迈向主动免疫,护航数字化转型。
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
|
2月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
227 4
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
244 2
|
3月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
4月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
230 0
|
3月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
384 0