图神经网络的新篇章:通用、强大、可扩展的图变换器

人工智能咨询培训老师叶梓 转载标明出处

图变换器(Graph Transformers, GTs)因其在处理节点间全局依赖关系方面的能力而受到广泛关注。然而,现有的GTs模型在处理大规模图时面临着计算复杂度高、泛化能力有限等问题。为了解决这些问题,蒙特利尔大学、麦吉尔大学、新加坡南洋理工大学等研究人员共同提出了一种新的GTs架构——通用、强大、可扩展(GPS)。这种图变换器不仅能够处理具有数百个节点的小规模图,还能扩展到具有数千个节点的大规模图,同时保持线性复杂度O(N + E)。

方法

图1展示了通用、强大、可扩展(GPS)图变换器的模块化架构。该架构是围绕三个核心组件设计的:定位/结构编码(PE/SE)、局部消息传递机制、以及全局注意力机制。这些组件共同工作,提供了一个既能处理小型图也能扩展到大型图的高效图神经网络。

模块化定位/结构编码

  • 局部PE(Local PE):这类编码使得图中的每个节点能够了解自己在局部邻域中的位置和角色。例如,通过随机游走矩阵的非对角元素的列求和来获得。
  • 全局PE(Global PE):这类编码让节点了解其在整个图中的全局位置。通常使用图的拉普拉斯矩阵或距离矩阵的特征向量来实现。
  • 相对PE(Relative PE):这类编码帮助两个节点理解它们之间的距离或方向关系。例如,基于最短路径或热核的节点对距离。

局部消息传递机制 这一机制通过消息传递神经网络(MPNN)实现,它能够处理节点的局部邻域信息。在GPS架构中,MPNN层能够利用节点特征和边缘特征来更新节点的状态。

全局注意力机制 全局注意力层允许图中的每个节点都能够注意到其他所有节点,从而捕获全局依赖关系。这一层通常使用变换器(Transformer)架构实现,它能够处理节点特征并生成节点的全局表示。

GPS层将局部消息传递机制和全局注意力机制结合起来,形成了一个混合层。这一层首先通过MPNN层处理局部信息,然后通过全局注意力层处理全局信息。最终,通过一个多层感知器(MLP)将局部和全局的信息融合,生成综合的节点表示。

GPS架构通过将计算复杂度控制在线性级别(O(N + E)),其中N是节点数,E是边数,从而实现了可扩展性。这意味着即使在大规模图上,GPS架构也能够高效地运行。

现有的大多数GNNs,包括消息传递神经网络(MPNNs),在处理图结构时,往往忽略了PE/SE所包含的信息。研究者们通过1-Weisfeiler-Leman测试(1-WL)展示了MPNNs在没有PE/SE的情况下,无法区分某些非同构图。而通过引入适当的PE/SE,可以显著提高MPNNs的表达能力。

GPS层是MPNN和变换器的混合体,它通过结合局部邻域聚合和全局自注意力机制,减少了初始表示的瓶颈,使得模型能够迭代地进行局部和全局的交互。GPS层通过一系列精确的更新方程来实现,其中包括MPNN层和全局注意力层的输出聚合。

只要给定足够的参数,GPS模型能够为图同构问题提供近似解,比任何Weisfeiler-Leman同构测试都更强大。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验

实验分为消融研究和基准测试两部分。在消融研究部分,对模型的三个主要组成部分进行了详尽的评估,以确定它们对预测性能的贡献,并为特定数据集的超参数优化提供指导。

全局注意力模块:

  • 实验考虑了O(N^2)时间复杂度的Transformer注意力机制,以及Performer和BigBird的线性时间注意力机制。
  • 结果显示,在多数数据集上使用Transformer都是有益的,除了ZINC数据集,在该数据集上并没有观察到显著变化。这支持了长距离依赖通常很重要的假设。
  • Performer在预测性能上虽落后于Transformer,但与基线相比仍有提升,并且能够扩展到非常大的图。
  • 在当前设置中,BigBird并未提供显著的增益,且比Performer更慢。

消息传递模块:

  • 评估了各种消息传递架构,发现它们对模型的成功至关重要。没有MPNN层会导致所有数据集的性能显著下降。
  • 尽管普通的PNA通常优于GINE和GatedGCN,但添加PE和SE,尤其是对于GatedGCN,会显著提升性能。

定位/结构编码:

  • 评估了各种PE/SE方案,发现它们通常对下游任务有益。
  • 对于分子数据,随机游走结构编码(RWSE)更有益;而在图像超像素中,拉普拉斯特征向量编码(LapPE)更有益。
  • 使用SignNet与DeepSets编码处理LapPE在任务中表现出一致的成功。

在基准测试部分,将GPS与多种流行的信息传递神经网络(如GCN、GIN、GatedGCN、PNA等)、图变换器(如SAN、Graphormer等)以及其他具有最新结果的图神经网络进行了比较。

表2展示了对全局注意力模块、消息传递模块(MPNN层)和定位/结构编码(PE/SE)的消融研究结果:

  • 全局注意力模块:在多数数据集上,使用Transformer全局注意力都带来了性能的提升,但在ZINC数据集上未见明显变化。这表明对于某些特定类型的图数据,全局注意力可能不是关键因素。
  • MPNN层:移除MPNN层导致性能显著下降,证实了其在捕获局部图结构信息中的重要性。
  • PE/SE:不同的编码策略在不同的数据集上表现各异,显示了PE/SE在增强模型对图结构理解中的关键作用。

表3展示了在Benchmarking GNNs数据集上的测试结果,包括ZINC、MNIST、CIFAR10、PATTERN和CLUSTER。GPS模型在这些任务上的表现突出,尤其在ZINC数据集上取得了最佳性能,证明了其在多样化图学习任务中的适用性和有效性。

表4汇总了在OGB数据集上的测试结果,包括ogbg-molhiv、ogbg-molpcba、ogbg-ppa和ogbg-code2。GPS在这些图级任务中均名列前茅,显示了其在处理更复杂的图数据时的优越性能。

表5展示了在大规模PCQM4Mv2数据集上的测试结果。GPS在这一挑战性数据集上的表现超过了现有的图变换器模型,且在训练过程中显示出较少的过拟合现象,证明了其在大规模图数据上的可扩展性和鲁棒性。

表6汇总了在LRGB数据集上的测试结果,这些数据集旨在评估模型捕获长距离依赖的能力。GPS在大多数数据集上超过了现有的基线模型,显示了其在处理长距离依赖方面的有效性。

这些结果不仅展示了通过模块化和不同策略组合获得的经验性好处,还证明了GPS方法在多种任务上的通用性和有效性。

https://arxiv.org/pdf/2205.12454v4

GitHub - rampasek/GraphGPS: Recipe for a General, Powerful, Scalable Graph Transformer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1542226.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

UnLua扩展接口

一、在蓝图中创建接口 1、创建BlueprintInterface 2、声明接口函数 3、继承接口 注意,接口不需要绑定Lua,也没有Bind按钮 二、在Lua中实现接口函数 1、实现接口函数 BP_Player.lua function BP_Player_C:UpdateAiming(IsAiming)if IsAiming thensel…

maven手动导入本地仓库

maven手动导入本地仓库 1.在maven仓库下载对应的依赖 一定要把jar包下载到maven仓库的bin下 2.找到自己仓库的maven仓库下的bin目录cmd进去 在cmd窗口中输入以下命令&#xff1a;&#xff08;这里根据你的groupId、artifactId、version修改即可&#xff09; <!-- https:…

gpu scene cull

(1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) LaunchComputeRelevanceTask 调用堆栈 (1) (1)

12k star,这可能是我见过最强的国产开源支付系统!(附源码)

最近有读者问到支付系统相关的问题&#xff0c;这里推荐两个总体完成度还不错的国产开源支付系统&#xff0c;可以拿来学习&#xff0c;也可以根据项目需求直接拿来用。 01 Jeepay 项目介绍 &#xff1a; 一套适合互联网企业使用的开源支付系统&#xff0c;提供了交易、退款、…

IO流中的异常捕获

Java简化 接口AutoCloseable

【深入学习Redis丨第六篇】Redis哨兵模式与操作详解

〇、前言 哨兵是一个分布式系统&#xff0c;你可以在一个架构中运行多个哨兵进程&#xff0c;这些进程使用流言协议来接收关于Master主服务器是否下线的信息&#xff0c;并使用投票协议来决定是否执行自动故障迁移&#xff0c;以及选择哪个Slave作为新的Master。 文章目录 〇、…

vue3扩展echart封装为组件库-快速复用

ECharts ECharts&#xff0c;全称Enterprise Charts&#xff0c;是一款由百度团队开发并开源&#xff0c;后捐赠给Apache基金会的纯JavaScript图表库。它提供了直观、生动、可交互、可个性化定制的数据可视化图表&#xff0c;广泛应用于数据分析、商业智能、网页开发等领域。以…

在已安装的openresty上添加安装upstream模块报错的解决以及使用Consul服务发现时定时变更nginx的upstream的shell脚本

一、在已经安装好的openresty环境上添加安装upstream模块报错&#xff1a; 在已经安装好的openresty环境上添加安装upstream模块报错&#xff1a;http upstream check module can not find any check server, make sure you ve added the check 的问题解决。 服务器上已经安装好…

JavaWeb+Web服务器简介

一、Java Web 1.1 简介 Web&#xff0c;在英语中web即表示网页的意思&#xff0c;它用于表示Internet主机上供外界访问的资源。 Java Web指的是使用Java技术开发的Web应用程序。Java在Web开发中有着广泛的应用&#xff0c;主要得益于其跨平台性、安全性和丰富的开发工具与框…

鼻咽癌中三级淋巴结构的单细胞与空间转录组分析|文献精析·24-09-22

小罗碎碎念 研究团队通过单细胞和空间转录组分析&#xff0c;揭示了与鼻咽癌进展和免疫治疗反应相关的三级淋巴结构。 作者角色作者姓名单位&#xff08;中文&#xff09;第一作者Yang Liu/通讯作者Jin-Xin Bei国家癌症中心南方肿瘤学重点实验室&#xff0c;鼻咽癌诊断治疗广东…

TryHackMe 第3天 | Pre Security (二)

该学习路径讲解了网络安全入门的必备技术知识&#xff0c;比如计算机网络、网络协议、Linux命令、Windows设置等内容。上一篇中简短介绍了计算机网络相关的知识&#xff0c;本篇博客将记录 网络协议 部分。 How the web works? DNS in detail DNS (Domain name system&…

『功能项目』QFrameWork更新道具图片UGUI【71】

我们打开上一篇70QFrameWork物品交换UGUI的项目&#xff0c; 在资源商店免费下载图片 创建Image重命名为Icon并且隐藏Name 给Icon一张随意道具图片Icon 重新绑定对象 接下来创建IItem.cs接口 与 ItemConfig.cs道具配置类 创建Config文件夹 创建脚本&#xff1a;ItemConfig.cs 编…

【416】【举报垃圾信息】

这题倒挺简单的 注意一下映射关系&#xff0c;再使用字典即可。 class Solution:def reportSpam(self, message: List[str], bannedWords: List[str]) -> bool:nlen(message)if n1:return Falsedictdefaultdict(int)num0for a in message:dict[a]1for b in bannedWords:if…

构建高效心理辅导平台:Spring Boot实践

1绪 论 1.1研究背景 随着计算机和网络技术的不断发展&#xff0c;计算机网络已经逐渐深入人们的生活&#xff0c;网络已经能够覆盖我们生活的每一个角落&#xff0c;给用户的网上交流和学习提供了巨大的方便。 当今社会处在一个高速发展的信息时代&#xff0c;计算机网络的发展…

安装黑群晖,并使用NAS公网助手实现DDNS动态域名解析

很多人都会安装安装一个黑群晖进行练手&#xff0c;黑群晖有很多玩法和NAS套件&#xff0c;而且黑群晖安装比较简单&#xff0c;没有复杂的步骤&#xff0c;这也是很多人玩黑裙的理由&#xff0c;这里教大家如何安装黑群晖&#xff0c;并且安装神卓互联NAS公网助手实现DDNS动态…

【STM32】 TCP/IP通信协议(1)

一、前言 TCP/IP是干啥的&#xff1f;它跟SPI、IIC、CAN有什么区别&#xff1f;它如何实现stm32的通讯&#xff1f;如何去配置&#xff1f;为了搞懂这些问题&#xff0c;查询资料可解决如下疑问&#xff1a; 1.为什么要用以太网通信? 以太网(Ethernet) 是指遵守 IEEE 802.3 …

VisionPro - 基础 - 模板匹配技术和在VP中的使用 - PMAlign - PatMax (5)- 非线性模板变形匹配

前言&#xff1a; 本机继续对VP的PatMax 算子进行说明&#xff1a;本节讲非线性变形的模板匹配。 Non-Linear Pattern Deformation By default, PatMax requires that each boundary point in the instance of a pattern found in a run-time image closely correspond to a b…

Java 使用递归方法遍历B站下载文件并解析重命名

目录 背景 操作方法 声明 背景 出于学习和日常使用方便的目的&#xff0c;且考虑到有的资源过一段时间会失效&#xff0c;所以有时会下载B站的音频&#xff0c;视频&#xff0c;进行存放保留&#xff0c;下面介绍下载和下载之后解析文件的方法&#xff0c;仅供学习…

C++20中头文件compare的使用

<compare>是C20中新增加的头文件&#xff0c;此头文件是language support库的一部分。它包括&#xff1a;concepts、classes、customization point objects、functions。 1.concepts&#xff1a;三向比较运算符<>&#xff0c;目的是简化比对对象的过程&#xff0c;…

【编程实践】利用高德地图开放平台制作简易地图规定半径范围

需求分析 [little demo] 使用高德地图API创建一个显示特定半径范围的简易地图。 注册高德开放平台账号&#xff0c;获取API Key。&#xff08;精度要求不高可不需要&#xff09; 创建HTML页面&#xff0c;引入高德地图API。 设置地图中心点和初始缩放级别。 编写代码绘制指定半…