论文笔记整理:谭亦鸣,东南大学博士生。
来源:ICLR2020
链接:https://openreview.net/pdf?id=BkxSmlBFvr
KG embedding(KGE)模型的目标是学习知识图谱中实体和关系的向量表示。近年来众多的KGE方法被提出,不断刷新state-of-the-art。这些方法在在模型架构,训练策略以及超参数优化上各有不同。这篇文章以目前较为流行的模型架构及训练策略为主体,分析了上述这些条件对于模型性能的影响。实验发现,当训练得当时,模型之间的性能差异相对以往的结果来说相对缩小,甚至反转。作者发现好的模型配置能够通过大型参数空间中的少量随机样本找到。论文的结论是:研究者们应该重新审视那些先进的方法和技术,从而准确评估这些方法各自的实际优势。
动机
现有的KGE模型根据实体和关系的embedding联合方式的差异主要分为:factorization models(以RESCAL, DistMult,ComplEx,TuckER为代表);translationalmodel(主要指TransE,RotatE);以及比较新的卷积模型例如ConvE。很多情况下,一个新的模型的提出往往伴随着新的训练策略:新的训练类型(例如负采样),新的损失函数,新的正则化形式等等。表1总结了目前具有代表性的方法的训练策略整理。这些五花八门的模型训练使得很难横向对比各自KGE模型的性能,在基于前人的工作进行模型复现和改进时,我们往往会沿用前人已知“效果较好”的参数设定,而不同的模型所适用的参数设定往往是不同的(模型A的最优参数可能是B的次优)。
针对上述情况,作者决定总结并对不同模型方法,训练策略对模型性能的影响进行经验性量化(在一个commonexperiment setup中,实现不同的模型方法和训练策略)。不同于前人的工作。
KGE:模型,训练,评估
作者选取了具有代表性的模型和训练策略(表1),用于本文的对比。
在评估方案方面:
1.知识图谱中的多关系链接预测是一个典型的被用于KGE性能测试的任务,即对于给定的实体集与关系集,通过预测实体之间的链接(关系)构建出一个完整的KG。
2.KGE,知识图谱嵌入的目标是将实体和关系映射到低维向量空间中,并保持实体之间的相对结构稳定。因此三元组表示学习之后的得分则可以量化得到,从而反映图谱表示学习的质量。
3.另一个最常用的KGE评估任务是实体的排序:对于给定的确实了头/尾实体的三元组,排序找到最合适的缺失实体。
KGE模型可以粗分为:可分解模型以及整体模型两类。前者仅允许(具有特定关系的)主体和客体的交互,后者则以内需任意交互,两者的评分函数不同。
训练类型
目前有三种常用的方法训练KGE模型,主要的差异在于负例的生成方式:1.随机替换正例中的元组得到负例;2.1vsALL,打乱头尾实体的位置,利用单个三元组批量生成负例;3.首先批量构建非空三元组(缺头或尾实体),将非空三元组标为正例或负例。
损失函数
目前KGE已经引入了几个损失函数:RESCAL最初使用各三元组得分与正负例的平方差;Trans系列模型则使用的marginrank with hinge loss(MR)
Reciprocal relations
ConvE方法在KGE模型训练中引入了Reciprocal relations技术,相比之前方法仅对主体或客体进行打分,该技术分别为主体和客体建立的独立的打分函数。所有的打分函数共享实体的embedding但不共享关系embedding,这种方式可能可以减少计算成本。
正则化
在embedding向量上最流行的正则化规范是L2。TransE则是在每次更新之后将embedding标准化为单位标准。ConvE在它的隐层中使用dropout。在本文的工作中,作者将共同考虑L1和实体/关系embedding的dropout。
超参数
前人的工作中已经提出了很多的超参数设定,包括不同的初始化模型参数的方法,不同的优化算法,包括学习率和批量规模等优化参数,负例的规模,实体和关系的正则权重等。
实验研究
数据集方面:作者使用FB15K-237(Freebase的一个子集),以及WNRR(来自WordNet)。使用这些数据集的主要理由是:它们被许多前人工作所使用;它们具有难度(专门面向多关系链接预测);相关模型性能上具有多样性;数据规模适用性。数据集的统计信息如下表:
模型方面:
RESCAL, TransE, DistMult, ComplEx以及ConvE(基于它们的知名度且涵盖过去和现在的模型)
评估方面:这里主要使用MRR以及HITS@10.
超参方面:作者使用了一个大型超参数空间,用于确保不会遗漏每个模型适用的(前人提出的)超参数设定。实验涵盖了所有主流的训练类型,使用Reciprocal relations,损失函数考虑了MR,BCE,CE,正则化技术则涉及到无/L2/L3以及dropout的全部设定。优化算法包含Adam和Adagrad。作者考虑了128,256,512三种维度的embedding,并且对实体和关系的建立独立权重用于dropout和正则化。(按照作者的描述,目前尚未有一个工作涉及到使用如此大的超参数搜索空间)
训练方面:epoch的上限被设定为400,每5个epoch进行一次MRR验证,earlystop的patience为50epoch。训练的终止条件为50次epoch中模型在MRR验证上没有超过5%的提升。
模型选择:这里是使用了一个Ax框架https://ax.dev/通过Sobol序列进行准随机超参数搜索。对于每个数据集和模型,作者生成了30个不同的配置。在超参数搜索之后,作者添加了贝叶斯Bayesian optimization phase做进一步的调试。
可复用性:所有的模型训练策略,超参数都基于PyTorch构建,框架具备可扩展性且开源。
模型性能对比
1.模型的Firstreported性能与作者得到的实验性能的对比:(如表2 First)作者发现单个模型的性能差异非常大;在作者的实验中(表2 Ours),许多模型的性能相比First reported有了巨大提升,包括RESCAL, TranE等都达到了相同方法的最佳。
2.而后作者比较了本研究使用的模型之间的性能(表2 Ours),发现相比First reported中的结果,许多模型之间的性能差距明显缩小甚至反超。这反映出训练策略对于模型的影响之大。
3.表2(Recent)同时展现了最近最佳模型以及大型模型的性能,但与Ours中的最优模型相比而言,差距也并不是非常大。
超参数的影响:
图1描述了各个模型在不同超参数设置情况下的MRR验证得分分布(可以看到不同配置情况下模型的性能上下限非常明显,而大多数模型的性能上界接近)
最优配置分析(详情请看原文附录表6,7,涵盖了全部超参数):
下表中给出了MRR上最优的超参数配置实验对比
1.quasi-random hyperparameter search得到的最优配置(表3)
2.贝叶斯调优后得到的最优配置(表8)
本文是难得的针对模型性能本质,涵盖大量详细实验分析的扎实工作,建议相关领域研究者详细阅读原文。
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 博客。