GNN+Transformer=全局与局部完美融合!

2025深度学习发论文&模型涨点之——GNN+Transformer

图神经网络(GNN)和Transformer的结合是近年来的研究热点。这种结合不仅能够让两者发挥各自的优势,还能推动模型的创新,提高处理图数据的效率和性能。具体来说,通过利用Transformer,可以扩展GNN的感受野,包括那些距离中心节点较远的相关节点。相对地,GNN也可以帮助Transformer捕捉复杂的图拓扑信息,并从相邻区域高效地聚合相关节点。

除了推荐系统和图表示学习,GNN+Transformer还可以在其他领域进行更广泛的应用探索,如生物信息学、社交网络分析、知识图谱等。研究如何将GNN+Transformer的模型应用于这些领域,解决实际问题,具有重要的研究价值和应用前景。

论文精选

论文1:

[ICLR] Graph Neural Networks with Learnable Structural and Positional Representations

具有可学习结构和位置表示的图神经网络

方法

LSPE架构:提出了一种新颖的通用架构LSPE(Learnable Structural and Positional Encodings),将结构和位置表示解耦,使网络能够同时学习这两种基本属性。

随机游走位置编码(RWPE):引入基于随机游走扩散过程的位置编码方案RWPE,用于初始化节点的位置表示。

拉普拉斯位置编码(LapPE):考虑拉普拉斯特征向量作为位置编码,为节点提供唯一表示,但存在符号歧义问题。

位置编码损失:定义了位置编码损失函数,以约束位置编码形成受图拓扑约束的坐标系。

创新点

性能提升:在分子数据集上,使用可学习的位置编码(PE)时,性能提升显著,最高可达64.14%。

稀疏与全连接GNNs的比较:稀疏GNNs在性能上优于全连接GNNs,表明在图结构数据上,局部信息更为关键。

位置编码的解耦:通过解耦位置和结构表示,模型能够更有效地学习图中的位置信息,从而提高了图神经网络的表达能力。

RWPE的有效性:RWPE在多个数据集上优于LapPE,表明其在提供唯一节点表示方面更为有效,且不需要学习额外的符号不变性。

论文2:

[NIPS] Classic GNNs are Strong Baselines Reassessing GNNs for Node Classification

经典GNN是强大的基线:重新评估GNN在节点分类中的表现

方法

经典GNN模型:重新评估了三种经典GNN模型(GCN、GAT和GraphSAGE)在节点分类任务中的性能。

超参数调整:对GNN模型的关键超参数进行了细致的调整,包括归一化、dropout、残差连接和网络深度。

数据集多样性:在18个真实世界的数据集上进行了实验,涵盖了同质图、异质图和大规模图。

消融研究:通过消融研究,分析了不同GNN配置对节点分类性能的影响。

创新点

性能挑战:经过超参数调整后,经典GNN模型在17个数据集上取得了最佳性能,挑战了图变换器(GTs)在节点分类任务中的优越性。

超参数的重要性:揭示了超参数配置对GNN性能的显著影响,特别是在大规模图和异质图上。

归一化的必要性:在大规模图上,归一化对于稳定训练过程和提高性能至关重要。

残差连接的作用:残差连接在异质图上显著提高了性能,尤其是在需要深层网络来捕捉复杂结构时。

论文3:

[NIPS] Geometric Transformer with Interatomic Positional Encoding

具有原子间位置编码的几何Transformer

方法

Interatomic Positional Encoding (IPE):设计了基于原子簇扩展(ACE)理论的原子间位置编码,将原子环境参数化为Transformer的位置编码。

Geometric Transformer(Geoformer):提出了Geoformer,这是一种新颖的几何Transformer,通过IPE有效建模分子结构,用于多种分子属性预测。

原子簇扩展(ACE)理论:利用ACE理论定义了描述中心原子环境的完整基函数集,并显著减少了体阶计算的时间复杂度。

位置编码的更新与原子特征结合:在Geoformer的每个注意力块中,位置编码C⌘通过原子特征X进行更新,增强了模型对分子结构的建模能力。

创新点

Interatomic Positional Encoding (IPE):为Transformer引入了一种新的位置编码方法,能够参数化原子环境,使模型能够学习到超越成对距离的复杂几何信息。

Geometric Transformer(Geoformer):通过结合IPE,Geoformer在QM9数据集上的多个属性预测中超越了现有的最先进算法(SoTA),在Molecule3D数据集上无论是随机分割还是骨架分割,都实现了最低的平均绝对误差(MAE)。

性能提升:具体来说,在QM9数据集上,Geoformer在8种属性预测中取得了最佳性能,并在其余属性上表现出可比的结果。在Molecule3D数据集上,与ComENet相比,Geoformer在随机分割测试MAE上降低了32.56%,在骨架分割测试MAE上降低了3.98%。

论文4:

[ICLR] NODE FEATURE EXTRACTION BY SELF-SUPERVISED MULTI-SCALE NEIGHBORHOOD PREDICTION

通过自监督多尺度邻域预测的节点特征提取

方法

Graph Information Aided Node feature exTraction (GIANT)框架:提出了GIANT框架,利用图信息辅助的节点特征提取,通过自监督学习从原始数据中生成数值节点特征。

eXtreme Multi-label Classification (XMC)形式化:采用了XMC形式化,这对于基于图信息微调语言模型至关重要,并且能够扩展到大型数据集。

XR-Transformers:将XR-Transformers集成到GIANT框架中,这是一种强大的解决XMC问题的方法,用于执行邻域预测任务。

理论分析:提供了理论分析,证明了使用XMC优于链接预测,并且证明了将XR-Transformers集成到GIANT框架中的合理性。

创新点

GIANT框架:解决了标准GNN流程中图无关特征提取的问题,通过图结构自监督提取数值节点特征。

邻域预测与XMC问题的联系:建立了邻域预测与XMC问题之间的联系,允许通过XR-Transformers执行邻域预测,特别是在处理大规模问题时。

性能提升:在Open Graph Benchmark数据集上的实验结果表明,GIANT在多个下游任务中显著提高了GNN的性能。例如,在ogbn-papers100M数据集上,GIANT将排名第一的方法GAMLP的准确率从68.25%提高到69.67%,SGC从63.29%提高到66.10%,MLP从47.24%提高到61.10%。

理论支持:通过理论分析,验证了XR-Transformers的关键组件在邻域预测任务中的优势,进一步加深了对XR-Transformers和XMC问题的理解。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

### GNNTransformer架构的结合或对比 #### 图神经网络(GNN) 图神经网络是一种专门用于处理结构化数据的方法,特别是当这些数据可以被自然地表达成图形的时候。在图形中,实体被称为节点,而它们之间的交互则由边来表示。这种方法非常适合于那些具有复杂相互作用的数据集,比如社交网络、分子结构或是推荐系统的用户-项目互动矩阵。 对于物理系统的建模而言,通过将物体视为节点并将关系定义为边,能够实现一种简化却有效的基于GNN的对象间推理方式[^1]。这使得GNN成为解决涉及多体动力学预测等问题的理想工具。 #### Transformer架构 另一方面,Transformers最初是为了序列到序列的任务设计出来的,例如机器翻译,在这类任务里输入和输出都是线性的符号串。然而,由于其强大的并行计算能力和自注意力机制,transformer已经被广泛应用于各种类型的NLP和其他领域的问题上。尽管如此,原始形式下的transformer并不直接适用于非欧几里得空间中的数据,如图表征学习所面临的那样。 #### 结合两者的优势 为了克服各自局限性的同时发挥两者的优点,研究者们探索了如何把GNNs同transfomers结合起来的可能性。这种组合可以在保持对结构性质敏感的基础上增强模型捕捉长期依赖性和全局上下文的能力。具体来说: - **跨域特征融合**:利用GNN提取局部邻近区域内的拓扑特性;借助transformer捕获远距离节点间的潜在联系。 - **层次化的表征构建**:先用GNN生成初步的节点嵌入向量,再把这些低级描述传递给transformer层进一步加工提炼得到更高级别的抽象表述。 ```python import torch from torch_geometric.nn import GCNConv, global_mean_pool from transformers import BertModel class GNNTraformer(torch.nn.Module): def __init__(self, gnn_input_dim, transformer_hidden_size=768): super(GNNTraformer, self).__init__() # Define the GNN part of the network self.gcn_conv = GCNConv(gnn_input_dim, transformer_hidden_size) # Load pre-trained BERT model as an example for transformer component self.transformer = BertModel.from_pretrained('bert-base-uncased') def forward(self, data): x, edge_index, batch = data.x, data.edge_index, data.batch # Apply GNN layer to get node embeddings x = self.gcn_conv(x, edge_index) # Aggregate over all nodes within each graph instance pooled_output = global_mean_pool(x, batch) # Pass through transformer layers treating aggregated outputs like sentences tokens output = self.transformer(inputs_embeds=pooled_output.unsqueeze(0)) return output.last_hidden_state.squeeze() ``` 此代码片段展示了一个简单的GNNTraformer框架实例,其中包含了GCN卷积操作以获取初始节点表示,并随后将其送入BERT风格的变压器组件来进行最终的信息综合处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值