try ai
科普
编辑
分享
反馈
  • 图神经网络理论

图神经网络理论

SciencePedia玻尔百科
核心要点
  • 图神经网络基于消息传递原理运行,节点通过迭代地聚合其邻居信息来学习结构化表示。
  • GNN的设计通过顺序不变的聚合方式内在地遵循图的对称性,确保预测结果与任意的节点标签无关。
  • GNN面临着一些基本限制,包括由Weisfeiler-Lehman测试定义的表达能力上限、深度模型中的过平滑问题以及过压缩瓶颈。
  • 通过对关系系统进行建模,GNN被应用于各种科学领域,从预测分子特性到模拟物理过程和解码生物网络。

引言

我们的世界,从分子层面到社会层面,不仅由单个实体定义,更由连接它们的复杂关系网络所定义。长期以来,人工智能面临的挑战是如何超越对孤立数据点的分析,开始对这些复杂的、相互连接的系统进行推理。图神经网络(GNN)作为应对这一挑战的深刻答案应运而生,它提供了一个专门为从网络结构中学习而设计的计算框架。

本文深入探讨了支撑GNN的优雅理论。它旨在弥合将GNN仅仅作为工具使用与真正理解其工作原理及潜在失效点之间的知识鸿沟。读完本文后,您将对这一强大的模型类别有一个扎实的概念性理解。我们将首先探讨“原理与机制”一章,该章解码了GNN的核心逻辑——直观的“邻里八卦协议”(gossip protocol)般的消息传递、对称性的关键作用,以及定义其能力的迷人理论极限。随后,“应用与跨学科联系”一章将展示这些原理如何应用于整个科学领域,揭示在建模物理、生物乃至抽象系统方面的深层统一性。

原理与机制

想象一下,你想了解一个人。你可以研究他们的个人属性——身高、工作、年龄。但你会错过一个巨大的拼图:他们的关系。他们的朋友是谁?同事是谁?家人是谁?我们存在于一个网络中,我们的身份既由我们的内在属性塑造,也同样由我们的社会关系塑造。

现在,想象一下教一台机器以这种方式进行推理。这正是图神经网络(GNN)如此优雅解决的核心挑战。GNN不仅仅是查看一个项目列表,它审视的是项目之间错综复杂的连接网络。无论是细胞中的蛋白质网络、社交网络,还是分子中的原子,GNN通过拥抱图本身的结构来进行学习。但它是如何做到这一点的呢?其原理是简单直觉与深刻数学对称性的美妙结合。

邻里八卦协议:消息传递

GNN的核心机制是一个我们可以直观地称之为“邻里八卦协议”的过程。图中的每个节点开始时都带有一些关于自身的初始信息——一组特征,我们可以将其视为一个数字向量 xvx_vxv​。然后,在一系列轮次中,每个节点做两件事:它“听取”来自其直接邻居的“八卦”,并根据所听到的内容更新自己对世界的理解。

这个过程被称为​​消息传递​​。在网络的每一轮(或“层”)中,每个节点 vvv 从其邻居 N(v)\mathcal{N}(v)N(v) 接收“消息”。一条消息通常只是邻居当前的特征向量,可能经过某种方式的转换。然后,该节点将这些消息聚合为一条单一信息——例如,通过对它们求和或求平均。最后,它将这个聚合后的消息与自己当前的向量结合,为下一轮创建新的特征向量。

我们来具体说明一下。假设我们有一个节点在第 kkk 层的表示,称为 hv(k)h_v^{(k)}hv(k)​。为了得到它在下一层 k+1k+1k+1 的表示 hv(k+1)h_v^{(k+1)}hv(k+1)​,GNN执行一次更新:

hv(k+1)=UPDATE(hv(k),AGGREGATE({hu(k)∣u∈N(v)}))h_v^{(k+1)} = \text{UPDATE} \left( h_v^{(k)}, \text{AGGREGATE} \left( \{ h_u^{(k)} \mid u \in \mathcal{N}(v) \} \right) \right)hv(k+1)​=UPDATE(hv(k)​,AGGREGATE({hu(k)​∣u∈N(v)}))

在这里,AGGREGATE 是一个组合邻居向量的函数,而 UPDATE 是一个函数(通常是一个小型神经网络),它将旧的自身表示与聚合后的邻居信息结合起来。

这个简单的迭代能实现什么?一些非常深刻的东西。经过一轮后,一个节点的特征向量 hv(1)h_v^{(1)}hv(1)​ 包含了关于其直接1跳邻域的信息。经过第二轮后,它的邻居已经整合了来自它们邻居的信息。因此,当节点 vvv 听取它们的信息时,它间接地听到了来自其2跳邻域的信息。经过 KKK 层之后,向量 hv(K)h_v^{(K)}hv(K)​ 成为了一个丰富的嵌入,它总结了节点 vvv 的 KKK 跳半径范围内的图结构。

我们可以通过观察图的​​邻接矩阵​​ AAA 来看这个过程最纯粹的形式。如果我们将所有节点的特征表示为一个矩阵 XXX,那么乘积 AXAXAX 为每个节点计算了其邻居特征向量的总和。这便是一次消息传递步骤!乘积 A2X=A(AX)A^2 X = A(AX)A2X=A(AX) 计算了来自2跳邻居的特征总和。一个基于 A2XA^2 XA2X 和 A3XA^3 XA3X 计算其输出的GNN层,实际上是在考察到达每个节点的2步和3步路径的数量,从而使其感知到局部拓扑结构。矩阵的幂与图上的游走之间的这种美妙联系,是消息传递之所以能探索网络结构的数学核心。

游戏规则:对称性与等变性

这个“八卦协议”必须遵守一个微妙但至关重要的规则。我们分配给节点的标签——“节点1”、“节点2”等等——是完全任意的。如果我们打乱这些标签,我们得到的仍然是完全相同的图。水分子的物理性质不会因为我们把左边的氢原子标记为“H1”、右边的标记为“H2”或反之而改变。一个鲁棒的模型必须在不考虑这些任意标签的情况下,得出相同的基本结论。

这引出了两个关键的对称性原理:

  1. ​​置换等变性(Permutation Equivariance):​​ 如果我们执行节点级别的任务,比如预测分子中每个原子的属性,我们的预测应该遵循与输入相同的排列方式。如果我们交换原子1和2的标签,我们对原子1和2的预测也应该相应交换。更新节点特征的函数 ϕ\phiϕ 必须是等变的:如果我们对输入图进行置换(通过将邻接矩阵 AAA 的行和列置换为 PAP⊤PAP^\topPAP⊤ 以及将特征矩阵 XXX 的行置换为 PXPXPX),输出的特征矩阵也必须以完全相同的方式被置换:ϕ(PX,PAP⊤)=Pϕ(X,A)\phi(PX, PAP^\top) = P \phi(X, A)ϕ(PX,PAP⊤)=Pϕ(X,A)。

  2. ​​置换不变性(Permutation Invariance):​​ 如果我们执行图级别的任务,比如预测整个分子的毒性,答案必须完全不变。读出最终图属性的函数 ρ\rhoρ 必须是不变的:ρ(PX)=ρ(X)\rho(PX) = \rho(X)ρ(PX)=ρ(X)。

GNN是如何实现这一点的?魔力在于 AGGREGATE 函数。通过选择一个对其输入顺序不敏感的函数,例如 sum、mean 或 max,GNN就能自动满足这个对称性要求。你的邻居消息的总和与你对它们求和的顺序无关。这个简单的设计选择确保了GNN学习到的是图的真实结构属性,而不是其任意标签造成的人为结果。

协议的能力与风险

这种消息传递框架非常强大,但与任何模型一样,它也有其局限性。理解这些限制不仅仅是为了调试我们的模型,它揭示了关于图上信息本质的更深层次的真理。

表达能力上限:Weisfeiler-Lehman测试

我们这个简单的“八卦协议”是否强大到足以区分任何两个不完全相同的图?令人惊讶的答案是:不。标准GNN的表达能力存在一个理论上限。

考虑两个简单的图,每个图都有六个节点,且所有节点都具有相同的初始特征。第一个图是一个6节点环(一个环形)。第二个图是两个独立的、不相连的3节点三角形。这两个图显然是不同的——一个是连通的,另一个不是。然而,在这两个图中,每个节点的度都是2。在第一轮消息传递中,每个节点都听取其两个邻居的信息。由于所有节点都以相同的特征开始,每个节点都接收到完全相同的消息多重集:{{feature, feature}}。它们都更新为相同的新特征向量。在第二轮中,情况重复。在任何时候,环中的节点都无法根据其局部邻域信息将自己与其中一个三角形中的节点区分开来。GNN对全局结构是“盲目”的。

这个局限性由​​图同构的Weisfeiler-Lehman(WL)测试​​进行了形式化。1-WL测试是一种算法,它根据节点自身的颜色及其邻居颜色的多重集来迭代地“着色”节点。已经证明,标准的消息传递GNN的表达能力​​最多与1-WL测试相当​​。只有当1-WL测试能够区分两个图时,GNN才能做到。这是因为GNN的更新规则——将节点自身的状态与其邻居状态的聚合相结合——是1-WL颜色更新的神经化版本。为了达到这种能力,GNN的聚合和更新函数必须都是单射的(injective),这意味着它们不会通过将不同的输入映射到相同的输出来丢失信息。虽然这提供了一个强大的框架,但它也定义了其基本限制。

回音室效应:过平滑

如果我们运行“八卦协议”太多轮会发生什么?想象一下一个谣言在人群中传播。起初,不同的人有稍微不同版本的故事。但经过数百次转述后,细节丢失了,最终每个人都得到了相同平淡、被平均化的版本。

这正是在深度GNN中发生的事情。这种现象被称为​​过平滑​​(over-smoothing)。经过多层之后,一个节点的感受野已经扩展到包含图的很大一部分。它的特征向量变成了几乎所有其他节点特征的平均值。最终,图中一个连通分量内所有节点的特征向量会收敛到相同的值,变得无法区分,对预测任务毫无用处。

从信号处理的角度来看,标准的图卷积算子充当了一个​​低通滤波器​​。它平滑了节点特征,将局部的、高频的变化平均掉了。堆叠许多层就像一遍又一遍地应用这个滤波器,最终将信号平滑成一条直线。为了解决这个问题,研究人员已经开发出巧妙的架构解决方案,例如​​残差连接​​(帮助节点记住其初始状态)或​​跳跃知识连接​​(允许节点查看所有先前轮次的“八卦”,而不仅仅是最后一轮),从而保留来自较浅层的关键局部信息。

瓶颈:过压缩

最后一个更微妙的限制并非源于深度,而是源于图的拓扑结构。如果一个GNN需要在两个遥远的节点之间传递消息,但它们之间的所有路径都必须经过一个单一的“桥梁”边,会发生什么?来自一个大型节点社区的信息必须被“压缩”到单个节点的表示中,通过桥梁传递,然后在另一侧“解包”。这就像试图用一条推文来总结整个图书馆的书籍。信息不可避免地会丢失。

这种现象被称为​​过压缩​​(over-squashing)。这是一个信息瓶颈问题,即图本身的结构限制了某些区域之间的信息流动。与过平滑不同,即使在浅层GNN中也可能发生这种情况。我们甚至可以使用一个来自电气工程的美妙概念来量化这个瓶颈:​​有效电阻​​。图中两个节点之间的高有效电阻意味着信息流受到限制,GNN将难以在它们之间传递消息。这再次凸显了该领域的深刻统一性,物理学和电路理论的概念为我们最先进学习算法的行为提供了深刻的见解。

通过理解这些原理——消息传递的直观力量、对称性的基本约束,以及表达能力、平滑和压缩的迷人局限性——我们超越了简单地将GNN用作黑匣子的阶段。我们开始看到它们的本质:它们是真正尊重我们世界丰富的关系本质的优雅计算模型。

应用与跨学科联系

在建立了图神经网络的理论基础——消息传递、置换等变性和信息池化之后,我们现在转向它们的实际应用。本节探讨了核心GNN机制如何被应用于解决不同科学学科中的复杂问题。通过考察物理学、生物学乃至抽象推理中的用例,我们可以领会该模型的多功能性及其捕捉许多现实世界系统中固有的关系结构的能力。这些例子表明,一个实体的属性由其局部连接所塑造这一基本原理,为从原子到社会层面建模各种系统提供了一个统一的框架。

物理世界:从分子到交通拥堵

让我们从一些有形的东西开始:原子和分子的世界。从非常真实的意义上说,分子是典型的图。原子是节点,将它们连接在一起的化学键是边。因此,化学家成为首批爱上GNN的科学家之一也就不足为奇了。通过向GNN输入分子的二维图,我们可以训练它预测各种性质——其在水中的溶解度、潜在毒性、颜色等。GNN通过在原子间传递消息来“看见”分子,学习局部结构(如碳原子环)如何对整体的全局性质做出贡献。

但在这里,我们偶然发现了一个奇妙地微妙而深刻的局限,它比一百次成功更能教给我们东西。考虑两个互为镜像的分子,就像你的左手和右手。在化学中,它们被称为对映异构体(enantiomers),并且可以具有截然不同的生物学效应。Thalidomide的悲剧就是一个鲜明的提醒,其中一种对映异构体是镇静剂,而其镜像异构体则导致出生缺陷。现在,让一个标准的GNN,在只给定原子和化学键的二维图的情况下,去区分左手性版本和右手性版本。它做不到!对于只看到连接性的GNN来说,这两个分子是相同的——它们是同构图。它对定义其“手性”的空间三维排列是“盲目”的。这不是GNN的失败;而是对其功能的一次精确而美妙的澄清。它们是拓扑学的大师,而不是几何学。而正是这个局限性,催生了一个全新的研究领域——能够以完整的立体化学视角看待世界的3D感知GNN。

这个学习局部物理规则的想法远远超出了单个分子。想象一下,你想模拟一个复杂的物理过程,比如热量在金属板中的扩散或星系的引力之舞。传统方法是写下微分方程并求解,这可能异常困难。但我们能否从数据中学习模拟呢?我们可以将物理空间表示为一个网格——一个由连接点组成的图。然后可以训练一个GNN来预测每个点(如其温度)的状态如何根据其邻居的状态演变。它一次学习一个邻域,从而掌握了扩散的局部物理规律。

在这里,GNN的结构与它所学习的物理学之间存在着一种美妙的联系。对于一个持续时间为 Δt\Delta tΔt 的扩散过程,点源的影响会扩散到一个特征距离,比如 rdiff=2dκΔtr_{\text{diff}} = \sqrt{2d\kappa \Delta t}rdiff​=2dκΔt​,其中 κ\kappaκ 是扩散系数。为了让GNN捕捉到这一点,它的“感受野”——信息在网络中传播的距离——必须至少这么大。如果GNN的每一层将信息沿着网格传递一跳,并且每一跳覆盖的距离为 hhh,那么一个有 KKK 层的GNN可以“看到”的距离是 rGNN=Khr_{\text{GNN}} = K hrGNN​=Kh。为了构建一个忠实的模型,我们必须确保我们的计算结构与物理现实相匹配,这意味着我们需要一个最小层数 KKK 以满足 Kh≥rdiffK h \ge r_{\text{diff}}Kh≥rdiff​。我们网络的深度不是一个任意的选择;它是由我们试图模拟的物理定律决定的。

同样的想法也适用于工程世界。考虑一个城市的交通网络。交叉路口是节点,道路是边,其权重为道路容量。一个GNN可以观察当前的交通状况并预测拥堵将在何处形成。但要做到这一点,它必须足够智能。一个简单的GNN可能会看到一个有很多连接的主要交汇处,并仅仅因为其度数高就认为它很重要。但人类司机知道,真正的问题在于瓶颈。一个复杂的GNN也能学会这一点。通过为其消息传递选择正确的数学形式——具体来说,是一种考虑到边两端容量的归一化方法——GNN变得对瓶颈点敏感。它学会了,一条四车道高速公路变窄为单车道隧道是灾难的根源,无论其他地方有多少道路与之相连。GNN学会了流动的直观物理逻辑。

生命世界:解码生命之网

如果说物理世界是结构化互动的舞蹈,那么生物世界则是一首令人难以置信的复杂交响乐。在这里,GNN同样提供了一个清晰的视角。在你的每一个细胞内,都有一个巨大而繁忙的蛋白质都市,它们在一个规模惊人的网络中相互作用——蛋白质-蛋白质相互作用(PPI)网络。疾病通常不是单个组件的失效,而是一场交通堵塞,是故障通过这个网络传播的级联反应。

我们可以使用GNN来追踪这些病理级联。对于一个特定的病人,我们可以测量他们基因的活性(mRNA水平)和他们携带的遗传变异。然后,我们将这些数据表示为PPI图上节点的特征。GNN随后通过网络传播这些信息,消息的权重由蛋白质相互作用的强度决定,从而学习精确定位在疾病状态下哪些节点成为关键枢纽。这不仅仅是模式识别;它是一个疾病发病机制的计算模型,是迈向个性化医疗的关键一步。

然而,生物学不像物理学那样整洁。我们的知识常常不完整,我们的数据也充满噪音。但我们并非在盲目飞行。数十年的研究给了我们一份生物相互作用的“零件清单”:我们知道某些基因会激活另一些基因,而有些则会抑制它们。我们可以将这些知识编码到我们的GNN中。我们不使用简单的图,而是使用一个“符号图”(signed graph),其中边被标记为正(激活)或负(抑制)。然后我们可以设计GNN的数学表示——使用一个称为符号拉普拉斯算子(signed Laplacian)的算子——来强制其消息遵守这些规则。一个激活链接必须传递正向影响;一个抑制链接必须传递负向影响。GNN不再仅仅是从零开始学习;它在既定生物学知识的约束下进行推理,这使其更加鲁棒、可解释和值得信赖。

医学领域中最具未来感的应用或许是解决未知问题。有成千上万种罕见疾病,其中许多是医生在其整个职业生涯中可能永远不会遇到的。我们如何构建一个能够诊断它从未见过的疾病的系统?这就是“零样本学习”(zero-shot learning)的挑战。关键是建立一个庞大的生物医学“知识图谱”,这是一个连接疾病与其已知症状(表型)、遗传原因、受影响的生物通路等等的网络。使用GNN,我们可以为该图谱中的每一种疾病计算一个丰富的描述性向量——一个“语义地址”——基于其独特的连接网络。即使对于在我们的训练集中没有任何患者数据关联的罕见疾病,我们也可以做到这一点。然后,当一个新病人到来时,我们可以将他们的症状和遗传标记的概况映射到同一个语义空间中,并找到最接近的疾病地址。这就像不是通过照片,而是通过对其生活、家庭和职业的丰富描述来识别一个人。

抽象世界:推理、关联与推荐

GNN的力量超越了物理和生物领域,延伸到抽象结构的范畴,包括人类社会乃至思想本身。

我们从一个前提出发,遵循一连串的逻辑步骤得出结论。我们可以将这个过程表示为一个图,其中事实或陈述是节点,逻辑蕴涵(“如果A,则B”)是有向边。GNN可以通过在一个前提节点上初始化一个“真值”信号,并将其在图中传播设定的步数,来执行这种多跳推理。但现实世界的信息是混乱的;一条真实的逻辑路径可能被代表不相关或误导性连接的干扰边所包围。一个只是简单地平均其所有邻居信息的GNN会很快迷失方向,其信号被噪声稀释。这就是配备了注意力机制的更先进的GNN大放异彩的地方。它们可以学习权衡传入消息的重要性,有效地专注于“蕴涵”边而忽略干扰项。从本质上讲,GNN学会了遵循一条连贯的思路。

最后,同样的数学机制在社会科学中也找到了用武之地。一场病毒式营销活动、一个新思想,或者不幸的是,虚假信息的传播,都是一个社交网络上的扩散过程。模拟交通流或热量耗散的GNN更新规则,同样可以模拟一个想法如何从少数“种子”个体开始,在社区中传播。网络的结构——谁与谁相连,以及他们的影响力如何——决定了最终结果。

从原子到思想,从星系到基因,世界是由网络编织而成的。图神经网络为我们提供了一种强大而通用的语言来描述这些互动之网。它们体现了一个简单而深刻的原则:要理解一个事物,必须理解它的关系。通过学习和模拟这些局部关系,GNN使我们能够建模、预测并最终理解我们周围宇宙中涌现出的全局复杂性。