【论文解读 ESWC 2018 | R-GCN】Modeling Relational Data with Graph Convolutional Networks

论文题目:Modeling Relational Data with Graph Convolutional Networks

论文来源:ESWC 2018

论文链接:https://arxiv.org/abs/1703.06103

代码链接:https://github.com/tkipf/relational-gcn

关键词:知识图谱,GCN,基函数分解,块对角分解



提出关系图卷积网络(R-GCNs),用于两个知识库的补全任务:链接预测、实体分类(恢复丢失的实体属性)。

1 引言

知识图谱中存储了大量的知识,可用于问答系统、信息检索等下游任务。但是许多知识图谱都是不完备的,例如DBPedia、Wikidata、Yago,有许多信息的缺失,这会影响其在下游任务中的应用。预测知识库中缺失的信息是统计关系学习(SRL)的主要研究内容。

考虑两个基本的SRL任务:链接预测(恢复缺失的三元组)、实体分类(为实体分配类型或类别属性)。

许多缺失的信息都是隐含在通过邻居结构编码的图中。作者从这一思想出发,设计了一个编码器,编码关系网络中的实体,并应用于这两个任务中。

实体分类模型:对图上的每个节点使用softmax分类器,R-GCN得到的节点表示作为分类器的输入。这个模型以及R-GCN的参数都是通过优化交叉熵损失学习得到的。

链接预测模型:可视为由一个encoder和一个decoder组成的自编码器。

1)encoder:R-GCN为实体生成隐层的特征表示;

2)decoder:张量的分解模型,利用encoder生成的表示预测边的label。

按理说decoder可以使用任何一种形式的分解/打分函数,作者使用了最简单并最有效的分解方法:DistMult


贡献

(1)第一个将GCN用于建模关系型数据的工作,尤其是针对链接预测和实体分类任务。

(2)在R-GCN中使用了参数共享和稀疏约束,应用于有大量关系的多个图。

(3)实验证明,以DistMult为例,使用一个在关系图中执行多步信息传播的encoder模型来丰富矩阵分解的模型,可以显著提高其性能。


2 神经关系建模

定义有向的且有标签的多个图为G=(V,E,R)G=(\mathcal{V}, \mathcal{E}, \mathcal{R}),节点为viVv_i\in \mathcal{V},有标签的边为(vi,r,vj)E,rR(v_i,r,v_j)\in \mathcal{E}, r\in \mathcal{R}

2.1 Relational Graph Convolutional Networks

模型的动机是使用图中局部的邻居信息,将GCN扩展到大规模的关系型数据中。可以理解成是一个简单可微的消息传递框架:

其中Mi\mathcal{M}_i表示节点viv_i的传入消息集合,通常为入度的边缘集。gm(,)g_m(\cdot, \cdot)可以是类似神经网络的函数,也可以是简单的线性转换。

这种方式可以有效地聚合编码局部邻域结构的特征,并且在图分类和基于图的半监督学习等任务中表现出了很好的效果。

受上述架构的启发,作者定义了如下的消息传播模型:

其中Nir\mathcal{N}^r_i表示与节点iirr类型连边的邻居节点。ci,rc_{i,r}是针对特定问题的归一化常数,可以学习得到也可以预先设定(例如 ci,r=Nirc_{i,r}=|\mathcal{N}^r_i|)。

使用WhjWh_j这种线性的转换形式的优点:(1)不需要储存中间过程的基于边的表示信息,节省了存储空间;(2)可进行向量化的运算。

和正规的GCN不同的是,作者引入的是relation-specific的转换,依赖于边的类型以及边的方向。为了保证第ll层的节点表示信息可以传递给第l+1l+1层的节点,作者为每个节点都添加了一个特殊类型的关系——自连接。

式(2)对所有节点进行并行计算,就可以实现神经网络层的更新,堆叠多层可以捕获多步之间的关系依赖。将这个图编码模型就是R-GCN。图1描述了使用R-GCN模型对图中一个节点的更新过程。


2.2 Regularization

式(2)应用于多关系型数据面临的主要问题就是:随着图中关系数量的增长,参数的数量迅速增长。这很容易导致过拟合。

有两种方法可以解决参数量过大的问题:

  • 在权重矩阵间共享参数
  • 在权重矩阵中进行稀疏约束

针对这两种策略,作者引入了两种方法,用于R-GCN层权重的正则化:基函数分解(basis-decomposition) 和 块对角分解(block-diagonal-decomposition)

(1)基函数分解

Wr(l)W^{(l)}_r定义为基变换Vb(l)Rd(l+1)×d(l)V^{(l)}_b\in \mathbb{R}^{d^{(l+1)}\times d^{(l)}}的线性组合,arb(l)a^{(l)}_{rb}是系数,只有系数依赖于关系rr

(2)块对角分解

Wr(l)W^{(l)}_r求得后是块对角矩阵:

块对角分解就是(DistMult)解码器中使用的对角稀疏约束的推广。

基函数分解是实现不同关系类型间权重共享的一种形式;块分解可看成是对每种关系的权重矩阵的稀疏约束。

块分解的结构认为潜在的特征可以被分成多组变量,组内的联系比组间的更加紧密。

对于高度多关系类型的数据(例如 知识库),这两种分解的方式都减少了参数。


R-GCN模型的流程如下:像式(2)定义的那样,堆叠LL层,当前层的输出为下一层的输入。若没有给定节点的特征,则为每个节点赋予唯一的one-hot向量,作为第一层的输入。对于块分解,通过一层线性变换将one-hot向量映射成稠密的表示。

本文只考虑节点无特征的方法,当然GCN类型的方法可以结合预定义的特征向量。


3 实体分类

堆叠多层R-GCN层,最后一层的输出后再过一个softmax函数。忽略未标注的节点,对所有已标注的节点最小化如下的交叉熵损失:

其中Y\mathcal{Y}是有标签的节点集合,hik(L)h^{(L)}_{ik}是第ii个已标注的节点在第kk个位置的输出,tikt_{ik}表示对应的ground truth标签。如图1b所示。


4 链接预测

知识库由有向的有标签的图G=(V,E,R)G=(\mathcal{V}, \mathcal{E}, \mathcal{R})组成。通常边的集合不是完全给定的,只给定了不完整的边集合E^\mathcal{\hat{E}}。链接预测的目标就是给定可能的边(s,r,o)(s, r, o),计算打分函数f(s,r,o)f(s, r, o),判断边属于$ \mathcal{E}$的可能性。

为了解决这一问题,引入如图1 c所示的自编码器模型,由实体编码器和打分函数(decoder)组成。

编码器将每个实体viv_i映射成实值向量eiRde_i\in \mathbb{R^d}

解码器根据编码器得到的节点表示信息,重构图中的边。具体而言,解码器使用打分函数为三元组(subject,relation,object)(subject, relation, object)打分,判断这个三元组对应的边在图中是否存在。现有的链接预测的方法几乎都采用了这种方式。

本文的方法和先前方法的主要区别在于对编码器的依赖。先前的方法大多对每个节点viv_i使用单一的、实值的向量eie_i,直接在训练过程中优化。本文的方法是使用带有ei=hi(L)e_i=h^{(L)}_i的R-GCN编码器计算表示。

实验中,使用DistMult分解作为打分函数。其中,每个关系rr都和一个对角矩阵RrRd×dR_r\in \mathbb{R^{d\times d}}相关联,对三元组(s,r,o)(s, r, o)的评分计算如下:

训练时使用负采样技术,随机替换正样本的subject或object,生成ww个负样本。使用交叉熵损失,让模型对正样本的打分值比负样本高:

其中,T\mathcal{T}是正样本和负样本的三元组集合,ll是logistic sigmoid函数,yy是正负样本的指示函数。


5 实验

数据集

实验任务:链接预测、实体分类

实验结果

(1)实体分类

(2)链接预测

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章