译自英文

图神经网络(GNNs)是为输入为图的任务设计的人工神经网络,利用消息传递机制迭代更新节点表示。它们具有置换等变性,广泛应用于分子生物学、社交网络和自然语言处理等领域。

图神经网络(GNNs)是一类设计用于处理图结构数据的人工神经网络,其输入由节点(顶点)和边(连接)组成,这些节点和边可能缺乏规范的排序。与假设固定大小、有序输入的标准神经网络不同,GNNs 能够处理不同大小和拓扑结构的图,因此适用于分子化学、社交网络分析和组合优化等领域。GNNs 的核心创新在于其使用成对消息传递机制,其中每个节点通过聚合来自其邻居的信息来迭代更新其表示,从而使网络能够捕捉局部结构模式和依赖关系。

GNNs 通常被设计为具有排列等变性,这意味着对输入图中的节点进行重新排序会导致网络产生的节点表示相应地重新排序。对于图级预测任务(例如预测整个分子的属性),GNNs 采用排列不变性的读出函数,将节点表示聚合成单个固定大小的输出,确保结果不受节点排序的影响。这一特性至关重要,因为图没有自然的节点顺序,无论图如何表示,网络的输出都应保持一致。

历史发展

GNNs 的概念源于早期针对结构化数据的神经网络研究,其基础思想可追溯至 1990 年代。早期方法,如应用于有向无环图的递归神经网络,为处理类图结构奠定了基础。然而,基于消息传递和排列等变性的现代 GNNs 公式在 2010 年代随着深度学习的兴起而获得 prominence。MIT CSAIL斯坦福人工智能实验室 等机构的研究人员为开发能够处理任意图的架构做出了贡献,从而将 GNNs 确立为 机器学习 中的一个独特子领域。

到 2010 年代末,GNNs 已成为 深度学习 中的标准工具,提出了众多变体以提高其表达能力和可扩展性。2022 年的立场论文《Weisfeiler 和 Leman 走向神经》及类似工作形式化了 GNNs 与图同构测试之间的关系,阐明了其理论局限性,并激发了对更强大架构的研究。

架构

通用 GNN 的架构实现了多个基础层,这些层协同工作以处理图结构输入。这些层包括排列等变层、局部池化层和全局池化层,每一层在变换图表示中发挥不同的作用。

排列等变层是 GNNs 的核心,通过图节点之间的成对消息传递实现。在消息传递层中,每个节点通过聚合从其直接邻居接收的消息来更新其表示。此过程每层将 GNN 的感受野增加一跳,使网络能够从逐渐更大的邻域中整合信息。消息传递操作可以形式化地表示为一个函数,该函数以节点特征、邻居特征和边特征为输入,并产生更新后的节点表示。

局部池化层通过下采样对图进行粗化,减少节点数量,同时保留重要的结构信息。这类似于卷积神经网络(CNNs)中的池化层,有助于增加 GNN 的感受野。常见示例包括 k 最近邻池化、top-k 池化和自注意力池化,每种方法根据不同标准选择保留的节点子集。

全局池化层,也称为读出层,提供整个图的固定大小表示。这些层必须具有排列不变性,即图节点和边的任何排列都不会改变最终输出。逐元素求和、均值和最大值操作是全局池化的典型选择,将节点表示聚合成单个向量,可用于图级预测。

消息传递层

消息传递层是 GNNs 的定义性组件,通过称为消息传递神经网络(MPNNs)的过程实现排列等变变换。给定图 G = (V, E),其中 V 为节点集,E 为边集,V 中的每个节点 u 具有相关特征 x_u,E 中的每条边 (u, v) 具有特征 e_uv。节点 u 的邻域,记为 N_u,由所有满足 (u, v) 属于 E 的节点 v 组成。

MPNN 层使用消息传递函数更新每个节点 u 的表示。该层计算从每个邻居 v 到 u 的消息,其中消息是源节点特征、目标节点特征和边特征的函数。这些消息使用排列不变性操作(如求和、均值或最大值)进行聚合,然后通过可微分的更新函数(通常是神经网络)与节点自身的特征结合。此过程可以重复多个层,使信息能够在图中传播。

消息传递函数的设计在不同 GNN 架构中有所不同。有些使用简单的线性变换,而另一些则采用更复杂的注意力机制或门控循环单元。聚合操作的选择也影响网络的表达能力及其捕捉不同类型结构信息的能力。

表达能力与局限性

标准消息传递 GNNs 的表达能力至多与 Weisfeiler-Lehman 图同构测试相当,后者是一种用于确定两个图是否同构的经典算法。这意味着存在标准 GNNs 无法区分的不同图结构,因为它们可能对非同构图产生相同的表示。这一局限性源于消息传递的局部性质,它依赖于从直接邻居聚合信息,可能无法捕捉全局结构模式。

为了克服这些局限性,研究人员提出了更强大的 GNNs,这些网络在高维几何结构(如单纯复形或超图)上运行,能够编码超越成对边的高阶交互。截至 2022 年,未来架构是否能完全克服消息传递原语仍是一个开放的研究问题,正在进行的工作探索了图变换器和等变神经网络等替代范式。

应用

GNNs 在广泛领域中找到应用,利用其处理图结构数据的能力。在分子生物学和化学中,分子被表示为图,节点代表原子,边代表化学键,通常包含已知的化学性质作为特征。图级任务包括预测分子对特定医学应用的功效(例如消除大肠杆菌)或估计物理和化学性质(如溶解度和毒性)。这使得 GNNs 成为药物设计和材料科学中的宝贵工具。

在自然语言处理中,GNNs 可应用于句法依存树或语义角色图,捕捉句子中单词之间的关系。它们也用于社交网络分析,以建模用户交互、检测社区和预测链接。引文网络(节点代表论文,边代表引用)是另一个常见应用,支持论文分类和推荐等任务。

GNNs 还与物理学相关,可用于建模粒子交互或模拟动态系统,以及 NP 难组合优化问题,其中可以学习图着色或旅行商问题等任务的启发式方法。GNNs 的多功能性使其在学术研究和工业应用中得到广泛采用。

与其他神经网络架构的关系

在几何深度学习的更广泛背景下,某些现有的神经网络架构可以被解释为在适当定义的图上运行的 GNNs。计算机视觉中常用的卷积神经网络(CNN)层可以被视为应用于节点为像素、边仅连接相邻像素的图的 GNN。这一视角突出了 CNNs 和 GNNs 之间局部连接和特征聚合的共同原则。

类似地,广泛用于自然语言处理和大语言模型的变换器层可以被视为应用于完整图的 GNN,其中节点是文本段落中的单词或标记。在这种解释中,变换器中的注意力机制充当一种消息传递形式,每个标记从所有其他标记聚合信息。这一联系激发了研究统一这些架构并将 GNNs 的见解应用于改进基于变换器的模型。

软件库和工具

已开发多个开源库以促进 GNNs 的实现和部署。PyTorch Geometric 基于 PyTorch 框架构建,提供了一套全面的图数据处理和消息传递层工具。TensorFlow GNN 在 TensorFlow 生态系统中提供类似功能。深度图库(DGL)是一个框架无关的库,支持多个后端,包括 PyTorch、TensorFlow 和 Apache MXNet。对于 Google JAX 用户,jraph 提供了一个轻量级的图神经网络库。在 Julia 编程语言中,GraphNeuralNetworks.jl 和 GeometricFlux.jl 提供了基于 Flux 机器学习框架构建的 GNN 实现。

这些库降低了研究人员和从业者的入门门槛,使得快速原型设计和实验各种 GNN 架构成为可能。它们包括标准消息传递层、池化操作以及加载和处理图数据集的实用工具,使 GNNs 对广泛受众可及。

未来方向

GNNs 的研究持续发展,活跃的研究领域包括提高表达能力、扩展到大型图以及对噪声或不完整数据的鲁棒性。图变换器的发展结合了注意力机制与图结构,代表了捕捉长距离依赖的有前景方向。此外,人们对将 GNNs 应用于动态图(节点和边随时间变化)以及具有多种节点和边类型的异构图越来越感兴趣。

截至 2020 年代初,GNNs 已成为机器学习工具包的标准组成部分,学术机构和行业研究实验室持续贡献。对其能力和局限性的理论理解不断深化,指导着下一代架构的设计,以应对日益复杂的基于图的问题。

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·geometric-deep-learning
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史