Citation:Fan Yang,Zhilin Yang, William W. Cohen. Differentiable Learning of Logical Rules for Knowledge Base Reasoning. ICLR 2017.
动机
本文提出了一个可微的基于知识库的逻辑规则学习模型。现在有很多人工智能和机器学习的工作在研究如何学习一阶逻辑规则,规则示例如下图:
形式化本文关心的逻辑规则如下:
每一个规则由多个约束条件组合而成,并且被赋予一个置信度 α,其中query(Y,X) 表示一个三元组,query 表示一个关系。
不同于基于 embedding 的知识库推理,规则应该是实体无关的,规则可以应用于任何新添加到知识库中的实体,但在知识库 embedding 方法里,新添加到知识库中的实体由于没有对应的表示,无法就这些实体进行相关的推理。
不同于以往的基于搜索和随机游走的规则学习方法,本文的目标是提出一个可微的一阶谓词逻辑规则学习模型,可用基于梯度的方法进行优化求解。
本文提出的NeuralP模型主要收到 TensorLog 的启发。TensorLog 可视为一个可微的推理机。知识库中的每个实体用一个 one-hot 向量表示,每个关系 r 定义为一个矩阵算子 M_r,M_r 为一个稀疏的毗连矩阵,维度为 n_e×n_e, 其中 n_e 表示实体的个数。每一条逻辑规则的右边部分被表示为以下形式:
所以总结本文关心的优化问题如下:
V_x 和 V_y 分别为一个由规则推理得到的三元组。在上式的优化问题中,算法需要学习的部分分为两个:一个是规则的结构,即一个规则是由哪些条件组合而成的;另一个是规则的置信度。由于每一条规则的置信度都是依赖于具体的规则形式,而规则结构的组成也是一个离散化的过程,因此上式整体是不可微的。因此作者对前面的式子做了以下更改:
主要交换了连乘和累加的计算顺序,对预一个关系的相关的规则,为每个关系在每个步骤都学习了一个权重,即上式的 a_l^k。其中 T 为超参,表示规则的长度。由于上式固定了每个规则的长度都为 T,这显然是不合适的。为了能够学习到变长的规则,Neural LP中设计了记忆向量 u_t,表示每个步骤输出的答案--每个实体作为答案的概率分布,还设计了两个注意力向量:一个为记忆注意力向量 b_t ——表示在步骤 t 时对于之前每个步骤的注意力;一个为算子注意力向量 a_t ——表示在步骤 t 时对于每个关系算子的注意力。每个步骤的输出由下面三个式子生成:
其中 a_t 和 b_t 基于一个 RNN 生成,具体如下:
其中隐层变量 h_t 由一个LSTM生成。
本文还设计了一个根据训练结果解析规则的算法如下:
实验:
本文的实验相当丰富,主要包括
(1) 两个标准数据集上的统计关系学习相关的实验
(2) 在1616的网格上的路径寻找的实验
(3) 知识库补全实验
为了证明Neural LP的归纳推理的能力,本文还特别设计了一个实验,在训练数据集中去掉所有涉及测试集中包含的实体的三元组,然后训练并预测,得到结果如下:
这个实验有效地证明了Neural LP的归纳推理的能力。
(4) 知识库问答的实验
总结
本文提出了一个可微的规则学习模型,并强调了知识库中的规则应该是实体无关的,非常值得借鉴。有兴趣的读者可以阅读一下原文。
论文笔记整理:张文,浙江大学博士在读,研究方向知识图谱的分布式表示与推理。
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。
点击阅读原文,进入 OpenKG 博客。