王文博作者哈尔滨工程大学硕士生学校

ACL 2019开源论文 | 基于Attention的知识图谱关系预测

动机

由于传统方法都将三元组进行独立的处理,忽略了其相邻的三元组之间隐藏的固有信息的缺点,使得无论是转化模型还是较新的基于卷积神经网络(CNN)的模型都不能获取在给定三元组附近的丰富的潜在结构信息。因此本文为解决上述问题尝试用神经网络(GNN),从以下两方面进行创新:

  • 通过不断迭代注意力机制网络,来为与给定节点具有不同距离的邻居结点赋予不同注意力值,使得最终该节点的嵌入向量包含多跳邻居节点信息在其中。通过以上方法构建出了针对知识图谱关系预测的嵌入模型。

  • 为了解决距离越远连接的实体数量呈指数增长的问题为 n 跳实体引入辅助边作为辅助关系。

模型

背景知识补充 

知识图谱可以表示为 ζ=(ϵ,R),其中 ϵ 和 R 分别表示集合中的实体(结点)和关系(边)。对于三元组可以表示两个实体节点之间存在边 r。嵌入模型试图学习实体、关系以及得分函数的有效表示,以达到当给定一个三元组作为输入时,得分函数 f(t) 可以给出 t 是真实三元组的概率。 

图注意力神经网络(GATs) 

图注意力神经网络 (GANs)不同于图卷积神经网络(GCNs)将所有邻居实体的信息赋予相同权重的策略,采用了按照邻居实体结点对给定实体结点的不同重要程度分配不同权重的策略。表示该神经网络中一层结点中的输入特征集合。该层生成的变换后的特征向量为,其中分别表示实体的输入嵌入向量与输出嵌入向量,N 表示实体(结点)的个数。单独的 GAT 层可以描述为下述公式:

其中表示知识图谱中边的注意力值,W 是一个可以将输入特征映射到更高维的输出特征空间中的参数化的线性转化矩阵,a 是所选择的注意力函数。

每个边的注意力值表示边的特征对源结点的重要程度。此处相对注意力值通过对邻居集合中得出的所有注意力值进行 softmax 运算得出。公式(2)展示了一个输出层。

GAT 运用多头注意力来稳定学习过程。连接 K 个注意头的多头注意过程如公式(3)所示:

其中 || 表示连结方式,σ 表示任意的非线性函数,表示由第 k 个注意力机制计算的边的归一化系数,表示第 k 个注意力机制对应的线性转化矩阵。为达到多头注意的目的,在最终层的输出嵌入向量是通过计算平均值得出的而不是采用连接操作得出的。如公式(4)所示:

关系十分重要

虽然 GAT 取得了成功,但是由于忽略了知识图谱构成中不可或缺的关系(边)上所具有的特征,所以 GATs 方法并不适用于知识图谱。在知识图谱中,实体依据与它们相连的关系在三元组中具有不同的作用。因此作者提出了一种将关系与相邻节点特征相结合的新型方法构建潜入模型。据此,定义了一个单独的注意层,它是构成本文中提出的模型的构建单元。与 GAT 类似,本文中的框架对注意力机制的特定选择是不可知的。

本文提出的模型中的每一层都将两个嵌入矩阵作为输入。实体嵌入矩阵用矩阵来表示,其中第 i 行表示实体的嵌入向量,表示实体总数,T 表示每个实体嵌入向量的特征维数。用一个相同结构的矩阵来表示关系的嵌入向量矩阵。然后该层输出两个对应的嵌入矩阵

为获得实体的新的嵌入向量,学习了一种与相连的每一个三元组的表示。如公式(5)所示,通过对实体和关系特征向量的连接进行线性变换来学习这些嵌入,这些特征向量对应于一个特定的三元组

其中是一个三元组的一个向量表示。向量分别是实体和关系的嵌入向量。除此之外,表示线性转化矩阵。该模型学习了每一个三元组的重要程度,用表示。之后用一个权矩阵作为参数进行线性变换,然后应用 LeakyRelu 非线性得到三元组的绝对注意值(如公式(6))。

如公式(7)所示,为了获得相对注意力值,对所有进行 softmax 运算。图三展示了对于一个三元组相对注意力值的计算过程:

其中表示所有与实体相邻的实体的集合,表示连接实体的关系的集合。实体的新的嵌入向量是由对每一个三元组表示向量按注意力值进行加和得到的。如公式(8)所示:

为了稳定学习过程,且压缩更多的有关邻居结点的信息,采用多头注意力机制。将 M 个独立的注意力机制用来计算,将其连接,可以表示如下:

图四展示了图注意力层结构。如公式(10)所示,将一个权重矩阵作用于关系嵌入矩阵 G 进行线性变换,其中 T' 是输出的关系嵌入向量的维度。

在模型的最后一层作者采用对最终的实体的嵌入向量取平均的方式而不是像多头嵌入一样采用连接嵌入。具体公式如下:

但是当学习新的嵌入向量时,实体丢失了它们最初的嵌入向量信息。因此为了解决这个问题,作者通过用一个权重矩阵进行线性变换得到。其中表示本文模型中作为输入的实体嵌入向量,表示转化后的实体嵌入向量,表示初始实体嵌入向量的维度,表示最终实体嵌入向量的维度。作者将最初的实体嵌入向量的信息加到从模型最终注意力层获得的实体嵌入向量矩阵上,公式如下:

在本文的架构中,作者通过将两个实体间存在的多跳关系作为辅助关系的方式将边的定义扩充为有向路径。这个辅助关系的嵌入是路径中所有关系的嵌入之和。本文的模型迭代地从一个实体的遥远邻居那里积累知识。

如图 2 所述,在本文中模型的第一层,所有实体捕捉了与它们直接相连的邻居信息,在第二层中,U.S 结点从实体 BarackObama、EthanHorvath、Chevrolet 和 WashingtonD.C 结点聚集信息,这些节点中已经从之前层中获得了他们邻居节点 MichelleObama 和 SamuelL.Jackson 的信息。

总之,对于一个 n 层模型来说,传入的信息是根据 n 跳相邻的邻居计算得出的。学习新的实体嵌入向量的聚合过程和相邻多跳结点间的辅助边的引入在图二中都有所展示。对于每一个主要的迭代过程,在第一层之前,在每一个广义的 GAT 层之后,作者对实体的嵌入向量进行了规范化处理。

训练目标 

作者提出的模型借鉴了平移得分函数的思想,使得在学习嵌入向量的过程中,假设给定一个真实的三元组,存。作者尝试学习实体和关系嵌入来最小化由给出的 L1 -范数不相似测度。并用 hinge 损失来训练本文中的模型,具体公式如下:

其中 γ>0 是一个边缘超参数,S 是正确的三元组集合,S' 表是不正确的三元组集合。S' 按照如下形式给出:

解码

本篇模型采用 ConvKB 作为解码器,卷积层的目的是分析三元组各个维度上的全局嵌入特性,并归纳出模型中的转化特性。根据多个特征映射得到的得分函数可以写成如下形式:

其中表示第 m 个卷积过滤器,Ω 是表示过滤器数量的超参数,* 是卷积运算符,表示一个用于计算三元组最终得分的线性转化矩阵。模型用软边界损失函数来进行训练。

时,;当时,

实验与结果

数据集

  • WN18RR

  • FB15k-237

  • NELL-995

  • Unified Medical Language Systems(UMLS)

  • Alyawarra Kinship

训练方法 

通过每次随机用一个无效实体替换有效三元组的头实体或尾实体来产生两个无效三元组集合,并从这两个集合中随机抽取数目相等的无效三元组,以确保头尾实体检测的鲁棒性。用 TransE 方法获得的实体与关系的嵌入向量来初始化本模型。 

本文采用一个两步过程来进行训练。首先训练广义 GAT 来编码关于图实体和关系的信息,然后训练诸如 ConvKB 模型作为解码器来进行关系预测任务。传统的 GAT 模型只根据一跳邻居的信息对公式 3 进行更新,但本文的泛化 GAT 则运用多跳邻居对公式 3 进行更新。并通过引入辅助关系来收集稀疏图中邻居的更多信息。采用 Adam 优化器,将其学习率设置为 0.001。最终层得到的实体、和关系的嵌入向量设置为 200 维。 

评估方法 

在关系预测任务中,通过用其他所有实体对有效三元组中的头实体或尾实体进行替换,并在产生一个(N-1)三元组集合,其中 1 为被替换之前的有效三元组,N 表示经过替换后产生的三元组。最后移除该三元组集合中所有经过替换产生的有效三元组,只保留由替换产生的无效三元组,与替换之前的唯一一个有效三元组组成一个三元组集合。对该集合中的所有三元组进行打分,并根据分数进行排序。用平均倒数排名(MRR),平均排名(MR)以及 Hits@N(N = 1, 3, 10) 指标来对模型进行评估。

结果分析

表 2 表 3 上展示了所有数据集上进行预测的结果。结果说明本文提出的模型在数据集 FB15k-237 上,五个指标均达到最好效果。在 WN18RR 数据集上,只有两个指标达到最好效果。 

注意力值 vs 轮数: 

本文研究了一个特定节点的注意随轮数间隔增加的分布。图 5 展示了在数据集 FB15k-237 上,注意力值与轮数的关系分布。在学习过程的初始阶段,注意力值随机分布。随着训练过程地进行,并且本文的模型从邻居中获得更多的信息,更多的注意力集中于直接邻居,并且从较远的邻居中获得更少的信息。一旦模型收敛,它就学会从节点的 n-hop 邻居中收集多跳和聚类关系信息。 

页面排序分析: 

本文假设,相对于稀疏图,在稠密图中更容易捕获实体之间复杂且隐藏的多跳关系。为了验证这个假设,本文采用了一个与 ConvE 相似的分析过程,研究了平均页面排名与相对于 Disrmult 中 MRR 的增长的关系,并发现当相关系数为 r=0.808 时具备极强的关联性。表 4 表明,当平均界面排名得到增长时,MRR 的值也同样会得到增长。并观察到 NELL-995 与 WN18RR 之间的相关性出现异常,并将其归因于 WN18RR 的高度稀疏和层次结构,这对本文的方法提出了挑战,因为本文的方法不能以自上而下的递归方式捕获信息。

腐蚀研究

在这里分析了当移除路径信息时(-PG)MR 值的变化。如:移除关系信息和 n 跳信息(-relation)。根据图 7 可以得出当移除关系信息时会对模型产生巨大影响,并可得出关系信息在进行关系与测试至关重要的结论。

总结

本文的贡献:

  • 本文提出的模型学习了新的基于图注意的嵌入,专门用于知识图谱上的关系预测。

  • 本文推广和扩展了图注意机制,以捕获给定实体的多跳邻域中的实体和关系特征。 

后续工作方向:

  • 改进本文中的模型以更好地处理层次结构图。

  • 尝试在图注意力模型中捕获实体之间的高阶关系。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论卷积神经网络知识图谱attention 模型
3
相关数据
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

图卷积神经网络技术

图卷积神经网络(Graph Convolutional Network)是一种能对图数据进行深度学习的方法。GCN的三个主要特征:它是卷积神经网络在 graph domain 上的自然推广;它能同时对节点特征信息与结构信息进行端对端学习;适用于任意拓扑结构的节点与图;

推荐文章
暂无评论
暂无评论~