人工智能咨询培训老师叶梓 转载标明出处
在自然语言处理和计算机视觉等领域,Transformer架构已经成为主导选择。然而,在图级别的预测任务中,它的表现并不如主流的图神经网络(GNN)变体。这一现象引发了一个思考:Transformer是否适合图表示学习,以及如何使其在图表示学习中发挥作用。来自大连理工大学、普林斯顿大学、北京大学和微软亚洲研究院的研究人员共同提出了一种名为Graphormer的新型架构,该架构基于标准的Transformer架构,并在多个图表示学习任务上取得了优异的结果。
Graphormer的核心观点是,要有效地利用Transformer进行图表示学习,关键在于如何有效地将图的结构信息编码到模型中。为此提出了几种简单但有效的结构编码方法,帮助Graphormer更好地模拟图结构数据。
方法
图1为Graphormer模型中的三种关键结构编码方法:中心性编码、空间编码和边编码的视觉表示。这些编码方式共同作用,使得Graphormer能够有效地利用图数据的结构信息。
中心性编码
中心性编码是Graphormer的一个关键特性,它通过考虑节点的入度和出度来捕捉节点在图中的重要性。这种编码方式允许模型在计算注意力时同时考虑节点的语义相关性和节点的重要性。如图1所示,中心性编码可以被视为节点特征的直接扩展。
其中,是可学习的嵌入向量,分别由节点的入度和出度决定。这种编码方式使得模型能够更好地理解图中节点的重要性。
空间编码
空间编码利用了Transformer的全局接受域优势,通过定义一个函数φ来衡量节点对之间的空间关系。这个函数基于节点之间的最短路径距离,为自注意力模块提供了一个可学习的偏置项。
这种编码方式允许模型根据图的结构信息自适应地调整注意力分布,从而更好地捕捉图中的空间依赖性。
边编码
边编码是Graphormer的另一个创新点,它通过考虑连接节点对的边的特征来增强注意力机制。这种方法通过计算边特征和可学习嵌入的点积的平均值,将边特征作为注意力模块的偏置项纳入模型。
其中,c_ij 是通过边特征和可学习嵌入的点积的平均值计算得到的,这使得模型能够更全面地利用边信息。
Graphormer层是基于经典的Transformer编码器实现的,它在多头自注意力(MHA)和前馈块(FFN)之前应用层归一化(LN),而不是之后。这种修改已被证明可以更有效地优化模型。
Graphormer引入了一个特殊节点[VNode],它与图中的每个节点单独连接,使得模型能够更好地捕捉整个图的全局信息。
Graphormer不仅能够表示流行的GNN模型(如GIN、GCN、GraphSAGE)中的AGGREGATE和COMBINE步骤,而且通过使用空间编码,Graphormer能够超越经典的信息传递GNNs,其表达能力不亚于1-Weisfeiler-Lehman (WL)测试。
另外Graphormer还发现使用自注意力和虚拟节点启发式之间存在有趣的联系。自注意力能够自然地完成图级别的聚合和传播操作,而无需额外的编码,这使得Graphormer在不遇到过度平滑问题的情况下,实现了可扩展的改进。
想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。
评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。
实验
首先在OGB-LSC(Open Graph Benchmark Large-Scale Challenge)上进行了实验,这是目前最大的图级别预测数据集,包含超过3.8M个图。还在OGB和benchmarking-GNN的其他三个流行任务上报告了结果。
实验设置:
模型大小:报告了两种模型大小的结果,Graphormer(L = 12, d = 768)和较小的GraphormerSMALL(L = 6, d = 512)。
优化器:使用AdamW,设置超参数ϵ为1e-8,(β1, β2)为(0.99, 0.999)。
学习率调度:峰值学习率设置为2e-4(GraphormerSMALL为3e-4),预热阶段为60,000步,之后采用线性衰减学习率调度器。
总训练步数:1M步。
批处理大小:1024。
训练硬件:所有模型在8个NVIDIA V100 GPU上训练了大约2天。
表1展示了在PCQM4M-LSC数据集上的性能比较。GIN-VN在验证MAE上达到了0.1395的最佳状态。报告了GT模型的结果,通过增大隐藏维度到768(称为GT-Wide),参数总数达到83.2M,但未超过GIN-VN和DeeperGCN-VN的性能。
Graphormer在与之前最佳GNN架构相比,显著超越GIN-VN,例如,在验证MAE上降低了11.5%。使用ExpC集成后,Graphormer在完整测试集上达到了0.1200的MAE,并在OGB大规模挑战中赢得了图级别赛道的第一名。
进一步研究了Graphormer在OGB(OGBG-MolPCBA, OGBG-MolHIV)和benchmarking-GNN(ZINC)上的图级别预测任务的性能。由于OGB鼓励预训练,主要探索了在PCQM4M-LSC上预训练的Graphormer模型的迁移能力。
表2、表3和表4总结了Graphormer与其他GNN在MolHIV、MolPCBA和ZINC数据集上的性能比较。Graphormer在所有三个数据集上一致且显著地超越了之前的最先进GNN,性能提升幅度很大。
最后在PCQM4M-LSC数据集上对Graphormer的关键设计元素进行了系列消融研究。表5展示了不同设计元素的消融研究结果。空间编码、中心性编码和边编码的引入都显著提高了模型的性能,证明了这些编码方式在Transformer架构中对建模图数据的有效性。
Graphormer的代码和模型在以下GitHub链接公开提供:GitHub - microsoft/Graphormer: Graphormer is a general-purpose deep learning backbone for molecular modeling.
论文链接:https://arxiv.org/pdf/2106.05234