译自英文

图神经网络(GNN)是设计用于处理图结构数据的人工神经网络,通过消息传递机制,利用邻居信息的聚合来迭代更新节点表示。

图神经网络(GNN)是一类为输入为图的任务(如分子结构、社交网络或引文网络)而设计的人工神经网络。与假设固定大小、有序输入的标准神经网络不同,GNN 可处理任意大小和拓扑结构的图。由于图通常没有规范的节点排序,GNN 架构通常设计为置换等变的:重新排序输入节点会以相同方式重新排序相应的节点表示。对于图级预测任务,GNN 使用置换不变的读出函数,确保输出不受节点排序影响。

GNN 的关键设计元素是成对消息传递,其中节点通过与其邻居交换信息来迭代更新其表示。这使得网络能够捕获局部和全局结构信息。一个突出的应用是分子药物设计,其中分子被表示为图,原子作为节点,键作为边,通常还包括化学性质作为特征。图级任务包括预测分子对特定医疗用途(如消除大肠杆菌)的功效。GNN 也已应用于自然语言处理、社交网络分析、物理学和 NP 难组合优化。

历史发展

将神经网络应用于图结构数据的概念出现在 1990 年代末和 2000 年代初。Franco Scarselli 等研究者的早期工作引入了用于图的递归神经网络,以循环方式处理图结构。大约在同一时期,卷积方法被开发出来,导致了第一批图卷积网络。这些早期架构为现代 GNN 奠定了基础,后者通过许多学术和工业研究小组的贡献而不断演进。

一个重要里程碑是 2017 年消息传递神经网络(MPNN)的引入,它将许多现有的 GNN 变体统一在一个共同框架下。此后,提出了众多架构,每种都实现了不同风格的消息传递。一篇 2022 年的立场论文认为,许多被描述为“超越”消息传递的架构可以解释为在适当修改的图上进行消息传递,并为这类方法创造了“增强消息传递”一词。

架构

通用 GNN 的架构通常包括三种基本类型的层:置换等变层、局部池化层和全局池化层。置换等变层通常通过消息传递实现,通过聚合来自直接邻居的消息来更新节点表示。每个这样的层将感受野增加一跳,使节点能够从图的更远部分整合信息。

局部池化层通过下采样粗化图,类似于图像卷积神经网络中的池化。示例包括 k 最近邻池化、top-k 池化和自注意力池化。全局池化层,也称为读出层,生成整个图的固定大小表示,并且必须是置换不变的。常见的读出函数包括逐元素求和、均值或最大值。

标准消息传递 GNN 的表达能力至多与 Weisfeiler-Lehman 图同构测试相当,这意味着存在无法被此类网络区分的不同图结构。已提出在更高维几何(如单纯复形)上运行的更强大的 GNN。截至 2022 年,未来架构是否会克服消息传递原语仍是一个开放的研究问题。

消息传递层

消息传递层是大多数 GNN 的核心。形式上,它们可以表示为消息传递神经网络(MPNN)。给定一个图 G = (V, E),具有节点特征 x_u 和边特征 e_uv,MPNN 层使用可微函数 φ 和消息函数 ψ 更新每个节点的表示 h_u:

h_u = φ(x_u, ⊕_{v∈N_u} ψ(x_u, x_v, e_uv))

这里,N_u 表示节点 u 的邻域,⊕ 是置换不变的聚合函数,如求和、均值或最大值。消息函数 ψ 从每个邻居计算消息,聚合函数组合这些消息。更新函数 φ 然后将节点自身的特征与聚合的消息结合以产生新表示。

不同的 GNN 架构在如何定义 ψ 和 φ 上有所不同。例如,图卷积网络(GCN)使用邻居特征的简单归一化求和,而图注意力网络(GAT)采用注意力机制来加权邻居贡献。这些变体使 GNN 能够捕获图结构的不同方面。

几何深度学习

GNN 是更广泛的几何深度学习领域的一部分,该领域旨在将神经网络推广到非欧几里得域。在此背景下,许多现有架构可以解释为在适当定义的图上运行的 GNN。例如,计算机视觉中的卷积神经网络层可以视为应用于图的 GNN,其中节点是像素,边连接相邻像素。类似地,自然语言处理中的Transformer (architecture)层可以视为应用于完整图的 GNN,其中节点是文本段落中的单词或标记。

这种视角促进了领域间的交叉融合。为 GNN 开发的技术(如注意力机制)影响了 transformer 架构,而 transformer 的见解也启发了 GNN 设计。几何深度学习的统一观点已由 Michael Bronstein 和 Joan Bruna 等研究者阐述。

应用

GNN 已在广泛领域中找到应用。在分子生物学和化学中,它们用于药物发现、蛋白质功能预测和材料设计。例如,GNN 可以预测分子性质或生成具有所需特征的新分子。在社交网络中,GNN 驱动推荐系统、社区检测和链接预测。引文网络(其中论文是节点,引文是边)受益于 GNN 进行主题分类和影响力预测。

在物理学中,GNN 建模粒子相互作用并模拟动态系统。它们也应用于 NP 难组合优化问题,如旅行商问题或图着色,在这些问题中可以学习启发式方法。在自然语言处理中,GNN 用于语义解析、关系提取和知识图谱推理。此外,GNN 已用于计算机视觉中的场景图生成和点云处理。

软件库

几个开源库实现了 GNN,使其对研究者和从业者易于访问。PyTorch Geometric 构建于PyTorch之上,是最广泛使用的库之一,提供丰富的 GNN 层和数据集集合。TensorFlow GNN 为 TensorFlow 生态系统提供类似功能。深度图库(DGL)是框架无关的,支持 PyTorch 和 TensorFlow。对于 JAX 用户,jraph 提供 GNN 原语。在 Julia 语言中,GraphNeuralNetworks.jl 和 GeometricFlux.jl 提供 GNN 实现。

这些库通过提供消息传递、池化和读出操作的高效实现,加速了 GNN 的研究和部署。它们还包括处理图数据的实用工具,如批处理和加载,这对于在大图上训练至关重要。

挑战与未来方向

尽管取得了成功,GNN 仍面临若干挑战。一个主要问题是可扩展性,因为在大图上进行消息传递可能计算成本高昂。已开发图采样和小批量训练等技术来解决这一问题。另一个挑战是过平滑,即重复消息传递导致节点表示变得不可区分,限制了 GNN 的深度。

表达能力是另一个活跃的研究领域。由于标准 GNN 受 Weisfeiler-Lehman 测试限制,研究者已探索高阶 GNN、图 transformer 以及在单纯复形或超图上运行的架构。这些方法旨在捕获更复杂的结构信息。截至 2022 年,消息传递是否仍将是主导范式的问题尚未解决,关于增强消息传递和替代原语的持续工作正在进行。

可解释性和鲁棒性也很重要。理解 GNN 学习的内容并使其对图上的对抗攻击具有鲁棒性是活跃的研究课题。随着 GNN 越来越多地部署在医疗保健和自主系统等高风险领域,解决这些挑战对于其更广泛采用至关重要。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:graph-neural-networks·deep-learning·machine-learning·artificial-intelligence
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史