论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

前言

论文链接:https://arxiv.org/pdf/1703.06103.pdf
github:https://github.com/kkteru/r-gcn

本文提出了一种将图卷积操作应用与知识图谱的变体–R-GCN,知识图谱与传统同质图的最大区别在于知识图谱存在多种类型的节点和边,虽然边的定义没有特殊含义但是连接不同节点的边存在不同的语义信息,如果同时进行处理会造成很大的误差。

个人认为知识图谱与异质图非常像,好像也没有人对这两者的关系作出一个很明确的定义,而且好像两边都是各玩各的…

基于此作者提出了一种对关系数据进行建模的变体图卷积方法 R-GCN 用来捕获异质图不同节点之间连接的不同语义关系。

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

2. Neural relational modeling

作者给出了有向多标签图的定义 G = ( V , E , R ) \mathcal{G=(V,E,R)} G=(V,E,R),全部节点 v i ∈ V v_i \in \mathcal{V} viV,带标签的边也就是关系类型 ( v i , r , v j ) ∈ E (v_i,r,v_j) \in \mathcal{E} (vi,r,vj)E ,其中 r ∈ R r \in \mathcal{R} rR 属于关系类型。

2.1 Relational graph convolutional networks

对于传统同质图的图卷积操作其实就是一种消息传递框架,可以高度概括成
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
其中 h i l + 1 ∈ R d ( l ) h_i^{l+1} \in \mathbb{R}^{d^{(l)}} hil+1Rd(l) 是第 l l l 层节点的嵌入表示 , g m ( ⋅ , ⋅ ) g_m(\cdot,\cdot) gm(,) 被概括成消息传递函数,最外层是一个**函数 σ ( ⋅ ) \sigma(\cdot) σ() M \mathcal{M} M 表示消息传递的类型,对于传统同质图来说就仅有一种消息传递的类型

为了解决知识图谱中的多种类型节点的关系,本文定义了以下简单的传播模型,用于计算在节点关系中(有向和有标签)的图中 v i v_i vi 表示的实体或节点的正向更新:
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
其中 N i r \mathcal{N}_i^r Nir 表示节点 i i i 在关系 r r r 条件下的邻居节点,这里的关系就很像异质图中的元路径的概念。 c i , r c_{i,r} ci,r 是一个特定于问题的归一化常数,可以学习得到或事先选择。在公式(2)中计算了基于元路径邻居的特征表示,为了确保在下一层中包括了上一层的关系作者在构建模型的时候特意加上了本层的自连接。同时作者提出可以选择更灵活的函数,如多层神经网络(以计算效率为前提),而不是简单的线性转换

神经网络层更新包括对图中每个节点并行计算(2)。在实践中,(2)可以有效地利用稀疏矩阵乘法来避免邻域上的显式求和。可以对多个层进行堆叠,以支持跨多个关系步骤的依赖关系。本文将此图编码器模型称为关系图卷积网络(R-GCN)。R-GCN模型中单个节点更新的计算图如图2所示。
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

2.2 Regularization

将(2)应用于高度多关系数据的一个中心问题是,随着图中关系数量的增加,参数数量的快速增长。在实际应用中,这很容易导致对稀有关系的过度拟合和模型尺寸过大

因此本文提出了两种解决上述问题的正则化手段: basis decompositionblock-diagonal-decomposition

2.2.1 basis decomposition

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
其实也就是 V b l ∈ R d l + 1 × d l V_b^l \in \mathbb{R}^{d^{l+1}\times d^l} VblRdl+1×dl 和系数 a r b l a_{rb}^l arbl 的线形组合。在这里 a r b ( l ) a_{rb}^{(l)} arb(l) 也可以认为是一种参数共享的手段,只有在关系类型发生改变的时候才进行变化,变为新的权重矩阵。

2.2.2 block-diagonal-decomposition

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
W r ( l ) W_r^{(l)} Wr(l) 为一块对角矩阵, Q b r l ∈ R ( d ( l + 1 ) / B ) × d ( l ) / B Q_{br}^l\in \mathbb{R}^{(d^{(l+1)}/B) \times d^{(l)}/B} QbrlR(d(l+1)/B)×d(l)/B 。块分解可以看作是对每个关系类型的权值矩阵的稀疏约束,其核心在于潜在的特征可以被分解成一组变量,这些变量在组内的耦合比在组间的耦合更紧密。

两种分解都减少了网络的参数数量。同时,参数化也可以缓解对稀有关系的过度拟合,因为稀有关系和常见关系之间共享参数更新。

3 Tasks

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

3.1 Entity classification

对于节点(实体)的(半)监督分类,我们只需将图(2)的R-GCN层堆叠起来,并在最后一层的输出中(每个节点)利用**函数 s o f t m a x ( ⋅ ) softmax(·) softmax()。在所有标记节点(忽略未标记节点)上最小化以下交叉熵损失:
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

3.2 Link prediction

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

在本文中对于连接预测的定义如下,连接预测主要针对于三元组的关系预测 (subject, relation, object)。
在知识图谱中,给出一个不完整的边类型 E \mathcal{E} E,模型的任务是计算三元组关系 ( s , r , o ) (s,r,o) (s,r,o) 的分数 f ( s , r , o ) f(s,r,o) f(s,r,o) 来预测属于该边类型关系集合 E \mathcal{E} E 的概率。

在这里作者引出了自己之前的一项工作,基于传统同质图卷积的 GAE 和 VGAE 来进行图的重构 。在得到重构图之后,利用 DistMult 方法来当作分数预测函数。在该方法中表达关系的变量 r r r 被定义为想要预测关系的的节点特征向量投影形成的对角矩阵。评分的计算方式如下:
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
之后作者采用负采样的策略来训练模型
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

4. 实验

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks
论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks

论文笔记:ESWC 2018 Modeling Relational Data with Graph Convolutional Networks