分享

RNNLogic:知识图谱推理的逻辑规则学习

 DrugAI 2022-04-19

今天为大家带来蒙特利尔大学Yoshua Bengio最近的一篇文章。文章提到解决知识图谱推理任务时,逻辑规则的重要性。但是现有方法或面临搜索空间过大的问题,或由于稀疏奖励而使得性能较差。为了解决这些限制,作者提出了一个概率模型RNNLogic。

1

简介

由于不可能收集所有事实,知识图谱是不完整的。因此,知识图谱的一个基本问题是通过对现有事实的推理来预测缺失的事实,即有一个三元组事实,给定知识图谱和一个查询,我们要得出答案,这也被称为知识图推理。

本文探究知识图谱推理的逻辑规则的学习。比如可以提取一个规则,这意味着如果是的朋友并且有爱好,那么也可能是的爱好。

传统方法如路径排序和马尔可夫逻辑网络将图中的关系路径作为候选逻辑规则,然后学习每个规则的权重作为规则质量的评估。还有一些基于神经逻辑编程和神经定理证明器的最新方法,它们能够以可微分的方式同时学习逻辑规则及其权重。但是这些方法的搜索空间是指数级的,使得难以识别高质量的逻辑规则。

此外,最近的一些方法将问题公式化为一个顺序决策过程,并使用强化学习来搜索逻辑规则,这显著降低了搜索复杂度。然而,由于训练中动作空间大、奖励少,这些方法的性能尚不能令人满意。

在这篇文章中,作者提出了一个原则性的概率方法,称为RNNLogic,它克服了上述限制。

2

模型

RNNLogic的概览见图1,它包括一个规则生成器和一个带有逻辑规则的推理预测器。给定一个查询,规则生成器使用递归神经网络来生成一组逻辑规则推理预测器将生成的规则作为输入,并在知识图谱上推理以预测答案。RNNLogic使用基于EM的算法进行了优化。在每次迭代中,规则生成器生成一些逻辑规则,然后更新推理预测器规则进行推理。然后在E-步骤中,从所有生成的规则中识别出一组高质量逻辑规则。最后,在M-步骤中,用识别的高质量规则更新规则生成器。

图1 模型概览

规则生成器和推理预测器同时被训练以增强彼此。规则生成器提供推理预测器用于推理的逻辑规则,而推理预测器提供有效的奖励来训练规则生成器,这有助于显著减少搜索空间。同时,作者用EM算法对规则生成器进行了有效优化。大量实验结果表明,RNNLogic在知识图推理方面优于现有的方法。除此之外,RNNLogic还能够生成高质量的逻辑规则。

作者以概率方式形式化知识图谱推理,其中一组逻辑规则z被视为潜在变量。目标分布由规则生成器和推理预测器联合建模规则生成器定义了以q查询为条件的一组潜在规则,而推理预测器给出了以潜在规则、查询和知识图谱为条件的答案的可能性。

的目标是训练规则生成器和推理预测器,以最大化训练数据的可能性。目标函数如下所示,其中为训练数据的分布:

2.1、规则生成器

对于查询q,规则生成器旨在生成一组潜在的逻辑规则z来回答查询。从而得到经验分布

给定一个查询,只考虑查询关系而不考虑查询实体h,这使得生成的规则可以跨实体推广。对于缩写形式为的每个组合规则,可以将其视为一系列关系,其中是查询关系或规则头,是规则的主体,是指示关系序列结束的特殊关系。

这种关系序列可以通过递归神经网络有效地建模,因此作者引入来参数化规则生成器。在这个过程中,生成规则的概率。利用这样的规则概率,将一组规则上的分布定义为多项式分布:

其中,代表多项式分布,是集合大小的超参数,定义了规则头为的组合规则上的分布。规则集的生成过程非常直观,只需用生成N个规则即可形成。

2.2、基于逻辑规则的推理预测器

对于每个查询,一个组合规则能够在图上找到不同的真实路径,导致不同的候选答案。直觉上,每个候选答案的得分是每个规则贡献的分数之和,即。为了得到,我们对图中的每一条真实路径求和。设为规则集z中任何逻辑规则都能发现的候选答案集,对于每个候选答案,为该候选答案计算如下标量:

其中是一组真实路径,按照规则从开始,到e结束。

2.3、优化方法

3

实验结果

在实验中,作者选择了四个基准数据集进行评估,它们分别是FB15k-237,WN18RR,kinship和UMLS。具体结果见下面表1和表2。

为了验证模型是否能生成有效的逻辑规则,作者在FB15k-237数据集上生成了一些规则,见下表。可以看到这些规则是有意义的、多样的。第一个规则是子关系规则。第三和第五个规则是两跳合成规则。其余的逻辑规则有更复杂的形式。

参考资料

Qu, Meng et al. “RNNLogic: Learning Logic Rules for Reasoning on Knowledge Graphs.” ArXiv abs/2010.04029 (2020): n. pag.

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多