论文阅读 Modeling Relational Data with Graph Convolutional Networks
Modeling Relational Data with Graph Convolutional Networks
使用图卷积网络建模关系数据
发表于 [stat.ML] 26 Oct 2017
摘要:知识图支持各种各样的应用,包括回答问题和信息检索。尽管在它们的创建和维护上投入了巨大的努力,即使是最大的(例如Yago、DBPedia或Wikidata)也仍然不完整。我们引入了关系图卷积网络(R-GCNs),并将其应用于两个标准知识库完成任务:链接预测(恢复缺失事实,即主体-谓词-对象三元组)和实体分类(恢复缺失的实体属性)。RGCNs与最近一类基于图的神经网络有关,是专门为处理现实知识库的高度多关系数据特征而开发的。我们证明了R-GCNs作为实体分类的独立模型的有效性。我们进一步证明,通过添加一个编码器模型,在关系图中的多个推理步骤中积累证据,可以显著改进DistMult等链接预测的因子分解模型,证明FB15k-237比仅使用解码器的基线提高了29.8%。
本文实体分类模型在图中的每个节点上使用softmax分类器。分类器采用关系图卷积网络(R-GCN)提供的节点表示,并预测标签。该模型包括R-GCN参数,通过优化交叉熵损失来学习。
我们的链接预测模型可以看作是一个自编码器,包括:(1)编码器:产生实体潜在特征表示的R-GCN,和(2)解码器:利用这些表示的张量分解模型预测标记边缘。虽然原则上解码器可以依赖任何类型的因子分解(或通常任何评分函数),但我们使用最简单和最有效的因子分解方法之一:DistMult 。
我们的模型主要是作为GCNs的扩展,它操作于从局部图邻居节点到大规模关系数据。

其中h(l)i∈Rd(l)是节点vi在神经网络的第i层中的隐状态,d(l)是该层表示的维数。gm(·,·)传入的信息被累加,并通过激活函数σ(·)(ReLU)传递。Mi表示节点vi的传入消息集,通常被选择为节点vi 的邻居节点。gm(·,·)通常被选择为一个(消息特定的)神经网络类函数,或者是一个带有权重矩阵W线性变换gm(hi, hj) =Whj。
本文定义了以下传播模型,用于计算在关系(有向、标记)多图中用vi表示的实体或节点的向前传递更新:

其中Nri表示关系r∈R下节点 i 的邻居节点集。ci,r是一个特定关系的归一化常数,可以学习或预先设定(例如ci,r=|Nri|)。
(2)通过归一化和对相邻节点的变换特征向量进行累积。与常规的GCNs不同,我们引入了特定于关系的转换,即依赖于边的类型和方向。为了确保l+1层节点的表示也可以通过对应的l层表示得知,我们为数据中的每个节点添加了一个特殊关系类型的单个自连接。注意,可以选择更灵活的功能,如多层神经网络(以牺牲计算效率为代价),而不是简单的线性消息转换。
神经网络层更新包括对图中的每个节点并行求值(2)。在实践中,(2)可以有效地利用稀疏矩阵乘法来实现,从而避免了对邻域进行显式求和,还可以堆叠多个层。我们将这种图编码器模型称为关系图卷积网络(R-GCN)。R-GCN模型中单个节点更新的计算图如图2所示。

上图表示了R-GCN模型中单个图节点/实体(红色)的更新图。相邻节点(深蓝色)的d-维向量被收集起来,然后分别转换为每种关系类型(包括内边和外边)。将结果(绿色)累加并通过一个激活函数(如ReLU)传递。这种每个节点的更新可以在整个图中通过共享参数并行计算。
为了防止对罕见关系和非常大的模型过拟合,我们引入了两种不同的方法来正则化RGCN层的权值、偏置和块对角分解。对与基分解,每个W(l)r的定义如下:

上式作为基变换V(l)b∈Rd(l+1)×d(l)的线性组合,其系数为a(l)rb使W(l)r仅依赖r。在块对角分解中,每个W(l)r通过对一组低维矩阵的直接相加生成:

基函数分解(3)可以看作是不同关系类型之间的有效权重共享的一种形式,而块分解(4)可以看作是对每种关系类型的权重矩阵的稀疏约束。这两种分解都减少了需要学习的参数数量。

图3:(a)R-GCN实体分类模型的描述。(b)是R-GCN编码器和DistMult解码器的链接预测模型,该解码器采用一对隐藏节点表示,并为图中的每条边计算评分和loss。
对于实体分类任务,本文采用了交叉熵作为损失函数。对于链接预测任务,本文的得分函数与DisMult相同,损失函数定义为:

其中T是实三元组和损坏三元组的集合,l是sigmoid函数,y是一个指示集,对于正三元组,y= 1,对于负三元组,y= 0。
链接预测实验结果:

个人总结:从效果来看,本文与普通的DisMult提升了3个百分点,本文在传统的GCN模型中,将节点的邻居节点按照关系进行分别加权聚合,同时还划分了相同关系不同关系类型(比如出度关系,入度关系等等)的权重。但本文依旧没有对关系的向量进行处理,仅仅对节点的信息进行了聚合。
