小样本知识图补全——关系学习。利用三元组的邻域信息,提升模型的关系表示学习,来实现小样本的链接预测。主要应用的思想和模型包括:GAT、TransH、SLTM、Model-Agnostic Meta-Learning (MAML)。

  论文地址:https://arxiv.org/pdf/2104.13095.pdf

引出

  在WIkidata数据集中,有超大约10%的关系只被不超过10个的三元组所包含,所以要用小样本学习来为这些关系扩充实体。尽管我们可以直接学习整个知识图谱的关系,然后对整个知识图谱进行推理和扩充,但是这样计算量太大。论文用关系的邻域作为额外信息来提升关系表示的小样本学习。

方法

  在这篇论文中,实体和关系的嵌入在训练和测试阶段都是使用TransE预训练好已知的,论文通过引入邻域信息来进一步发掘关系的表示。另外,论文方法使用了模型不可知元学习(Model-Agnostic Meta Learning, MAML),为了表述清晰,我们先对测试的pipeline进行介绍,然后介绍训练过程。

测试pipeline

  对于知识图谱$\mathcal{G}$中的小样本关系$r$,其包含少量的$K$个三元组$\{(h_1,r,t_1),...,(h_K,r,t_K)\}$,我们称这个集合为支撑集(Support set)$S$。模型就是用支撑集作为推理信息,对查询集(Query set)$Q=\{(h_1,r,t_1^?),...,(h_m,r,t^?_m)\}$进行推理(已知关系和一个实体,预测另一个实体)。查询集中三元组头实体$h$或尾实体$t$未知都可。

  如论文中Figure 2所示,对于支撑集的每个三元组$(h_i,r,t_i)$,都在$\mathcal{G}$中找出它们邻域的三元组$\{\mathcal{N}_{h_i},\mathcal{N}_{t_i}\}$。然后,通过一个所谓门控注意力邻域聚合器,将$h_i$和$t_i$分别和它们各自的邻域$\mathcal{N}_{h_i}$和$\mathcal{N}_{t_i}$融合,分别得到$h'_i$和$t'_i$。然后拼接得到$s_i$。$s_i$可以看做是$r$在实体$h_i$和$t_i$下,同时融合了它们的邻域的表示。具体操作请看论文中式(1)-式(6)。

  然后为了对$r$进行完整的表示,也就是将$r$的所有三元组信息都融合起来,文中用Bi-LSTM和注意力机制将所有的$s_i$进行融合,最后得到$r$的表示$r'$。具体操作请看文中式(7)-式(13)。其实不太了解为什么要用Bi-LSTM,毕竟它们之间没有时序关系。

  然后文中使用知识图嵌入方法(KGE)TransH来使表示$r'$和支撑集$S$中实体的嵌入相契合,从而能进行后面的推理步骤。与TransH一样,文中定义一个$P_r$作为$r'$所在超平面的法向量,并使用TransH相关的损失对之前计算出来的$r'$和$P_r$进行优化。也就是说,优化$r'$和$P_r$,使得对于支撑集$S$中所有的$h_i$和$t_i$,有

$(h_i-P_r^Th_iP_r)+r'=(t_i-P_r^Tt_iP_r),\,\,i=1,...,K$

  优化方式就是用梯度下降,如文中式(14)-式(19)所示。需要注意的是,论文中TransH映射到超平面的式子写错了,式(14)和式(20)。

  最后就是用优化后的$P_r$和$r'$进行在查询集$Q$上的推理。也就是对知识图谱所有实体$e$进行排序,与映射后的嵌入差异$Dif$越小排名越靠前。$Dif$计算方式如下:

$Dif=\|(h_i-P_r^Th_iP_r)+r'-(e-P_r^TeP_r)\|$

  其中优化后的$P_r$和$r'$在论文中表示为$P'_r$和$r_m$。另外,文中还出现了一个$P^*_r$。它是模型经过MAML预训练后得到的参数,在下面的训练过程中介绍。

训练过程

  训练过程是对计算$r'$所用的模型参数(图2The Global Stage的参数)进行训练,以及对超平面法向量$P_r$进行预训练(MAML)。之所以称之为预训练,是因为$P_r$在测试阶段依然需要使用支撑集进行微调,而聚合器参数如Bi-LSTM在测试阶段则是固定不变的。

  训练与测试阶段一样,同样包含支撑集与查询集。训练过程描述如下(论文Algorithm 1):

  初始化The Global Stage的模型参数,以及$P_r$。

  对于某个关系$r$,设其支撑集和查询集分别为$S_r=\{(h_1,r,t_1),...,(h_K,r,t_K)\}$和$Q_r=\{(h_1,r,t_1^?),...,(h_m,r,t^?_m)\}$。$S_r$经过邻域聚合器得到表示$r'$。然后与测试阶段一样用支撑集实体优化$r'$和$P_r$。最后计算$r'$和$P_r$在查询集$Q_r$上的损失,并用该损失对The Global Stage的模型参数$\theta$(经由$r'$)以及$P_r$进行优化:

$\displaystyle L=\frac{1}{m}\sum\limits_{i=1}^m\|(h_i-P_r^Th_iP_r)+r'-(t_i^?-P_r^Tt_i^?P_r)\|$

$\theta=\theta-\beta\nabla_\theta L$

$P_r=P_r-\beta\nabla_{P_r} L$

  值得注意的是,由于执行了二重反向传播,因此在实现时第一次对$r'$和$P_r$的优化需要保存其反向传播的计算图。

  使用多个关系的支撑集和查询集对模型进行训练。最终训练完成得到$\theta^*$和$P_r^*$。

实验

实验设置

  论文实验使用NELL-One和Wiki-One数据集进行实验,选择包含三元组数量在50到500之间的关系进行训练(支撑集和查询集的size没说),之后使用支撑集大小为1/3/5的关系进行测试。使用平均倒数秩(Mean reciprocal rank,MRR)和Hit@n作为评价指标,都是越高越好。指标计算流程是这样的:

  对于某个关系$r$,测试集的查询集是$Q=\{(h_1,r,t^?_1),...,(h_m,r,t^?_m)\}$。对每个待查询三元组$(h_i,r,?)$进行推理,按照相似度得到可能的尾实体排序$\{t^1_i,...,t^w_i\}$。

  MRR:获取$t^?_i$在其中的排序$rank_i$,然后将所有$rank_i$的倒数进行平均,得到这个关系$r$的MRR:

$\displaystyle MRR_r=\frac{1}{m}\sum\limits_{i=1}^m\frac{1}{rank_i}$

  Hit@n:查看尾实体排序的前$n$个,如果$t^?_i$在其中,则记$Hit_i=1$,否则为$0$,将所有$Hit_i$进行平均,得到这个关系$r$的Hit@n:

$\displaystyle Hit@n_r=\frac{1}{m}\sum\limits_{i=1}^mHit_i$

  然后测试集可能包含对多种关系的测试,最终MRR和Hit@n的结果应该是所有$MRR_r$和$Hit@n_r$的平均。

实验结果

  做了1/3/5-shot实验、1-N/N-1/N-N实验、消融实验,证明了模型和各个模块的有效性,如表2/3/4所示。

  因为论文使用关系的邻域促进模型对关系表示的学习,论文还对邻域给关系表示的贡献作了可视化,如图3所示。权重越大,表示这个邻居对关系的表示贡献越大。

Relational Learning with Gated and Attentive Neighbor Aggregator for Few-Shot Knowledge Graph Completion 小样本关系学习论文解读的更多相关文章

  1. ICLR 2013 International Conference on Learning Representations深度学习论文papers

    ICLR 2013 International Conference on Learning Representations May 02 - 04, 2013, Scottsdale, Arizon ...

  2. 收藏:左路Deep Learning+右路Knowledge Graph,谷歌引爆大数据

    发表于2013-01-18 11:35| 8827次阅读| 来源sina微博 条评论| 作者邓侃 数据分析智能算法机器学习大数据Google 摘要:文章来自邓侃的博客.数据革命迫在眉睫. 各大公司重兵 ...

  3. Deep Learning 和 Knowledge Graph howto

    领军大家: Geoffrey E. Hinton http://www.cs.toronto.edu/~hinton/ 阅读列表: reading lists and survey papers fo ...

  4. 论文解读《Learning Deep CNN Denoiser Prior for Image Restoration》

    CVPR2017的一篇论文 Learning Deep CNN Denoiser Prior for Image Restoration: 一般的,image restoration(IR)任务旨在从 ...

  5. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...

  6. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  7. A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation 论文解读(SIGMOD 2021)

    A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation 论文解读(SIGMOD 2 ...

  8. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  9. 论文解读(MGAE)《MGAE: Masked Autoencoders for Self-Supervised Learning on Graphs》

    论文信息 论文标题:MGAE: Masked Autoencoders for Self-Supervised Learning on Graphs论文作者:Qiaoyu Tan, Ninghao L ...

  10. 论文解读(USIB)《Towards Explanation for Unsupervised Graph-Level Representation Learning》

    论文信息 论文标题:Towards Explanation for Unsupervised Graph-Level Representation Learning论文作者:Qinghua Zheng ...

随机推荐

  1. Elasticsearch单字段支持的最大字符数

    ignore_above的作用 ES中用于设置超过设定字符后,不被索引或者存储. 当字符超过给定长度后,能否存入 keyword类型的最大支持的长度为--32766个UTF-8类型的字符. 也就是说t ...

  2. 7.prometheus监控多个MySQL实例

    mysqld_exporter集中部署 集中部署,就是说我们将所有的mysqld_exporter部署在同一台服务器上,在这台服务器上对mysqld_exporter进行统一的管理,下面介绍一下集中部 ...

  3. MongoDB 副本集的用户和权限一般操作步骤

    步骤总结: 在主节点上添加超管用户,副本集会自动同步 按照仲裁者.副本节点.主节点的先后顺序关闭所有节点服务 创建副本集认证的key文件,复制到每个服务所在目录 修改每个服务的配置文件,增加参数 启动 ...

  4. secureCRT登录ubuntu 报错:`No compatible key-exchange method. The server supports these methods: diffie-hellman`

    在VMware虚拟机中安装好ubuntu 20.04,已安装并启动sshd,但是使用secureCRT远程登录时则报错: Key exchange failed. No compatible key- ...

  5. Linux+Wine玩火影忍者究极风暴3指南

    如果你的系统没有Wine先装Wine,Wine在各大发行版的源都能找到.记住32位和64位的Wine都要装 去https://www.playonlinux.com/wine/binaries/pho ...

  6. 关于IDEA中Tomcat中文乱码的解决方案

    进入Tomcat/config文件夹下,打开编辑logging.properties 然后查看该文件内是否存在java.util.logging.ConsoleHandler.encoding = U ...

  7. 微信小程序之发起请求

    wx.request({ url: api.api + '/weChat/api/user/myAunt', // 仅为示例,并非真实的接口地址 data: {}, method: 'GET', he ...

  8. AgileBoot - 手把手一步一步带你Run起全栈项目(SpringBoot+Vue3)

    AgileBoot是笔者在业余时间基于ruoyi改造优化的前后端全栈项目. 关于AgileBoot的详细介绍:https://www.cnblogs.com/valarchie/p/16777336. ...

  9. A-卷积网络压缩方法总结

    卷积网络的压缩方法 一,低秩近似 二,剪枝与稀疏约束 三,参数量化 四,二值化网络 五,知识蒸馏 六,浅层网络 我们知道,在一定程度上,网络越深,参数越多,模型越复杂,其最终效果越好.神经网络的压缩算 ...

  10. Collection接口中的方法的使用

    add(Object e):将元素e添加到集合coll中size():获取添加的元素的个数addAll(Collection coll1):将coll1集合中的元素添加到当前的集合中clear():清 ...