摘要
知识图补全(KGC)旨在预测知识图中未见边,从而发现新的事实。已经提出了一类新的方法,通过聚合路径信息来解决这个问题。这些方法在KGC任务中显示了巨大的能力。然而,他们受到效率问题的困扰。尽管最近有一些尝试通过可学习路径修剪来解决这个问题,但它们经常牺牲性能来获得效率。在这项工作中,我们确定了影响效率和表示质量的这些方法的两个内在局限性。为了解决这些限制,我们引入了一种新的方法,TAGNet,它能够有效地传播信息。这是通过仅在固定窗口中为每个源-目标对聚合路径来实现的。我们证明了TAGNet的复杂度与层数无关。大量的实验表明,TAGNet可以减少多达90%的传播消息的数量,同时在多个KG数据集上实现竞争性能。
1.介绍
知识图(KGs)通过图中的边来编码事实。正因为如此,人们可以将预测未知边的任务(即链接预测)视为类似于发现新事实的任务。这项任务被称为知识图谱完成(KGC),在过去十年中吸引了大量研究(Bordes等人,2013;Trouillon等人,2016;Schlichtkrull等人,2018;Zhu et al, 2021)。大多数工作都集中在学习图中所有节点(即实体)和边缘类型(即关系)的质量表示上,以促进KGC。
最近,方法(Zhu et al ., 2021;Sadeghian等人,2019;Zhang和Yao, 2022),已经从基于嵌入的方法转向直接从基于路径的信息中学习。
最近一种基于gnn的方法NBFNet (Zhu et al ., 2021)从Bellman-Ford算法中获得灵感,通过动态规划计算路径信息。通过这样做,它以归纳的方式学习所有节点对之间的成对嵌入。它在传感器和感应式KGC设置中都达到了最先进的性能。在这项工作中,我们将这些方法称为基于路径的gnn。然而,基于路径的gnn的缺点是效率低下。这限制了它们在现实世界中处理大型图形的能力。此外,它抑制了它们在图中深入传播的能力。最近提出了两种方法来解决低效率问题,即A∗Net (Zhu等人,2022)和AdaProp (Zhang等人,2023),每次迭代只传播到节点的子集。然而,它们仍然倾向于传播不必要和冗余的消息.
对于基于路径的gnn,在传播过程开始时,只有源节点使用非零消息进行初始化。这样的模型通常总共运行层,其中,在每一层中,所有节点聚合来自相邻边的消息。通过以下两点观察,我们发现这种设计是低效的。(1)空消息:在传播过程中,当传播层数≥源到节点的最短路径距离时,节点才获得非空消息。这意味着远离源节点的大量节点只在早期传播层中聚合“空”消息。尽管如此,基于路径的GNN模型(如nbbfnet)在这些早期传播层中传播这些不必要的“空消息”。(2)冗余消息:为了保证来自源的路径信息到达远端节点,层数T需要足够大。然而,较大的T会导致那些靠近源节点的节点传播冗余消息。直观上,短路径比长路径包含更多重要信息(Katz, 1953)。“接近”节点通常从早期传播层的较短路径聚合足够的信息。在以后的层中为“封闭”节点传播较长路径的消息不会提供重要的信息,而且会不必要地增加复杂性。3.1节提供了关于这两个观察结果的更多细节。
为了解决这些限制并使传播过程更有效,我们的目标是开发一种算法来限制“空”和“冗余”消息的传播。特别地,我们提出了一种新的方法TAGNet -TruncAted propaGation Network。TAGNet只在固定的窗口中为每个源-目标对聚合路径,这可以被认为是路径修剪的一种形式。我们的贡献可以总结如下:
- 我们提出了一个新的基于路径的GNN, TAGNet,它自定义每个源-目标节点对的路径修剪量。
- 我们证明了TAGNet的复杂性与层数无关,允许有效的深度传播。
- 大量的实验表明,TAGNet在多个KG基准测试中匹配甚至略优于NBFNet的同时,最多可将聚合消息的数量减少90%。
2.Preliminary
在本节中,我们首先介绍本文中使用的符号。然后,我们介绍了Zhu等人(2021)的路径公式、广义Bellman-Ford算法(Baras和Theodorakopoulos, 2010)和NBFNet(Zhu等人,2021)。
2.1 Notations
2.2 Path Formulation
朱et al(2021)引入一个通用路径公式确定的存在 edge的优势。
(Zhu et al ., 2021)表明,该公式 formulation可以捕获许多现有的图算法,包括Katz index (Katz, 1953)、personalpagerank (Page et al ., 1999)等。 Katz index (Katz, 1953), Personalized PageRank (Page et al., 1999) and others.
2.3 Generalized Bellman-Ford
由于路径长度与路径数呈指数关系,对于大T计算Eq.(1)是不可行的。因此,Zhu等人(2021)通过广义Bellman-Ford算法(Baras and Theodorakopoulos, 2010)代替Eq.(1)建模,该算法以更有效的方式递归地计算这些路径信息。其公式为:Bellman-Ford(3)和(4)
2.4 NBFNet
Zhu等人(2021)通过包含可学习参数扩展了Eq.(2)。对于每个关系,将
替换为可学习的嵌入
。在聚合中进一步包含一个线性变换。为方便起见,设
源节点的表示被初始化为一个学习的嵌入
,对应于查询关系r。对于所有其他节点
,它们学习一个单独的初始嵌入。然而在实际操作中,它们只是将其他节点初始化为0向量。对于AGG函数,他们考虑sum, max, min和PNA操作。对于MSG函数,他们考虑了TransE (Bordes等人,2013)、DistMult (Yang等人,2015)和RotatE (Sun等人,2019)操作符。最后的表示传递给分数函数f,该函数通过MLP建模。
3.The Proposed Framework
在本节中,我们提出了一种新的方法来提高基于路径的GNN模型的效率。受3.1节中两个观察结果的启发,我们提出了一个简单但有效的基于距离的修剪策略。然后,我们引入了广义Bellman-Ford算法的截断版本,该算法实现了我们提出的修剪策略的目标。最后,我们描述了一个基于截断truncated的Bellman-Ford的神经网络模型。
3.1 Motivation
在本小节中,我们将讨论框架设计背后的动机。特别是,我们认为基于路径的gnn的低效率主要是由于两个观察结果:(1)许多空消息的聚集和(2)当层数很大时冗余消息的扩散。接下来,我们将详细介绍我们的观察结果,以及它们如何启发我们设计一种更有效的方法。
图1:δ = 1时的算法示例。我们注意到无向的蓝色边表示两个节点相互聚合。有向边表示只有头节点聚集尾节点。例如,在迭代2时,节点2聚合节点1,但节点1不聚合节点2。
Observation #1:Empty Messages
大多数基于路径的gnn聚合不包含任何路径信息的空消息。这增加了模型的复杂性,但没有任何明显的好处。我们提供一个说明性的例子。在图1a中,在第一次迭代期间,节点7将尝试聚合来自节点6的路径信息。但是,源之外的所有节点表示都初始化为零(“空消息”)。因此,一条非信息性的“空消息”将从节点6传递给节点7。实际上,在第一次迭代中,只有源的1跳邻居聚合包含长度为1的路径上的信息的非空消息。只有在两次迭代之后,节点6才会包含来自源的路径信息。因此,在第三次迭代之前聚合任何消息将不会导致节点7的任何路径信息。然而,NBFNet (Zhu et al ., 2021)和A * Net (Zhu et al ., 2022)都将聚合这些消息,导致复杂性增加,而不会增加额外的路径信息。这一观察结果表明,距离源的距离为只能聚合迭代
之后的路径信息。
Observation #2: Redundant Messages
由于它们的设计,具有T层的基于路径的gnn只能学习源节点T跳内节点的表示。然而,由于所有现有方法的时间复杂度与层数成正比,因此学习远离源(即远节点)的节点表示可能非常低效。特别是,正如我们在第1节中所讨论的,这主要影响到离源更近的目标节点。同样,我们使用图1a进行说明。在前两次迭代中,节点4聚合了两条路径,包括(source, 4)和(source, 3, 4)。这些路径提供了源和4之间的重要信息。相比之下,在第6次迭代节点4中,聚合长度为6的路径2,到达更远的节点并返回节点4。由于这些路径已经包含了较短路径中存在的信息,因此通过聚合它们获得的信息很少。我们在4.3节中的实证研究也验证了相对于目标节点长度较长的聚合路径对性能几乎没有积极影响。
这两个观察结果表明,当节点与源的距离不同时,基于路径的GNN方法的效率较低。我们通过分析WN18RR (Dettmers等,2018)数据集上所有测试样本的距离分布来验证这一点。对于每个样本,我们计算两个节点之间的最短路径距离,并绘制距离在所有样本上的分布。结果如图2所示。我们注意到,大约25%的样本的最短距离≥5。为了对这些距离较远的节点进行信息聚合,需要将T设为≥5。在这种情况下,较大距离的节点将在前几次迭代中传播空消息(观察1)。此外,大约35%的样本的最短距离为1。这样的示例将在几次迭代后聚合冗余消息(观察2)。
我们的设计目标:改进基于路径的gnn的聚合方案是提高其效率的关键。特别是基于路径的gnn的聚合方案,所有目标节点都是聚合长度为的路径,这些路径包含大量的空消息和冗余消息。为了减少非信息性消息的聚合,我们建议为每个目标节点定制聚合。具体来说,对于闭合节点 close nodes,我们不会聚合长路径,因为它们是冗余的。对于远距离节点distant nodes,我们不聚合短路径,因为它们是空的。因此,我们根据每个目标节点与源节点的距离定制聚合过程。基于这种直觉,我们将路径公式Eq.(1)重新表述如下。
其中为偏移量offset。
可以被认为是路径修剪的一种形式,因为它控制了我们相对于最短路径距离聚合的路径。例如,当
时,它只聚合所有节点对中距离最短的路径。第4.3节中的经验观察验证了我们基于
的修剪使用。
由于Eq.(5)的复杂度较高,直接计算不太现实。因此,基于广义Bellman-Ford算法(Baras and Theodorakopoulos, 2010),我们提出了Bellman-Ford算法的截断版本,以更有效的方式计算Eq.(5)。
3.2 Truncated Bellman-Ford
从我们的设计目标来看,我们感兴趣的是捕获长度为的所有路径。为了实现这个目标,对于节点0,我们在迭代
时开始聚合,并在迭代
后停止聚合。这有助于避免在dist(s, o)次迭代之前聚合空消息,以及在dist(s, o) + δ次迭代之后聚合冗余消息。然而,在dist(s, o)和dist(s, o) + δ之间的迭代过程中,仍然存在潜在的空消息。例如,在这些迭代过程中,到源的最短距离大于dist(s, o) + δ的任何节点v总是包含空消息。因此,为了进一步避免聚集大量的空消息,我们只允许从o的相邻节点的一个子集中聚集消息。更正式地,我们将上述直觉表述为以下约束边集
,节点o在迭代t时通过该约束边集聚集信息。
基于节点o的边约束集,我们更新了广义Bellman-Ford算法(Eq. 2),其中C = C(s, o, t):
由下面的定理可知,Eq.(7)中提出的聚合方案导致了Eq.(5)中所描述的正确路径的聚合。
定理1的详细证明见附录a。该设计具有以下优点:(1)我们直到层t = dist(s, o)才开始聚合消息,这有助于避免在远离源的节点上聚合许多空消息。(2)我们在层t = dist(s, o) + δ处停止聚合消息。这确保了对于封闭节点,我们不会聚合许多冗余消息。此外,它确保了无论目标节点与源的距离如何,我们总是会聚合δ + 1不同长度的路径。(3)在B.2节中,我们证明了这种设计的复杂性与层数无关,允许深度传播。
An Illustrative Example.
我们在图1中给出了约束 constraints对传播的影响的示例,其中s = source。图1a显示了当δ = 1时,涉及的节点和边经过三次迭代。我们观察到,在任何一次迭代中,只有一部分节点和边被涉及。例如,在迭代1时,只涉及到1跳邻居和将它们连接到源的边。这是因为它们是唯一能够在该阶段接收任何路径信息的节点和边。图1b按照与源节点的距离详细显示了节点的更新状态。我们注意到,随着迭代次数的增加,更新的节点数每两组向右移动。此外,由于我们只迭代了三次迭代,所以4+跳的邻居永远不会更新,因为在迭代4之前没有可用的路径信息。
3.3 Degree Messages
修剪路径的影响,特别是低δ,可以导致很少的消息被聚合。对于更小或更稀疏的图尤其如此。聚合少量消息的一个后果是,它可能使节点难以识别其邻居的属性(例如度degree)。我们在图1中给出了节点4的示例。对于前2次迭代中的每一次,它只聚合来自2/4邻居的消息。因此,它永远不会在同一迭代中聚合来自所有邻居的消息。这可能导致节点4无法正确识别其程度,因为每次迭代中非空消息的数量只是整体程度的一部分。由于已知程度是链接预测的重要因素(Newman, 2001;adam and Adar, 2003),我们希望保留所有节点的度信息。
为了保留每个节点的度信息,我们考虑通过使用pseudo messages伪消息对度进行编码。具体来说,我们希望添加足够多的消息,以便为节点o聚合的消息总数与其度相等。我们把这样的消息称为学位消息degree messages。回到图1中的示例,对于迭代1和2的节点4,我们将添加2度消息,以便消息总数为4。形式上,我们将节点o的度表示为。在迭代t时要添加的消息数由
给出。
对于消息的值,我们学习一个单独的嵌入,表示为,在所有节点上都是相同的。由于每个消息的值是相同的,我们可以避免显式地单独聚合每个度消息。相反,我们只是聚合一条信息,它等于信息的度数乘以嵌入的度数,
其中,是节点o在迭代t时的度消息值。然后将该边添加到待聚合消息集
中。由于这相当于只计算和聚合一条边,因此对模型复杂度没有影响。4.4节的实验结果验证了度消息的有效性。
3.4 GNN Formulation
在将Eq.(6)和Eq.(7)转换为GNN时,我们遵循与NBFNet类似的约定。我们将源节点s和任意目标节点o的嵌入表示为。我们进一步将指标查询嵌入表示为
,分层关系嵌入表示为
。
我们使用第2.4节中描述的INDICATOR函数,PNA (Corso等人,2020)用于AGGREGATE函数,DistMult (Yang等人,2015)用于MSG函数。源-目标对之间存在链接的概率通过分数函数f确定。对的最终表示和查询嵌入都作为输入给出。 Both the final representation of the pair and the query embedding are given as input.然后将f的输出传递给sigmoid来产生一个概率,
。完整的算法详见附录B.1。我们总共运行了T层。我们在附录B.2中进一步说明了时间复杂度与层数无关。这使得TAGNet能够比现有的基于路径的gnn传播更多的层。
此外,由于其通用设计,TAGNet还可以与其他注重效率的方法(如A * Net)集成。这在附录B.3中有更详细的描述。第4.1节和第4.2节中的大量实验也表明,结合这两种方法可以在不牺牲性能的情况下显著减少A∗Net传播的消息数量。
3.5 Target-Specific δ
我们当前设计的一个缺点是我们假设所有可能的节点对都有一个单独的偏移量δ。然而,对于某些对,我们可能想要考虑传播更多或更少的迭代。例如,在图1中,由于连接目标节点2到源节点的路径数量有限,我们可能只想考虑目标节点2的δ = 0。然而,对于节点4,它集中在子图的较密集部分,我们可能想要考虑更高的δ值,如1或2,以捕获更多的路径信息。接下来我们将详细介绍实现这一目标的方法。
3.5.1 Target-Specific δ via Attention
通过实现隐藏表示与δ值之间的联系,可以获得特定于目标的δ。我们将超参数。对于源-目标节点对(s, o),我们只聚合从长度为
的路径。在迭代t = dist(s, o)时,我们聚合长度为dist(s, o)的路径,在迭代t = dist(s, o) + 1时,只聚合长度为dist(s, o) + 1的路径,以此类推,直到
。节点对的隐藏表示集合如下,为方便起见,我们将
:
第一个隐藏表示只包含最短长度的路径,因此对应于δ = 0。由于路径通过自循环在隐藏表示上累积,因此包含长度为dist(s,o)和dist(s,o)+1的所有路径,对应于δ = 1。因此,最终的隐藏表示相当于
。因此,选择一个目标特定的δ是通过选择一个隐藏表示作为最终表示来实现的。
我们利用注意力来确定哪个δ值最适合特定的目标节点。具体表述如下:
我们将g建模为将隐藏表示和查询嵌入作为输入的MLP。从A * Net (Zhu et al ., 2022)中获得灵感,我们推测一个学习良好的分数函数可以帮助确定哪些表示比其他表示更好。因此,我们进一步考虑将g建模为自己的函数,或者将其与分数函数f共享参数,如Eq.(10)。最后,我们在附录B.2中表明,当使用特定目标的δ时,时间复杂度是不变的。
4.Experiment
在本节中,我们将在传导和感应设置下评估我们提出的KGC框架的有效性。我们还对效率进行了实证分析,并对各部件进行了烧蚀研究。我们注意到,为了公平地比较基于路径的gnn,我们使用6层和32个隐藏维度运行每个模型,就像(Zhu et al ., 2021)和(Zhu et al ., 2022)中所做的那样。详情请参阅附录C.2。
4.1 Effectiveness of TAGNet
在本节中,我们将TAGNet的结果与传感和感应设置的基线进行比较。我们将TAGNet与A∗Net结合使用时,进一步详细说明了结果。
Transductive Setting:
直推设置的结果如表1所示。我们观察到TAGNet仅用固定的δ就可以获得较强的性能。特别是,它在大多数指标上优于A∗Net和AdaProp。此外,与不使用修剪的NBFnet相比,TAGNet实现了相当甚至更强的性能。这表明所提出的剪枝策略主要减少了冗余聚合,而不影响模型的有效性。
Inductive Setting:
表2显示了归纳设置的结果。TAGNet在这两个数据集上都实现了强大的性能。特别是,它达到了与NBFNet的非修剪版本相当的性能。此外,TAGNet在FB15k-237分裂上显著优于A∗Net和AdaProp,证明了所提出的修剪策略的优势。
TAGNet + A * Net:
我们进一步测试将TAGNet和A * Net的修剪策略结合在一起(详见附录B.3)。与A∗Net相比,我们观察到TAGNet+A∗Net尽管聚合的消息少得多,但在所有设置下都取得了相当的性能(如果不是更好的话)(参见第4.2节)。这表明A * Net中的修剪策略未能修剪许多不相关的路径,从而允许TAGNet对其进行补充。
4.2 Efficiency of TAGNet
在本小节中,我们根据经验评估我们的模型对NBFNet的效率。具体来说,我们比较了训练期间每个样本聚合的平均消息数。
图3显示了TAGNet与NBFNet.相比消息数量减少的百分比。所有模型都适合6层。我们观察到两种趋势。首先,两个FB15k-237数据集遵循类似的关系,接近附录B.2中详述的最坏情况复杂性的预期。另一方面,WN18RR数据集传递的信息要少得多,因为它们在所有δ的90%以上徘徊。这可能是因为WN18RR是一个非常稀疏的图。这给TAGNet提供了大量修剪路径的机会。
我们进一步比较了A∗Net和A∗Net + TAGNet的效率。和前面一样,我们计算两个方法传递的消息总数。固定δ = 2。表3显示了与仅使用A * Net相比,使用这两种技术时消息数量减少的百分比。我们观察到在感应和转导设置中都有很大的减少。由于A*Net + TAGNet的性能与仅A*Net相当,这表明A*Net无法修剪许多不需要的消息,这些消息不会提高性能。此外,我们发现随着层数的增加,消息数量的减少变得更加明显,这表明当需要深度传播时,TAGNet甚至更有用
4.3 Effect of δ
在本小节中,我们评估偏移δ对TAGNet测试性能的影响(w/o目标特定设置w/o the targetspecific setting)。我们将层数固定为6,δ从0到5变化。我们分别在图4和图5中报告了传感和感应设置的结果。对于归纳设置,我们选择这两个数据集的v1版本作为代表性数据集。对于这两个转换数据集,我们发现性能在δ = 2处趋于平稳。FB15k-237 v1也有类似的趋势。有趣的是,对于WN18RR v1,当δ变化时,性能是恒定的。这表明,对于一些数据集,几乎所有的重要信息都集中在最短长度的路径上。
4.4 Effect of Degree Messages
我们将演示3.3节中描述的度消息 degree messages的效果。表4显示了使用和不使用degree messages进行训练时TAGNet的性能。我们报告了FB15k-237和WN18RR在所有感应分路上的性能。有趣的是,我们观察到,虽然FB15k-237有持续的增益,但它经常损害WN18RR的性能。这可能意味着FB15k-237比WN18RR更重视保留每个节点的度信息。
5.Related Work
我们简要概述了不同类型的KGC方法。(1)基于嵌入的方法:这些方法关注实体和关系嵌入的交互建模。TransE (Bordes等人,2013)将每个事实建模为嵌入空间中的翻译,而DistMult (Yang等人,2015)通过双线性对角函数对每个事实进行评分。ComplEx (Trouillon等人,2016)通过进一步对复杂空间中的嵌入建模来扩展DistMult。最后,Nodepiece (Galkin et al, 2021)试图通过将每个实体嵌入表示为一组较小的子词嵌入的组合来提高基于嵌入的KGC方法的效率。由于该方法涉及基于嵌入的技术,因此它与我们的工作是正交的。(2)基于GNN的方法:GNN方法通过进一步考虑关系信息对传统GNN进行扩展。CompGCN (Vashishth et al ., 2019)通过使用组合函数将每个消息编码为相邻实体关系对的组合。RGCN (Schlichtkrull等人,2018)则考虑特定于关系的转换矩阵来集成关系信息。(3)基于路径的方法:基于路径的方法试图利用连接两个实体的路径信息来执行KGC。NeuralLP (Yang等人,2017)和DRUM (Sadeghian等人,2019)通过使用逻辑规则来学习对不同路径进行加权。最近,nbnet (Zhu et al ., 2021)通过学习Bellman-Ford算法的参数化版本来考虑路径信息。一个类似的框架RED-GNN (Zhang and Yao, 2022)也试图利用动态规划来聚合路径信息。A∗Net (Zhu et al ., 2022)和AdaProp (Zhang et al ., 2023)都试图通过学习传播到哪些节点来证明先前方法的效率。
6.Conclusion
在本文中,我们确定了两个影响基于路径的gnn的效率和表示质量的内在局限性。我们通过引入一种新的方法TAGNet来解决这些问题,TAGNet能够有效地传播路径信息。这是通过仅在固定窗口中为每个源-目标对聚合路径来实现的。我们证明了TAGNet的复杂度与层数无关。对于未来的工作,我们计划探索捕获路径信息的方法,而不必为每个单独的源节点执行单独的传播。