1. 前言
论文链接:https://aaai.org/ocs/index.php/AAAI/AAAI18/paper/viewPDFInterstitial/17366/15884
github:https://github.com/TimDettmers/ConvE
知识图的链接预测是预测实体之间缺失关系的任务。先前有关链接预测的工作集中在浅,快速的模型上,这些模型可以缩放到大型知识图例如基于基于平移变换的 TransE 系列。但是,这些模型比深层次的多层模型学习的表达功能要少,这可能会限制性能。本文中提出了一种多层卷积网络模型ConvE(用于链路预测)。该模型在建模具有高度关联性的节点时非常有效,而高度关联的复杂知识图(例如Freebase和YAGO3)非常常见。
此外,本文的作者注意到WN18和FB15k数据集由于测试集中存在与训练集成反比的关系而遭受测试集泄漏的困扰,但是,到目前为止,这一问题的程度尚未得到量化。作者发现这个问题很严重:一个简单的基于规则的模型可以在WN18和FB15k上都达到非常好的的效果。为了确保在仅利用逆关系不能产生竞争结果的数据集上评估模型,作者研究并验证了几个常用的数据集-必要时得出可靠的变体。然后,作者对这些稳健的数据集对我们自己的模型和先前提出的几个模型进行了实验。简单来说就是作者发现了数据集分布的漏洞并基于此对数据集进行了完善。
2. 背景
知识图谱中的链接预测模型通常由简单的操作组成,例如内积和嵌入空间上的矩阵乘法,并使用数量有限的参数,其特征在于嵌入参数之间的三向交互,每个参数产生一个特征。 使用这种简单,快速,浅层的模型可以使人们按比例缩放到较大的知识图,而代价是学习较少的表达特征导致最终连接预测的效果堪忧。
增加浅层模型中特征的数量(从而提高其表达能力)的唯一方法是增加嵌入大小。 但是,这样做导致无法缩放到较大的知识图,因为嵌入参数的总数与图中实体和关系的数量成比例。解决浅层架构的缩放问题以及完全连接的深层架构的过拟合问题的一种方法是使用参数有效的快速运算符,该运算符可以组成深层网络。基于此作者想到了卷积操作
通常在计算机视觉中使用的卷积运算符具有这些特性:由于高度优化的GPU实现,它具有高效的参数和快速的计算能力。 此外,由于其无处不在的使用,在训练多层卷积网络时已经建立了鲁棒的方法来控制过度拟合。
在本文中提出了ConvE,该模型在嵌入上使用2D卷积来预测知识图中的缺失链接。 ConvE 是用于链接预测的最简单的多层卷积体系结构:它由单个卷积层,嵌入尺寸的投影层和内部乘积层定义。
本文的贡献如下:
- 引入了一个简单的,竞争性的2D卷积链接预测模型ConvE。
- 开发了一个1-N 的评分过程,将训练速度提高三倍,并将评估速度提高300倍。
- 确定本文的模型具有很高的参数效率,在参数减少8倍和17倍的情况下,在FB15k-237上比DistMult和R-GCN得分更高。
- 表明对于以indegree和PageRank衡量的日益复杂的知识图,本文的模型与浅层模型之间的性能差异与图的复杂度成比例地增加。
- 系统研究跨常用链接预测数据集报告的逆关系测试集泄漏,并在必要时引入可靠的数据集版本,以便使用简单的基于规则的模型无法解决它们。
对于给出一个三元组,再利用模型对他们的表示进行嵌入后的评分函数,本文给出了一个总结
3. Convolutional 2D Knowledge Graphs Embeddings
本文中提出了一个神经链接预测模型,其中输入实体和关系之间的交互作用是通过卷积层和完全连接层建模。 模型的主要特点是分数由2D形状嵌入上的卷积定义的。 图1总结了该体系结构。 具体的评分函数定义如下:
其中
r
r
∈
R
k
r_r \in \mathbb{R}^k
rr∈Rk 代表属于
r
r
r 的关系参数,
e
s
‾
\overline{e_s}
es 和
r
r
‾
\overline{r_r}
rr 分别代表
e
s
e_s
es 和
r
r
r_r
rr 的2D的形式。如果
e
s
,
r
r
∈
R
k
e_s,r_r \in \mathbb{R}^k
es,rr∈Rk,那么
e
s
‾
,
r
r
‾
∈
R
k
w
×
k
h
\overline{e_s},\overline{r_r} \in\mathbb{R}^{k_w \times k_h}
es,rr∈Rkw×kh,其中
k
=
k
w
k
h
k = k_wk_h
k=kwkh。
前馈过程:
- 经过look-up embedding得到实体和关系的向量表示 ,对于实体的嵌入表示成 E ∣ E ∣ × k E^{|\mathcal{E}|\times k} E∣E∣×k,对于关系类型的嵌入表示成 R ∣ R ∣ × k ′ R^{|\mathcal{R}|\times k^{'}} R∣R∣×k′。其中 ∣ E ∣ , ∣ R ∣ , k , k ′ |\mathcal{E}|,|\mathcal{R}|,k,k^{'} ∣E∣,∣R∣,k,k′ 分别代表知识图谱中实体的数量、关系的数量、实体的嵌入维度、关系的嵌入维度。
- 模型对 e s ‾ \overline{e_s} es 和 r r ‾ \overline{r_r} rr 进行拼接操作,将此作为 2D 卷积层的输入,至于 2D 卷积层的卷积核为 ω \omega ω。卷积层的输出为 T ∈ R c × m × n \mathcal{T} \in \mathbb{R}^{c\times m \times n} T∈Rc×m×n 其中 c c c 代表特征图的数目,也就是卷积核的第三维度。
- 将特征图拉伸成为向量 v e c ( T ) ∈ R c m n vec(\mathcal{T}) \in \mathbb{R}^{cmn} vec(T)∈Rcmn,然后使用矩阵 W ∈ R c m n × k \mathbf{W} \in \mathbb{R}^{c m n \times k} W∈Rcmn×k 设置的线性变化将其投影到 k k k 维空间中,并通过内积与嵌入 e o e_o eo 的对象匹配。
训练过程中,使用logistic sigmoid function
σ
(
⋅
)
\sigma(\cdot)
σ(⋅) 来计算评分,具体公式为
p
=
σ
(
ϕ
r
(
e
s
,
e
o
)
)
p = \sigma(\phi_r(e_s,e_o))
p=σ(ϕr(es,eo))。之后最小化二分类损失函数:
其中
t
t
t 是标签矢量,用于1-1评分的尺寸为
R
1
x
1
\mathbb{R}^{1x1}
R1x1 用于1-N评分的尺寸为
R
1
x
N
\mathbb{R}^{ 1xN}
R1xN; 向量
t
t
t 的元素是存在的关系的元素,否则为零。
3.1 Train tricks
本文使用校正后的线性单位作为非线性 f f f,以进行更快的训练,并在每一层之后进行批量归一化以稳定,正则化并提高收敛速度。 通过在多个阶段使用 Dropout 来规范化模型。 在嵌入,卷积运算后的 feature map 上以及完全连接层之后的隐藏单元上使用了 Dropout。 作者使用Adam作为优化器,并对标签进行平滑处理以减少由于标签上输出非线性的饱和而导致的过度拟合。
4. 实验