GCN、GAT、图Transformer等多种高级图神经网络架构以及各种谱域和空间域方法均可供选择。对于实践者而言,主要的挑战在于为特定任务选择最优架构。没有一种架构是绝对“最佳”的;最优选择在很大程度上取决于图数据特点、任务要求、计算预算和预期性能水平。此处提供一项对比分析,以指导此决策过程。
我们可以从几个重要维度评估这些架构:
表达能力
表达能力指GNN架构区分非同构图的能力,或者,在节点层级任务中,更常见的是指为具有不同邻域结构的节点计算出不同表示的能力。
- **GCN:**其表达能力受限,通常由1-Weisfeiler-Lehman (1-WL) 测试限制。固定的各向同性聚合(对邻居进行平均)限制了其捕获复杂局部结构的能力。
- **GAT:**通过使用注意力机制(aij),GAT执行各向异性聚合,为不同邻居分配不同的重要性分数。这通常使GAT的表达能力高于GCN,使其能更好地对局部邻域内的复杂依赖关系进行建模。
- **GraphSAGE(变体):**表达能力在很大程度上取决于所选的聚合函数(均值、池化、LSTM)。尽管比基础GCN具有更强的表达能力,但特定变体可能仍受1-WL测试的限制,具体取决于聚合方案。PNA旨在通过使用多个聚合器来改进这一点。
- **图Transformer:**理论上,如果使用合适的位态/结构编码,图Transformer具有比消息传递GNN更高的表达能力。它们可以更有效地对长程交互进行建模,但需要精心设计以保持置换等变性/不变性。
- **谱域方法(ChebNet等):**它们的表达能力与谱滤波器gθ(Λ)的选择和参数化有关。精心设计的滤波器可以捕获复杂的图属性,但实际限制常源于对图拉普拉斯算子的依赖。
计算复杂度和可扩展性
这考虑了训练和推理所需的计算资源(时间、内存),特别是随着图规模的增加。
- **GCN:**相对高效。每个层通常涉及稀疏矩阵乘法,复杂性约为O(∣E∣d),其中∣E∣是边数,d是特征维度。然而,全批量训练需要存储整个图和中间激活,使其无法扩展到非常大的图。
- **GAT:**由于需要计算每条边的注意力分数,每层计算强度比GCN高,大约为O(∣E∣d2)或O(∣E∣d),这取决于具体的注意力实现细节和注意力头数量。内存需求也更高。可扩展性常依赖于采样技术。
- **GraphSAGE:**通过邻居采样,在设计时就考虑了可扩展性。计算成本取决于采样的邻居数量,而非完整的图规模,使其适合大型图。内存使用也受批量大小和采样深度的控制。
- **图Transformer:**通常计算需求最高,如果使用密集注意力,其扩展性与节点数量呈平方或更高关系。将Transformer应用于图的方法侧重于稀疏化注意力或使用特殊的位态编码,但计算成本和内存对于大型图来说仍然是很大的挑战。
- **谱域方法:**对于精确的谱域方法,计算拉普拉斯算子特征分解对于大型图来说计算成本过高(O(∣V∣3))。像ChebNet这样的多项式近似避免了显式特征分解,使其更可行,但涉及拉普拉斯算子幂次的计算仍然可能昂贵且密集。
归纳能力
归纳学习是指模型在训练后对未见节点或全新图进行泛化的能力。
- **GCN(原始形式):**通常是直推式,依赖于训练期间所见整个图的固定图拉普拉斯算子。对于归纳式设置需要进行修改。
- **GAT:**自然是归纳式。注意力权重是根据局部邻域内的节点特征计算的,允许泛化到新节点或图。
- **GraphSAGE:**明确为归纳学习而设计。聚合函数在采样的局部邻域上操作,与完整图结构无关。
- **图Transformer:**通常是归纳式,前提是位态/结构编码方法可以应用于新节点/图。
- **谱域方法:**通常是直推式,因为它们依赖于图拉普拉斯算子,而该算子是为特定图定义的。归纳式应用它们常需要近似或修改。
图属性的处理
不同架构可能隐式或显式地以不同方式处理图特征,如边权重或节点/边类型。
- **GCN:**标准GCN在其公式中不直接使用边权重,尽管存在变体。它假定存在同质图结构(连接的节点相似)。
- **GAT:**如果将权重纳入特征空间或注意力计算中,可以隐式处理加权边。它的自适应加权对于异质图(连接节点可能不相似)是有利的。
- **GraphSAGE:**可以将边特征纳入消息计算。
- **图Transformer:**可以自然地纳入边特征,并可能有效地对复杂的关系结构进行建模。
- **谱域方法:**可以通过加权拉普拉斯算子的定义纳入边权重。
实现复杂性
这关系到使用标准库实现和调整架构的容易程度。
- **GCN、GraphSAGE、GAT:**广泛存在于PyTorch Geometric (PyG)和Deep Graph Library (DGL)等库中,实现相对简单。GAT在注意力头方面可能需要更细致的实现。
- **图Transformer:**实现可能更复杂,特别是在位态/结构编码和稀疏图数据的有效注意力机制方面。相比GCN/GAT,现成的、标准化的图Transformer层可能较少。
- **谱域方法(ChebNet):**实现需要理解谱图理论思想并处理矩阵函数的多项式近似,这可能比空间域方法更复杂。
权衡总结
选择一种架构涉及平衡这些因素。
常见GNN架构的定性比较。分数是相对且近似的(1=低,5=高)。GCN/GAT的可扩展性常依赖于稍后讨论的采样方法。图Transformer的可扩展性是一个活跃的研究方向。
何时选择哪种架构(一般指导原则):
- **起点 / 同质数据:**如果您的图规模相对较小到中等,呈现同质性,且计算资源适中,GCN提供了一个坚实高效的基准模型。
- **提升性能 / 异质性 / 边重要性:**如果GCN性能不足,或者您怀疑邻居重要性存在很大差异(潜在的异质性),GAT通常是下一步选择,它以适度的计算成本增加提供更好的表达能力。
- **大型图 / 归纳学习:**在处理无法进行全批量训练的巨型图时,GraphSAGE(或第3章讨论的其他采样/聚类方法)因其固有的可扩展性和归纳式设计而成为主要选择。
- **复杂关系 / 最大表达能力(有资源支持):**如果任务涉及潜在的复杂长程依赖,并且您拥有充足的计算资源,图Transformer可能提供最高的性能上限,前提是您能解决位态编码和计算扩展的挑战。
- 理论分析 / 特定滤波器:如果您的应用受益于基于谱图理论设计的滤波器,可以考虑ChebNet或其他谱域方法,同时留意它们通常的直推性质和潜在的计算障碍。
最终,对您的特定数据集和任务进行经验评估是不可或缺的。从更简单、高效的模型开始,并根据性能指标和资源限制,按需增加复杂性。下一章讨论的处理训练复杂性(如可扩展性(采样、聚类)和过平滑)的技术,常与这些前沿架构结合使用。