图神经网络(GNN)中的图同构与WL测试详解
描述
图同构(Graph Isomorphism)是判断两个图在拓扑结构上是否等价的计算问题,而WL(Weierstrass-Lehman)测试是一种经典的图同构判定算法。在图神经网络中,WL测试与GNN的表达能力密切相关——它揭示了GNN在区分不同图结构时的理论极限。理解WL测试有助于分析GNN的性能边界,例如为什么某些GNN无法区分特定结构的图。
知识背景
- 图同构:两个图 \(G_1\) 和 \(G_2\) 同构,当且仅当存在一个节点间的双射关系,使得边的连接关系完全一致。
- GNN的核心操作:通过迭代聚合邻居信息更新节点表示,最终通过池化得到图级表示。
- 关键问题:GNN的表达能力是否足以区分任何非同构图?WL测试给出了理论答案。
WL测试的步骤
-
初始化标签:
为每个节点分配初始标签 \(l^{(0)}(v)\),通常基于节点的度(degree)或其他离散属性。若节点无特征,所有节点初始标签相同(例如均为1)。 -
迭代标签细化
在第 \(k\) 次迭代中,对每个节点 \(v\):- 聚合邻居标签:收集节点 \(v\) 所有邻居 \(\mathcal{N}(v)\) 的当前标签 \(\{l^{(k-1)}(u) \mid u \in \mathcal{N}(v)\}\)。
- 生成新标签:将 \(v\) 的当前标签 \(l^{(k-1)}(v)\) 与邻居标签的多集合(multiset)组合,通过哈希函数 \(\phi\) 映射为新标签:
\[ l^{(k)}(v) = \phi \left( l^{(k-1)}(v), \{ l^{(k-1)}(u) \mid u \in \mathcal{N}(v) \} \right) \]
其中多集合允许重复值,保留邻居标签的分布信息。
-
检查稳定状态
每轮迭代后,比较当前标签集合 \(\{l^{(k)}(v)\}\) 与上一轮 \(\{l^{(k-1)}(v)\}\)。若所有节点的标签不再变化(即每个标签类下的节点集合稳定),或达到最大迭代次数,则停止。 -
同构判定
比较两个图 \(G_1\) 和 \(G_2\) 的最终标签集合:- 若标签的多集合分布不同(例如某标签的出现次数不同),则 \(G_1\) 和 \(G_2\) 不同构。
- 若分布相同,WL测试无法判定(可能存在假阴性,但实际中极少见)。
示例说明
考虑两个简单图:
- \(G_1\):三角形(3个节点两两相连)
- \(G_2\):星形(中心节点连接3个叶节点)
初始时,\(G_1\) 中所有节点度为2,标签相同;\(G_2\) 中中心节点度为3,叶节点度为1,标签分两类。
第一轮迭代后,\(G_1\) 中每个节点的邻居都有两个度为2的节点,标签仍相同;\(G_2\) 中中心节点的邻居均为度1,叶节点的邻居为度3,标签分布与初始不同。最终两个图的标签分布明显不同,WL测试正确区分。
WL测试与GNN的关联
- 表达能力等价性:若GNN使用单射(injective)聚合函数(如Sum)和读函数,其区分图结构的能力与WL测试等价。
- 局限性:WL测试无法区分某些正则图(如两个相同大小的环),对应GNN也无法区分这类结构。
- 改进方向:更高阶的WL测试(如k-WL)或引入子结构信息可增强GNN表达能力。
总结
WL测试是分析GNN表达能力的理论基础。通过理解其迭代标签细化机制,可深入认识GNN如何处理图结构,并为设计更强大的GNN模型(如Graph Transformer)提供指导。