ConvE 学习笔记

发布时间 2023-07-18 00:26:19作者: Leo303

ConvE

paper
这篇文章是瑞士大学的 Tim Dettmers 发表在 AAAI 2018 上的工作,提出了ConvE模型,使用了二维卷积应用到KGE,在此之后有许多使用神经网络的模型,比如ConvR、ConvKB等。

主要贡献

  • 提出了一个2D卷积链接预测模型ConvE。

  • 制定1-N评分程序,大大提高了训练速度,尤其是评估速度。

  • 参数有效性:和FB15k-237上的DistMult和R-GCN相比,ConvE不仅具有更高的分数,同时参数减少了8倍和17倍。

  • 表明对于以indegree(入度)和PageRank衡量的日益复杂的知识图,我们的模型与浅层模型之间的性能差异与图的复杂度成比例地增加。

  • 系统地研究跨常用数据集中存在的逆关系测试集泄漏问题。

模型

问题提出

文章首先提出了链接预测的任务,以往的链接预测工作主要集中在可扩展到大型知识图谱的浅层快速模型上,但是这类模型相比于深度多层模型,学习特征的能力更弱,这也是限制模型性能的一个因素。

image

另外,文章特别提到了WN18和FB15k数据集存在测试集泄露(test set leakage)的问题,因为训练集中的反向关系在测试集中也存在,这会让它们更容易测试成功。为了更好的去评估ConvE模型的性能,文章对数据集做了特殊的处理。

image

1D 卷积 vs 2D 卷积

在当时,与 ConvE 最相像的是 HolE 模型,但 HolE 并不学习多层非线性特征,所以理论上来说他的学习能力是低于 ConvE 的。

此外,因为知识图是天然有向的,所以基于无向图的图卷积模型GCN并不能用于链接预测。

关于为什么使用 2D 卷积,文章给出的解释是 通过 embedding 之间的交互,2D 相比于 1D 增强了模型的表现力。

1D 卷积将一维的 embeddings 做拼接,然后用 size k = 3 的过滤器进行卷积,这样能够模拟连接点周围这两个 embeddings 之间的相互作用,数量与 k 成正比,但是关键在于 1D 卷积只能够捕捉 embeddings 连接点处的交互:

image

而 2D 卷积将二维的 embeddings 进行堆叠,然后用 3x3 的过滤器进行卷积,能够捕捉到整个连接行之间 embedding 的交互,比 1D 卷积更具表达力:

image

当切换成交互模式时,卷积结果如下:

image

总之,与 1D 卷积相比,2D 卷积能够提取两个 embedding 之间更多的交互特征。

1-1 score vs 1-N score

文章采用 1-N 的打分方式,因为相比于 1-1 的打分,采用 1-N 的打分方式在时间性能上提高了300倍,而且 1-N 的打分方式在测试集的收敛速度上比 1-0.1N 的打分方式(抽取百分之十的实体打分)要快很多。

关于 1-N 的时间性能为什么比 1-1 快,作者本人的回答如下:(https://github.com/TimDettmers/ConvE/issues/49)

image

1-N scoring 是通过矩阵乘法实现的,而不是向量乘法,估计矩阵乘法比向量乘法要快吧。

ConvE

ConvE采用多层卷积,其中包括一个单层的卷积层(single convolution layer)、一个投影层(projection layer)和一个内积层(inner product layer)。

image

根据架构图,ConvE主要操作如下

  1. 将实体和关系的 embedding 堆叠

  2. 将堆叠的 embedding reshape 成二维的张量,表达方式类似于‘image’。

  3. 将张量卷积后,得到 Feature maps

  4. 经过全连接层投影到 k 维空间中

  5. 在内积层与目标 embedding 进行匹配

打分函数 score function

image

loss 采用二元交叉熵 loss,优化器采用 Adam:

image

实验

文章提到了 WN18 和 FB15k 数据集中测试集泄露的问题,所以在实验中特别对问题做了特殊的处理,做了大量的实验。

数据集

实验使用的数据集包括:WN18(WN18RR)、FB15k(FB15k-237)、YAGO3-10 和 Countries。

测试集泄露问题

文章为解决这个问题专门设计了一个 inverse model ,用于自动抽取训练集中的 inverse relations。

模型参数比较

ConvE 的参数量比 DistMult 少很多,但是性能不差。

image

链接预测结果

可以看到,在没有去除 inverse relations 的数据集 WN18 和 FB15k 中,inverse model 的表现是最好的,而在去除了 inverse relations 的数据集 WN18RR 和 FB15k-237 中, inverse model 的表现是最差的,所以表明 WN18 和 FB15k 确实可能存在 test set leakage。

image
image
image

Ablation study

image

代码

文章给出了代码:https://github.com/TimDettmers/ConvE

总结

文章提出了用于链接预测的多层卷积网络模型 ConvE ,比起 DistMult 和 R-GCN ,ConvE 的参数量下降了很多,但是性能依旧保持,也是用卷积网络做 KGE 的开山之作。