Modeling Relational Data with Graph Convolutional Networks

https://arxiv.org/pdf/1703.06103

https://github.com/tkipf/relational-gcn

Modeling Relational Data with Graph Convolutional Networks,2018,ESWC

总结:比较早的一篇用于知识图谱上信息补全的模型,具体来说用来解决实体分类和链路预测两个任务。针对知识图谱中三元组数据,对传统GCNs的转换函数做了改进提出了R-GCN模型。在实体分类任务中采用encoder架构,在链路预测任务中采用encoder-decoder即自编码器架构。最后的实验效果不是很理想,不过文章影响力挺大,被引量比较高。

1. 简介

1.1 摘要

Knowledge graphs enable a wide variety of applications, including question answering and information retrieval. Despite the great effort invested in their creation and maintenance, even the largest (e.g., Yago, DBPedia or Wikidata)remain incomplete. We introduce Relational Graph Convo-lutional Networks (R-GCNs) and apply them to two standard knowledge base completion tasks: Link prediction (recovery of missing facts, i.e. subject-predicate-object triples) and entity classification (recovery of missing entity attributes). R-GCNs are related to a recent class of neural networks operat-ing on graphs, and are developed specifically to deal with the highly multi-relational data characteristic of realistic knowledge bases. We demonstrate the effectiveness of R-GCNs as a stand-alone model for entity classification. We further show that factorization models for link prediction such as DistMult can be significantly improved by enriching them with an encoder model to accumulate evidence over multiple inference steps in the relational graph, demonstrating a large improvement of 29.8% on FB15k-237 over a decoder-only baseline.

知识图谱衍生了很多应用,比如问答、信息检索。尽管人们在创造和维护知识图谱上投入了很大的努力,但是大型知识图谱比如Yago、DBPedia或者Wikidata都存在不完整问题。本文我们介绍关系型图卷积神经网络R-GCNs,并将其应用于两个知识图谱补全任务:链路预测和实体分类。RGCNs基于现有的很多图上神经网络模型,专门设计用来处理真实知识库中普遍存在的multi-relational特征。我们证明了RGCNs作为一个独立模型在实体分类任务上的有效性。我们进一步展示了通过编码器模型,在关系图的多个推理步骤中基类证据,可以显著改进项DistMult这样的factorization链路预测模型的性能。实验证明在FB15k-237上,和纯编码器模型相比性能提升29.8%。

1.2 本文工作

背景: 知识图谱衍生了很多应用,比如问答和信息检索。虽然人们在创建和维护知识图谱方面投入了很大精力,但是大型知识图谱中还是存在不完整问题,影响了下游应用的性能。预测知识库中的缺失信息是统计关系学习(SRL)的主要研究方向。

动机: 本文作者考虑两个任务:(1)链路预测,即寻找丢失的三元组;(2)实体分类,即对齐实体的类别属性。在这两种情况下,许多丢失的信息其实被编码在了图的结构信息中。例如上图1所示,知道Mikhail在Vaganova Academy读书,那么他应该有个person标签,并且知识库中很可能应该存在三元组(Mikhail, lived_in, Russia)。基于这个直觉,作者为图中的实体设计了一个编码器,同时用于上面两个任务。

本文工作: 作者提出了RGCN模型用于上文提到的两个任务。对于实体分类任务,和GCN类似,以RGCN得到的节点表示作为输入,用一个softmax分类器预测实体标签。对于链路预测任务,可以将整个模型看做一个自编码器,编码器即为RGCN,生成实体的潜在特征表示,解码器可以是任何一个tensor factorization模型,本文采用一种简单高效的解码器DistMult。

2. 方法

2.1 消息传播

作者提出的RGCN模型可以看做GCN在大规模关系型数据中的一种拓展。基于现有的GNN架构,作者在关系图上定义的信息传播模型如下:

hi(l+1)=σ(rRjNir1ci,rWr(l)hj(l)+W0(l)hi(l))(2)h_{i}^{(l+1)}=\sigma\left(\sum_{r \in \mathcal{R}} \sum_{j \in \mathcal{N}_{i}^{r}} \frac{1}{c_{i, r}} W_{r}^{(l)} h_{j}^{(l)}+W_{0}^{(l)} h_{i}^{(l)}\right) \tag 2

其中Nir\mathcal{N_i^r}表示节点viv_i的邻居集合,R\mathcal R表示所有关系集合,ci,rc_{i,r}表示一个problem-specific正则化常量(可以学习得到,也可以预先设定好比如ci,r=Nirc_{i,r}=|\mathcal {N_i^r}|)。需要注意的是,和普通GCNs不同,这里聚合邻居信息的方式是relation-specific,即按不同类型的边进行聚合。

对于图中每个节点,公式2可以并行计算。不过在实际应用中,公式2可以通过稀疏矩阵乘法来避免对邻域信息的显示相加,提高运算效率。R-GCN中对于单个节点,其嵌入转换过程如下图2所示:

2.2 正则化

将上述公式2应用到大规模高度multi-relational存在的主要问题就是:模型参数量随着关系种类增加而增加,在实际应用中对于某些稀有关系还会导致过拟合。为了解决这个问题,作者提出了两种不同的正则化技术:basis-decomposition和block-diagonal-decomposition。

  1. basis-decomposition

    Wr(l)=b=1Barb(l)Vb(l)(3)W_{r}^{(l)}=\sum_{b=1}^{B} a_{r b}^{(l)} V_{b}^{(l)}\tag 3

    将权重参数Wr(l)W_r^{(l)}分解成若干个基本转换Vb(l)V_b^{(l)}的线性组合, 其中系数arb(l)a_{rb}^{(l)}只取决于关系rr

  2. block-diagonal-decomposition

    Wr(l)=b=1BQbr(l)(4)W_{r}^{(l)}=\bigoplus_{b=1}^{B} Q_{b r}^{(l)}\tag 4

    Wr(l)W_r^{(l)}分解成块对角矩阵diag(Q1r(l),...,QBr(l))diag(Q_{1r}^{(l)},...,Q_{Br}^{(l)})

其中公式3可以看做是在不同类型关系之间共享权重,而公式4可以看做对每种类型关系的权重矩阵进行系数约束。

2.3 损失函数

  1. 实体分类

    堆叠公式2定义的RGCN层,输出层采用softmax函数,损失函数采用交叉熵损失

    L=iYk=1Ktiklnhik(L)(5)\mathcal{L}=-\sum_{i \in \mathcal{Y}} \sum_{k=1}^{K} t_{i k} \ln h_{i k}^{(L)}\tag 5

  2. 链路预测

    如上图3b所示,链路预测模型多了一个解码器。编码器为每个节点计算一个嵌入向量,解码器根据节点嵌入计算两个节点之间存在边的概率。本文采用DistMult作为解码器,两个实体之间存在关系r的得分计算方式如下:

    f(s,r,o)=esTRreo(6)f(s, r, o)=e_{s}^{T} R_{r} e_{o}\tag 6

    通过负采样技术和交叉熵损失优化模型,让真实三元组得分高于虚假三元组:

    L=1(1+ω)E^(s,r,o,y)Tylogl(f(s,r,o))+(1y)log(1l(f(s,r,o))),(7)\begin{array}{r} \mathcal{L}=-\frac{1}{(1+\omega)|\hat{\mathcal{E}}|} \sum_{(s, r, o, y) \in \mathcal{T}} y \log l(f(s, r, o))+ \\ (1-y) \log (1-l(f(s, r, o))), \end{array}\tag 7

3. 实验

3.1 实体分类

RGCN在AIFB和AM数据集上取得了最好表现,但是MUTAG和BGS两个数据集上效果欠佳。作者猜测可能是聚合邻域信息时采用固定的标准化系数导致的。作者认为一种可能的解决方式是:用注意力机制代替1/ci,r1/c_{i,r}

3.2 链路预测

详细信息可以看原文,这里不做过多叙述。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2022 Yin Peng
  • 引擎: Hexo   |  主题:修改自 Ayer
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信