图神经网络研究综述
图神经网络由于其在处理非欧空间数据和复杂特征方面的优势,受到广泛关注并应用于推荐系统、知识图谱、交通道路分析等场景。
大规模图结构的不规则性、节点特征的复杂性以及训练样本的依赖性给图神经网络模型的计算效率、内存管理以及分布式系统中的通信开销带来巨大压力。本文首先简要介绍图神经网络模型中的消息传递机制,分类介绍常见的图神经网络模型,并分析其在大规模数据训练中面临的困难和挑战;然后对面向大规模数据的图神经网络算法模型进行分类总结和分析,包括基于节点、边和子图的采样算法;接着介绍图神经网络编程框架加速的相关进展,主要包括主流框架的介绍以及优化技术的分类总结和分析。
1 引言
图结构可描述复杂关系,如基因结构、通信网络、交通路线、社交网络等。图计算挖掘结构信息,但无法学习节点特征。神经网络在欧氏空间数据上表现优越,但无法直接应用于非欧氏空间的图数据。图神经网络结合图计算和神经网络优势,处理非欧氏空间数据及其复杂特征,应用于网络链接预测、推荐系统和交通道路分析等场景。实际应用中,图数据规模庞大,如百亿级节点、千亿级边,存储开销超过 10TB。GNN 在大规模数据中面临计算效率、内存管理和分布式通信开销的挑战。图神经网络模型在大规模数据应用中面临的挑战可分为图数据结构、图神经网络模型、数据规模、硬件平台。
- 图数据结构。 图数据结构的不规则性、稀疏性、动态性、节点邻居数量呈幂律分布及样本间相互依赖,对高效访存和分布式计算系统提出挑战。
- 图神经网络模型。 节点高维表示是图神经网络的显著特征,提高模型能力,但计算和内存开销增大,尤其在大规模数据中面临挑战。深层图神经网络模型因迭代更新机制,面临邻居节点爆炸问题。
- 数据规模。 图神经网络整批训练受内存限制,分批训练增大数据划分和迭代更新难度。
- 硬件结构。 图神经网络模型在图数据结构和复杂特征方面有建模需求,需要灵活的不规则数据读取和高效的密集计算。CPU 和 GPU 各有优势,但无法同时满足这两点需求,增加了大规模图神经网络模型加速的难度。
为了提高图神经网络(GNN)模型的可拓展性、加速运行过程和减小内存开销,以应对和缓解相关困难和挑战。研究者在应用模型方面,针对自然语言处理、交通预测和推荐系统等应用场景,提出提高图神经网络处理效率的策略。在算法模型方面,针对内存不足问题,研究采用分批训练,如 GraphSage、FastGCN 等。在编程框架方面,为解决训练样本依赖性,提出 DGL、PyG 等编程框架。在硬件结构方面,结合 CPU、GPU、FPGA 等硬件结构,提出优化策略或专用硬件加速结构,如 HyGCN。
图 1 GNN 整体框架图
表 1 列出了本文相关综述。综述 [29-32] 关注图神经网络模型的全图训练模式及其应用。然而,当节点或边数量庞大时,训练过程受限于单块 GPU 内存。为解决此问题,采样算法支持图神经网络模型从全图训练转向分批训练,并应用于大规模数据。图神经网络编程框架结合深度学习框架和图结构特征,提高存储利用率和计算效率,促进大规模数据应用。综述 [33-34] 主要总结图神经网络编程框架进展。综述 [36-38] 关注分布式平台,总结分析分布式 GNN 在算法模型、软件框架和硬件平台等方面的进展。
表 1 图神经网络相关综述
本文针对大规模图神经网络,从算法模型和框架优化两方面进行调研、总结和分析。首先介绍 GNN 基础知识和典型算法,接着总结不同粒度采样策略的图神经网络模型,以及主流加速框架及相关技术。为后续图神经网络在大规模数据应用中框架 - 算法的协同优化提供思路。
本文内容组织如图 2 所示:
图 2 本文内容组织
2 图神经网络
图神经网络 (GNN) 是一种用于图结构数据的神经网络模型,结合图计算和神经网络优势,捕捉图结构并抽象节点特征。图计算模型擅长捕捉拓扑结构,但无法处理高维特征。典型神经网络适用于欧氏空间数据,如卷积神经网络处理网格数据,循环神经网络处理序列信息。针对非欧氏空间复杂图数据,建模过程需要新处理机制。目前受欢迎的消息传播模式通过获取高阶邻居信息提升节点表达能力,包括邻居聚合和节点更新两步。
本节从消息传递机制出发,介绍图神经网络模型的聚合和更新操作,分类介绍图卷积神经网络、图注意力网络、循环图神经网络和自编码器图神经网络,分析其在大规模数据训练中的挑战,并总结挑战。
2.1 消息传递机制
基于神经网络的消息传递机制描述了节点特征在网络中进行传播的过程,传播结果最终会通过神经网络操作迭代地更新在节点表示中。图神经网络表示模型能够捕捉图结构信息和建模复杂的节点特征。
2.2 常见模型
图卷积神经网络(Graph Convolutional Network, GCN)。 GCN 是常见图神经网络模型,通过卷积操作实现邻居节点聚合。GCN 模型分为基于谱域和基于空间域两类,其中基于谱域的方法基于图信号分析和图谱论,基于空间域的方法关注邻居节点的直接聚合方式。
大规模数据训练中,GCN 面临内存不足和邻居爆炸问题。分批训练可缓解内存限制,但增加计算和内存消耗。随着层数增加,资源消耗呈指数级增长。
图注意力网络(Graph Attention Network, GAT)。 GAT 是一种深度学习模型,用于处理图结构数据。它通过引入注意力机制,为每个节点分配不同权重,以捕捉节点间的依赖关系。GAT 在图神经网络中具有高效性和可扩展性,广泛应用于社交网络、推荐系统和生物信息学等领域。


