Do Transformers Really Perform Badfor Graph Representation?

本文介绍了Graphormer,一个基于Transformer的模型,专为图表示学习设计。Graphormer通过中心性编码、空间编码和边缘编码有效地利用图的结构信息,提高了Transformer在图数据上的性能。在多项图级预测任务中,Graphormer展现出优越的性能,尤其是在OGB大规模挑战中。
摘要由CSDN通过智能技术生成

第35届神经信息处理系统会议(NeurIPS 2021)

目录

摘要:

1 介绍

2 回顾

3 Graphormer

3.1 graphhormer中的结构编码

3.1.1中心性编码

3.1.2空间编码

3.1.3注意中的边缘编码

3.2Graphormer的实现细节。

 3.3 Graphormer有多强大?


摘要:

Transformer架构已经成为许多领域的主导选择,例如自然语言处理和计算机视觉。此外,与主流GNN变体相比,它在流行的图级预测排行榜上的表现并不具有竞争力。因此,变形金刚如何在图表示学习中表现良好仍然是一个谜。在本文中,我们通过介绍graphhormer来解决这个谜题,graphhormer建立在标准的Transformer架构之上,并且可以在广泛的图表示学习任务中获得出色的结果,特别是在最近的OGB大规模挑战中。我们在图中使用Transformer的关键见解是必须有效地将图的结构信息编码到模型中。为此,我们提出了几种简单而有效的结构化编码方法,以帮助graphhormer更好地对图结构数据进行建模。此外,我们在数学上描述了graphhormer的表达能力,并展示了我们对图的结构信息进行编码的方法,许多流行的GNN变体都可以作为graphhormer的特殊情况。graphhormer的代码和模型将在https://github.com/Microsoft/Graphormer上公开。

1 介绍

Transformer[46]被公认为是对序列数据(如自然语言[11,35,6]和语音[17])建模最强大的神经网络。基于Transformer构建的模型变体在计算机视觉[12,36]和编程语言[19,57,41]中也显示出了出色的性能。然而,据我们所知,《Transformer》仍未成为公共图表表示排行榜的实际标准[22,14,21]。有许多尝试将Transformer应用到图域,但唯一有效的方法是用softmax注意力替换经典GNN变体中的一些关键模块(例如,特征聚合)[47,7,23,48,56,43,13]。因此,Transformer架构是否适合对图进行建模以及如何使其在图表示学习中工作仍然是一个悬而未决的问题。

在本文中,我们通过开发graphhormer给出了肯定的答案,graphhormer直接建立在标准Transformer之上,并在广泛的图级预测任务上实现了最先进的性能,包括最近的开放图基准大规模挑战(OGB- lsc)[21]和几个流行的排行榜(例如OGB [22], Benchmarking-GNN[14])。Transformer最初是为序列建模设计的。为了在图中发挥其功能,我们认为关键是将图的结构信息适当地合并到模型中。注意,对于每个节点i,自关注只计算i与其他节点之间的语义相似度,而不考虑节点上反映的图的结构信息和节点对之间的关系。Graphormer结合了几种有效的结构编码方法来利用这些信息,如下所述。

首先,我们在graphhormer中提出了一个中心性编码来捕获图中的节点重要性。在一个图中,不同的节点可能具有不同的重要性,例如,在社交网络中,名人被认为比大多数网络用户更有影响力。然而,这些信息并没有反映在自关注模块中,因为自关注模块主要使用节点语义特征来计算相似度。为了解决这个问题,我们提出在graphhormer中对节点中心性进行编码。特别是,我们利用度中心性进行中心性编码,其中根据每个节点的度分配一个可学习向量,并将其添加到输入层的节点特征中。实证研究表明,简单的中心性编码对Transformer的图数据建模是有效的。

其次,我们提出了一种新的graphhormer空间编码方法来捕捉节点之间的结构关系。区分图结构数据与其他结构化数据(如语言、图像)的一个显著几何特性是,不存在嵌入图的规范网格。实际上,节点只能位于非欧几里得空间中,并且由边连接。为了对这些结构信息建模,我们根据每个节点对的空间关系分配一个可学习的嵌入。文献中的多个测量可以用于空间关系建模。出于一般目的,我们使用任意两个节点之间最短路径的距离作为演示,这将被编码为softmax注意中的偏差项,并帮助模型准确地捕获图中的空间依赖性。此外,有时在边缘特征中还包含额外的空间信息,例如分子图中两个原子之间的键的类型。我们设计了一种新的边缘编码方法,进一步将这种信号带入Transformer层。具体来说,对于每个节点对,我们计算沿最短路径的边缘特征和可学习嵌入的点积的平均值,然后将其用于注意力模块。有了这些编码,graphhormer可以更好地对节点对之间的关系进行建模并表示图形。

通过使用上面提出的编码,我们进一步在数学上证明graphhormer具有很强的表达性,因为许多流行的GNN变体只是它的特殊情况。该模型的巨大容量导致了在实践中广泛任务的最先进性能。在最近的开放图基准大规模挑战(Open Graph Benchmark large-scale Challenge, OGB-LSC)[21]中的大规模量子化学回归数据3上,graphhormer在相对误差方面优于大多数主流GNN变体10%以上。在其他流行的图表示学习排行榜上(如MolHIV、MolPCBA、ZINC) [22,14], graphhormer也超越了之前的最佳成绩,展示了Transformer架构的潜力和适应性。

2 回顾

在本节中,我们将回顾图神经网络(GNN)和Transformer的基础知识。

图神经网络(GNN)。设G = (V, E)表示一个图,其中V = {v1, v2,···,vn}, n = |V |为节点数。设节点vi的特征向量为xi。gnn的目标是学习节点和图的表示。通常,现代gnn遵循一种学习模式,通过聚合节点的第一阶或高阶邻居的表示来迭代更新节点的表示。我们将h(l) i表示为vi在第l层的表示,并定义h(0) i = xi。聚合的第l次迭代可以用AGGREGA TE-COMBINE步长表示为

其中N (vi)为vi的一阶或高阶邻居的集合。AGGREGATE函数用于收集邻居的信息。常见的聚合函数包括MEAN、MAX、SUM,它们在不同的gnn架构中使用[26,18,47,50]。COMBINE函数的目标是将来自邻居的信息融合到节点表示中。

此外,对于图表示任务,设计了一个READOUT函数,将最后一次迭代的节点特征h(L) i聚合为整个图G的表示hG:

 READOUT可以通过简单的排列不变函数(如sum[50])或更复杂的图级池化函数[1]来实现。

Transformer。Transformer架构由Transformer层的组合组成[46]。每个Transformer层有两个部分:一个自关注模块和一个位置前馈网络(FFN)。设H = [h1,···,hn ]∈R^n×d表示自注意模块的输入,其中d为隐藏维数,hi∈R^1×d为i位置的隐藏表示。输入H由三个矩阵WQ∈Rd×dK, WK∈Rd×dK, WV∈Rd×dV投影到相应的表示Q, K, V。自我关注的计算公式为:

其中A是捕获查询和键之间相似性的矩阵。为了说明的简单性,我们考虑单头自我注意并假设dK = dV = d。对多头注意的扩展是标准和直接的,并且为了简单起见,我们省略了偏差项。

3 Graphormer

在本节中,我们将介绍用于图形任务的graphhormer。首先,我们详细阐述了graphhormer中的几个关键设计,这些设计在神经网络中充当归纳偏置来学习图表示。我们进一步提供graphhormer的详细实现。最后,我们证明了我们提出的graphhormer更强大,因为流行的GNN模型[26,50,18]是它的特殊情况。

3.1 graphhormer中的结构编码

正如在介绍中所讨论的,开发将图的结构信息利用到Transformer模型中的方法是很重要的。为此,我们提出了三种简单而有效的Graphormer编码设计。图1给出了一个说明。

图1:我们在graphhormer中提出的中心性编码、空间编码和边缘编码的示意图。

3.1.1中心性编码

在式4中,根据节点之间的语义相关性计算注意力分布。然而,节点中心性(衡量一个节点在图中的重要性)通常是图理解的一个强烈信号。例如,拥有大量粉丝的名人是预测社交网络趋势的重要因素[38,37]。这些信息在当前的注意力计算中被忽略了,我们认为它应该是Transformer模型的一个有价值的信号。

在graphhormer中,我们使用了中心性度,这是文献中标准的中心性度量之一,作为神经网络的附加信号。具体而言,我们开发了一种中心性编码,根据每个节点的入度和出度分配两个实值嵌入向量。当中心性编码应用于每个节点时,我们只需将其添加到节点特征中作为输入。

其中,z−,z+∈Rd分别是由入度数deg−(vi)和出度数deg+(vi)指定的可学习嵌入向量。对于无向图,deg−(vi)和deg+(vi)可以统一为deg(vi)。通过在输入中使用中心性编码,softmax注意可以捕获查询和键中的节点重要性信号。因此,该模型可以同时捕获注意机制中的语义相关性和节点重要性。

3.1.2空间编码

Transformer的一个优势是它的全球接受域。在每个Transformer层中,每个令牌可以处理任何位置的信息,然后处理其表示。但是这种操作有一个副产品问题,即模型必须显式地指定层中的不同位置或编码位置依赖性(例如局部性)。对于顺序数据,可以给每个位置一个嵌入(即绝对位置编码[46])作为输入,也可以在Transformer层中编码任意两个位置的相对距离(即相对位置编码[42,44])。

然而,对于图,节点不是按顺序排列的。它们可以位于多维空间空间中,并由边缘连接。为了在模型中编码图的结构信息,我们提出了一种新的空间编码方法。具体地说,对于任意图G,我们考虑一个函数φ (vi, vj): V × V→R,它测量图G中vi和vj之间的空间关系。函数φ可以通过图中节点之间的连通性来定义。在本文中,我们选择φ (vi, vj)作为vi与vj之间的最短路径(SPD)的距离。如果不是,我们将φ的输出设置为一个特殊的值,即-1。我们为每个(可行的)输出值分配一个可学习的标量,该标量将作为自注意模块中的偏置项。将Aij表示为查询键乘积矩阵A的(i, j)元素,我们有:

 其中bφ (vi,vj)是一个可学习的标量,由φ (vi,vj)索引,并在所有层上共享。

在这里,我们讨论我们提出的方法的几个好处。首先,与第2节中描述的传统gnn相比,在第2节中,接受域仅限于邻居,我们可以看到,在Eq.(6)中,Transformer层提供了一个全局信息,即每个节点可以关注图中的所有其他节点。其次,通过使用bφ (vi,vj),单个Transformer层中的每个节点可以根据图结构信息自适应地关注所有其他节点。例如,如果将bϕ(vi,vj)学习为相对于φ (vi,vj)的递减函数,则对于每个节点,模型可能会更多地关注它附近的节点,而较少关注远离它的节点。

3.1.3注意中的边缘编码

在许多图任务中,边也具有结构特征,例如,在分子图中,原子对可能具有描述它们之间键的类型的特征。这些特征对于图的表示非常重要,并且将它们与节点特征一起编码到网络中是必不可少的。在以往的工作中,主要采用了两种边缘编码方法。在第一种方法中,将边缘特征添加到关联节点的特征中[22,30]。在第二种方法中,对于每个节点,其关联边的特征将与聚合中的节点特征一起使用[15,50,26]。然而,这种使用边缘特征的方法只是将边缘信息传播到其相关节点,这可能不是利用边缘信息表示整个图的有效方法。

为了更好地将边缘特征编码到注意层中,我们提出了一种新的graphhormer边缘编码方法。注意机制需要估计每个节点对(vi, vj)的相关性,我们认为在相关性中应该考虑连接它们的边,如[34,48]。对于每个有序节点对(vi, vj),我们找到(其中之一)最短路径SPij = (e1, e2,…), eN)从vi到vj,计算边缘特征的点积和沿路径的可学习嵌入的平均值。提出的边缘编码通过对注意模块的偏置项合并边缘特征。具体地说,我们将Eq.(3)中A的(i, j)-元素进一步修改,边编码cij为:

 式中,xen为SPij中第n条边en的特征,wEn∈RdE为第n条权值嵌入,dE为边缘特征的维数。

3.2Graphormer的实现细节。

graphhormer层。graphhormer是建立在[46]中描述的经典Transformer编码器的原始实现之上的。此外,我们在多头自注意(MHA)和前馈块(FFN)之前而不是之后应用了层归一化(LN)[49]。这种修改被所有当前的Transformer实现一致采用,因为它导致更有效的优化[40]。特别是对于FFN子层,我们将输入、输出和内层的维数设置为与d相同的维数。我们将graphhormer层形式化表征如下:

特殊的节点。如前一节所述,提出了各种图池函数来表示图嵌入。受[15]的启发,在graphhormer中,我们在图中添加了一个特殊的节点[VNode],并在[VNode]和每个节点之间单独建立连接。在AGGREGA TE-COMBINE步骤中,[VNode]的表示已经被更新为图中的普通节点,整个图hG的表示将是最后一层[VNode]的节点特征。在BERT模型[11,35]中,有一个类似的令牌,即[CLS],它是附加在每个序列开始处的特殊令牌,用于表示下游任务的序列级特征。虽然[VNode]连接到图中的所有其他节点,这意味着对于任何φ ([VNode], vj)和φ (vi, [VNode]),最短路径的距离为1,但这种连接不是物理的。为了区分物理和虚拟的连接,受[25]的启发,我们将bφ ([VNode],vj)和bφ (vi,[VNode])的所有空间编码重置为一个不同的可学习标量。

 3.3 Graphormer有多强大?

在前面的小节中,我们介绍了三种结构编码和graphhormer的体系结构。那么一个自然的问题是:这些修改是否使graphhormer比其他GNN变体更强大?在本小节中,我们首先给出一个肯定的答案,通过展示graphhormer可以表示流行的GNN模型中的AGGREGATE和COMBINE步骤:

事实1。通过选择合适的权值和距离函数φ, graphhormer层可以表示GIN、GCN、GraphSAGE等常用GNN模型的AGGREGATE和COMBINE步骤。

推导该结果的证明草图为:1)空间编码使自注意模块能够区分节点vi的邻居集N (vi),从而使softmax函数能够计算N (vi)上的平均统计量;2)知道一个节点的程度,可以将mean over neighbors转化为sum over neighbors;3)有了多个头像和FFN, vi和N (vi)的表示可以分别处理,以后可以合并。我们将这一事实的证明推迟到附录A。

此外,我们进一步证明,通过使用我们的空间编码,graphhormer可以超越经典的消息传递gnn,其表达能力不超过1-Weisfeiler-Lehman (WL)测试。我们在附录a中给出了一个具体的例子来说明graphhormer如何帮助区分1-WL测试无法区分的图形。

自我关注与虚拟节点之间的联系。除了比流行的gnn更优秀的表达能力外,我们还发现了使用自注意和虚拟节点启发式之间的有趣联系[15,31,24,22]。如OGB的排行榜[22]所示,虚拟节点技巧通过增加额外的超节点来扩展图,这些超节点连接到原始图中的所有节点,可以显著提高现有gnn的性能。从概念上讲,虚拟节点的好处是它可以聚合整个图的信息(如READOUT函数),然后将其传播到每个节点。然而,简单地向图中添加超级节点可能会无意中导致信息传播过度平滑[24]。相反,我们发现这样的图级聚合和传播操作可以通过香草自关注自然地完成,而无需额外的编码。具体来说,我们可以证明以下事实:

事实2。通过选择适当的权值,graphhormer层输出的每个节点表示都可以表示MEAN READOUT函数,而无需额外的编码。

这一事实利用了自关注的优势,即每个节点都可以关注所有其他节点。因此,它可以模拟图级READOUT操作,从整个图中聚合信息。除了理论证明之外,我们还通过经验发现graphhormer不会遇到过度平滑的问题,这使得改进具有可扩展性。这一事实也启发我们引入一个特殊的节点来读取图形(参见前一小节)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值