论文浅尝 - ICLR2020 | You Can Teach an Old Dog New Tricks!关于训练知识图谱嵌入

论文笔记整理:谭亦鸣,东南大学博士生。


来源: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 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

撑起百万亿参数模型想象力!英伟达发布新一代SuperPOD超算,AI算力新巅峰!

周一,黄教主又很淡定的在自家厨房里开完了GTC发布会。众所周知,NLP领域的模型一个比一个大,自从百亿参数的Google T5出来后,大部分AI研究者只能望着手里的蹩脚算力兴叹。如今动辄就是千亿、万亿参数模型,目前比较流行的…

每日优鲜小程序基础组件介绍

每日优鲜小程序基础组件介绍1.基础组件介绍2.基础组件的结构与作用3.基础组件的接入方法初次引入初始化更新与维护基础组件接入1.基础组件介绍 小程序基础组件基于每日优鲜主商城小程序业务实践演变而来。 基础组件的名称为:mini_app_base_module。 基础组件的项…

Redis 高负载下的中断优化

背景 2017年年初以来,随着Redis产品的用户量越来越大,接入服务越来越多,再加上美团点评Memcache和Redis两套缓存融合,Redis服务端的总体请求量从年初最开始日访问量百亿次级别上涨到高峰时段的万亿次级别,给运维和架构…

LeetCode 394. 字符串解码(栈)

1. 题目 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格&…

90TB显存!英伟达发布新一代SuperPod超算,AI算力新巅峰!

周一,黄教主又很淡定的在自家厨房里开完了GTC发布会众所周知,NLP领域的模型一个比一个大,自从百亿参数的Google T5出来后,大部分AI研究者只能望着手里的蹩脚算力兴叹。如今动辄就是千亿、万亿参数模型,目前比较流行的V…

VS Code HtmlFindClass 插件介绍

这款插件诞生于工作中,在写大量的前端代码之后,发现有的工作比较重复,浪费时间,于是想能不能通过工具来解决。起初是拿Java写的,但是它不利于推广,因为很多前端同学不掌握Java。以至于是一直我自己在使用。…

论文浅尝 - ACL2020 | 一种用于关系三元组提取的级联二进制标记框架

论文笔记整理:窦春柳,天津大学硕士。链接:https://arxiv.org/pdf/1909.03227.pdf动机首先作者提出了问题,传统的关系抽取是不能很好的解决三元组重叠,如下图。从图中可以发现,传统的关系抽取针对Normal 类型…

LeetCode 733. 图像渲染(DFS/BFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜…

美团外卖Android平台化架构演进实践

美团外卖自2013年创建以来,业务一直高速发展。目前美团外卖日完成订单量已突破1800万,成为美团点评最重要的业务之一。美团外卖的用户端入口,从单一的外卖独立App,拓展为外卖、美团、点评等多个App入口。美团外卖所承载的业务&…

Vue源码探究笔记

对于源代码分析有一个基本原则:要找到它的最早期的版本,比如1.0版本。1.0版本奠定了一款框架的基础结构,之后的版本迭代都是基于这套结构进行更新的。所以掌握了基础结构,那也就掌握了这个框架。这个原则适用于世界上绝大多数事务…

Jarvis:一个值得关注的多模态端到端人机对话框架,针对所有行业适配

说到应用级的人机对话框架,很多人可能首先想到的是RASA开源项目。不过,今天跟大家简要分享一个功能更为丰富、性能更为强劲的多模对话框架——Jarvis,非常值得对话系统从业者关注一下。Jarvis是英伟达于2019年发布的人机对话服务,…

技术动态 | 知识图谱构建的研究已走入下半场,但大规模落地应用仍需时间

本文转载自公众号:AI前线。作者 | 李冬梅 采访嘉宾 | 唐杰知识图谱是近年来人工智能技术蓬勃发展的核心驱动力之一,已广泛应用在金融、电商、医疗、政务等众多领域,经过短短几年的发展,热度依旧不减,未来,知…

LeetCode 542. 01 矩阵(BFS DP)

文章目录1. 题目2. 解题2.1 BFS2.2 DP动态规划1. 题目 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0示例 2: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0…

美团旅行销售绩效系统研发实践

背景 O2O是目前互联网竞争最激烈的领域之一,其重要的业务特征是有大规模的线下业务团队,他们分布在五湖四海,直接服务着数以百万的商家,责任很重,管理的难度巨大。能否通过技术手段,打造高效的线下团队&…

深入解析Node.js setTimeout方法的执行过程

深入了解setTimeout源码之前,本有两个选择。一是通过chromium源码分析,二是通过Node.js源码分析。后来发现第一种方案的源码获取成本太大,于是从Node官网获取了几十兆的代码用来了解。 当前的Node版本为:v10.16.0 setTimeout方法定…

别只关注GPT3!细如发丝的模型更具现实杀伤力!

这个世界上有两种极具难度的工程:第一种是把很平常的东西做到最大,例如把语言模型扩大成能够写诗写文写代码的GPT-3;而另一种恰恰相反,是把很平常的东西做到最小。 ----王苏语录GPT3自从诞生以来,便受到…

论文浅尝 - EMNLP2020 | 基于分组式对比学习的神经对话生成

论文笔记整理:叶宏彬,浙江大学计算机博士生。论文地址:https://arxiv.org/abs/2009.07543摘要:近年来,神经对话问答的产生已广受欢迎。现有对话模型学习中广泛采用了最大似然估计目标(MLE)。但是…

LeetCode 841. 钥匙和房间(DFS/BFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。 在形式上&#xff…

容器中用uwsgi协议部署注意的问题以及用flask部署

1 表示当前容器名 一般通过 docker exec -it 容器名 /bin/bash , 进入容器内部进行操作,比如安装环境,传输文件 2 4888 容器内部访问端口地址,如果对外开放api,需要对其进行映射,比如映射成11022,11022是对外访问的端…

美团点评金融平台Web前端技术体系

背景 随着美团点评金融业务的高速发展,前端研发数量从 2015 年的 1 个人,扩张到了现在横跨北上两地 8 个事业部的将近 150 人。业务新,团队新,前端领域框架技术又层出不穷,各个业务的研发团队在技术选择上没有明确的指…