知识图谱推理的学习逻辑规则(上)

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

  • 摘要
  • 介绍
  • 相关工作
  • 模型
    • 知识图谱推理
    • 逻辑规则
    • 概率形式化
    • 参数化
    • 优化
  • 实验
    • 实验设置
    • 实验结果
  • 结论

原文:
在这里插入图片描述

摘要

本文研究了在知识图谱上进行推理的学习逻辑规则。

逻辑规则用于预测时提供了可解释性并且可以推广到其他任务中,因此对于学习而言至关重要。

现存的方法要么存在在大搜索空间中搜索的问题,要么由于 稀疏奖励(sparse reward) 而导致无效化。

sparse reward 稀疏奖励
指在强化学习中,奖励信号 的反馈非常有限或稀疏的情况。在某些任务中,只有在完整的任务或达到特定目标时,才会给予奖励,而在中间阶段很少或几乎没有奖励信号。
这种稀疏奖励的情况对于强化学习算法来说是具有挑战性的,因为它们需要在没有明确的奖励信号指导的情况下进行决策和学习。在面临稀疏奖励的任务中,学习算法需要通过尝试不同的行动来探索环境,并学习如何在没有明确奖励信号的情况下进行有效的决策。

奖励信号
在强化学习中,奖励信号是一种反馈机制,用于指导智能体在环境中采取行动。当智能体执行某个动作后,它会收到一个奖励或惩罚信号,以表明该动作的好坏。奖励信号可以是一个数值,表示行动的优劣程度,也可以是一盒二元信号,表示行动的正确与否。
然而,有些时候奖励新课可能是稀疏的,即智能体只在特定情况下才会收到奖励信号。这会给学习算法带来挑战,因为只能体可能需要进行长时间的探索和尝试才能找到有效的行动策略。

为了解决这些局限性,本文提出了一个称为RNNLogic的概率模型。RNNLogic将逻辑规则视为一个潜在变量,同时使用逻辑规则来训练 规则生成器推理预测器

规则生成器是一种系统或算法,用于根据预定义的规则集合生成新的信息或执行相应的操作。
规则生成器的工作原理是将输入数据与规则集合中的条件进行匹配,并根据匹配结果执行相应的操作。
在决策支持系统中,规则生成器可以根据一系列规则来辅助决策过程。
在自然语言处理中,规则生成器可以根据语法规则和语义知识,生成符合语言规范的句子或进行语义解析。

Reasoning Predictor(推理预测器)是指一种模型或算法,用于预测或推断给定输入的推理结果。它可以根据输入的信息和上下文,通过逻辑推理、规则推断或统计模型等方法,生成与输入相关的推理结论。
推理预测器通常用于处理复杂的问题,其中需要考虑多个因素和变量之间的关系。它可以帮助我们在缺乏完整信息或面临不确定性的情况下,做出合理的推理和决策。推理预测器的性能和准确性取决于其背后的模型和算法,以及提供给它的输入数据的质量和完整性。不同的推理预测器可能采用不同的方法和技术来进行推理和预测。

本文开发了一种基于 EM 的优化算法。在每一次迭代中,首先更新推理预测器,以探索一些生成的推理逻辑规则,然后在E步骤中,通过 后验推理,从所有使用规则生成器和推理预测器产生的规则中选取一系列高质量的规则,并且在M步骤中使用E步骤中选择的规则来更新规则生成器。

EM算法的主要思想是通过迭代的方式,交替进行两个步骤:E步骤(Expectation step)和M步骤(Maximization step)。EM算法的核心思想是通过迭代地进行E步骤和M步骤,逐渐提高对参数的估计。
具体来说,EM算法的步骤如下:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计,计算隐变量的 后验概率。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率,通过最大化完全数据的对数似然函数来更新模型的参数估计。3. 重复执行E步骤和M步骤,直到收敛或达到预定的停止条件。

后验推理(Posterior Inference)
指在贝叶斯统计中,通过观测数据和先验知识来推断未知参数的后验概率分布。后验推理的目标是基于观测数据对未知参数进行推断和估计。
在后验推理中,我们首先给定一个先验概率分布,表示对未知参数的初始信念。然后,通过观测数据和贝叶斯定理,计算得到后验概率分布,表示在考虑了观测数据后对未知参数的更新估计。
后验推理的过程可以分为两个步骤:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计和观测数据,计算隐变量的后验概率分布。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率分布,通过最大化完全数据的对数似然函数来更新模型的参数估计。通过交替执行E步骤和M步骤,可以逐步优化参数估计,得到更准确的后验概率分布。

后验概率的计算公式如下:
后验概率 = (先验概率 × 似然度) / 证据
其中,先验概率表示在观测数据之前对未知参数或假设的概率分布,似然度表示在给定参数或假设的情况下,观测数据出现的概率,证据表示观测数据的概率。

介绍

知识图谱是真实世界事实的集合,在各种应用中都很有用。每一个事实都被明确规定为三元组(h,r,t)或等价的r(h,t),意思是实体h与实体t有r关系。由于它不可能收集所有的事实,所以知识图谱是不完整的。因此,知识图谱一个基础问题就是通过现存知识进行推理——知识推理。

本文研究了知识图谱推理的学习逻辑规则。
例如:任意X,Y,Z hobby(X,Y)<—friend(X,Z)∩hobby(Z,Y)
意思是如果X和Z是好朋友并且Z的爱好是Y,那么X的爱好可能也是Y。这个规则还可以用于推理新的人们的爱好。这种逻辑可以提高可推理的可解释性和预测性。因此逻辑规则可以被再利用和推广到其他领域和数据。然而,由于大的搜索空间,推理出高质量的逻辑规则用于知识推理是一项有挑战性的任务。

事实上,已经提出了多种方法来从知识图谱中学习逻辑规则。传统方法如路径排序和Markov逻辑网络枚举了图谱上的关系路径作为候选逻辑规则,并且学习每个规则的权重作为对规则质量的评估。

尽管这些方法在预测方面很有效,但搜索空间显然很大,使得难以识别高质量的逻辑规则。还有一些方法,将问题表述为一个顺序决策过程,并使用强化学习来搜索逻辑规则。然而由于训练中动作空间大、奖励少,这些方法性能尚不能令人满意。

本文提出了一种称为RNNLogic的 原则性概率方法(principle probabilistic approach),该方法克服了上述限制。该方法包括一个规则生成器和一个带有逻辑规则的推理预测器,它们同时经过训练以相互增强。

规则生成器提供 用于推理预测器推理的逻辑规则,而推理预测器提供有效的奖励来训练规则生成器,这有助于显著减少搜索空间。

原则性概率方法(principle probabilistic approach)
指的是一种基于原则的概率方法。基于概率论和统计学原则,用于建立和推断概率模型,并进行相关的推理和预测。
AI领域该方法常用于处理不确定性和随机性问题。它涉及到使用概率模型来描述不同变量之间的关系,并通过观测数据来推断模型的参数或进行预测。优势在于提供了一种同一的框架,可以处理各种类型的不确定性,并且可以通过贝叶斯等方法来更新和改进模型。

具体来说,对于每一个答案查询对(例如q=(h,r,?))和a=t,我们以查询和现有知识图谱G为条件(例如p(a|G,q))对答案的概率进行建模,其中一系列逻辑规则z被视为潜在变量。

规则生成器为每个查询定义了逻辑规则上的先验分布(例如p(z|q)),该分布由递归神经网络化成参数。
推理预测器计算以逻辑规则和现有知识图谱G作为条件的答案的可能性(例如p(a|G,q,z))。

在每次训练迭代中,我们首先从规则生成器中采样一些逻辑规则,并进一步更新推理预测器来试用这些规则进行预测。

然后使用EM算法来优化规则生成器,在E步骤中,根据它们的后验概率从所有产生的规则中选择一组高质量的逻辑规则。在M步骤中,规则生成器被更新,以模仿在E步骤中选择的高质量规则。

大量实验结果表明,RNNLogic在知识图谱推理方面优于最先进的方法,此外还可以生成高质量的逻辑规则。

相关工作

该项工作与现有的学习用于知识图谱推理的逻辑工作有关。

大多数属性方法将查询实体和答案实体之间的关系路径枚举为候选规则,并进一步学习每个规则了标量以评估质量。最近的一些方法通过学习逻辑规则和权重扩展了这一思想,其中大多数方法都是基于神经逻辑编程的。

这些方法和我们的方法在思想上是相似,因为它们都能够有效地学习逻辑规则的权重。然而,这些现有的方法试图同时学习逻辑规则及其权重,这在优化方面是不重要的。我们方法的主要创新是通过分别引入规则生成器和推理预测器来分离规则生成和规则权重学习,它们可以相互增强。规则生成器生成一些高质量的逻辑规则,而推理预测器只专注于学习这些高质量规则的权重,这大大减少了搜索空间,并获得了更好的推理结果。同时,推理推理器反过来可以帮助识别一些有用的逻辑规则,以改进规则生成器。

另一种规则学习方法是基于强化学习的。一般思想是训练 路径规划代理(pathfinding agent),在知识图谱中搜索推理路径来回答问题,然后从推理路径中提取逻辑规则。然而,训练路径规划代理是一项具有挑战性的工作,因为奖励信号(即路径是否以正确答案结束)可能及其稀疏。

Pathfinding agent(路径规划代理)
是指一个使用强化学习算法来学习和执行路径规划任务的智能代理。
在路径规划任务中,代理的目标是在给定的环境中找到从起始位置到目标位置的最佳路径。代理需要学习如何在环境中移动,并根据环境的奖励信号来调整其行为,以逐步优化路径选择。
强化学习中的路径规划代理通常使用马尔可夫决策过程(Markov Decision Process,MDP)作为建模框架。代理通过与环境的交互,观察当前状态、选择动作、接收奖励信号,并更新其策略,以最大化累积奖励。

在我们的方法中,规则生成器的作用与那些路径规划代理类似。主要区别在于,我们同时用逻辑规则来训练规则生成器和推理预测器,它们相互增强,推理预测器为训练规则生成器提供有效的奖励,规则生成器提供高质量的规则来改进推理预测器。

该项工作还设计知识图谱嵌入,它通过学习实体和潜在空间中的关系嵌入来解决知识推理。

然而这些方法智能以隐含的方法找到一些简单的规则。相反,我们提供的方法能够训练规则生成器,它能够生成复杂了逻辑规则。

有一些研究提升了基于规则的模型的工作,他们根据迄今为止学到的规则动态的添加新规则。这些方法已被证明在二元分类和回归中是有效的。与他们相比,我们的方法有着相似的想法,因为我们用推理预测器的反馈动态更新规则生成器,但我们专注于不同的任务,即在知识图谱上进行推理。

模型

结束所提出的RNNLogic方法,该方法学习知识图谱推理的逻辑规则。首先正式定义了知识图谱推理和逻辑规则。

知识图谱推理

让Pdata(G,q,a)作为训练数据分布,G表示由一组三元组(h,r,t)描述的背景知识图谱,也可以写作r(h,t),q=(h,r,?)是问题,a=t是答案。给出G和问题q,目标是预测正确答案a。更正式的来说,目标就是生成概率分布模型p(a|G,q)。

逻辑规则

我们通过学习逻辑规则来执行知识图谱的推理,逻辑规则在本文中有这样的连接形式:任意{Xi}li=0 r(X0,X1)<—r1(X0,X1)∩…rl(Xl-1,Xl),l是规则长度。这种句法结构能够自然而然地捕获成分,并且可以很容易表示出其他常见的逻辑规则,例如对称和取反规则。

在RNNLogic中,我们将一组 可以解释查询的 逻辑规则视为我们必须输入的潜在变量。为此,我们引入了一个规则生成器和一个使用逻辑规则的推理预测器。在给定查询的情况下,规则生成器使用递归神经网络生成一组逻辑规则,并将其提供给推理预测器进行预测。我们使用基于EM的算法优化RNNLogic。在每次迭代中,我们从更新推理预测器开始,尝试由规则生成器生成的一些逻辑规则。然后在E步骤中,我们通过后验推理从所有生成规则中识别出一组高质量的规则,先验来自规则生成器,似然来自推理预测器。最后,在M步骤中,用所识别的高质量规则更新规则生成器。

概率形式化

参数化

优化

实验

实验设置

实验结果

结论

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

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

相关文章

【Ceph集群应用】Ceph块存储之RBD接口详解

Ceph块存储之RBD接口详解 1.创建Ceph块存储系统RBD接口1.1 删除镜像1.2 还原镜像1.3 在线扩容1.4 回滚镜像到指定位置1.5 删除快照1.6 快照分层1.7 快照展平1.8 镜像的导出导入 接上文基于ceph-deploy部署Ceph集群详解 1.创建Ceph块存储系统RBD接口 &#xff08;1&#xff09;…

Godot实用代码-存取存档的程序设计

1. Settings.gd 全局变量 用于保存玩家设置 对应Settings.json 2. Data.gd 全局变量 用于保存玩具数据 对应Data.json 实践逻辑指南 1.在游戏开始的时候&#xff08;游戏场景入口的_ready()处&#xff0c; Settings.gd

【源码解析】Mybatis执行原理

Mybatis执行原理 1.获取SqlSessionFactory2.创建SqlSession3.创建Mapper、执行SQL MyBatis 是一款优秀的持久层框架&#xff0c;MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息&#xff0c;将接口和…

密码学学习笔记(十二):压缩函数 - Davies–Meyer结构

密码学中压缩函数是指将输入的任意长度消息压缩为固定长度输出的函数。压缩函数以两个特定长度的数据为输入&#xff0c;产生与其中一个输入大小相同的输出。简单来说就是它接受一些较长的数据&#xff0c;输出更短的数据。 压缩函数接收长度为X和Y的两个不同输入&#xff0c;并…

输入 jar cvf 后指令提示‘jar‘ 不是内部或外部命令,也不是可运行的程序

输入 jar cvf 后指令提示jar 不是内部或外部命令&#xff0c;也不是可运行的程序 一堆说jdk系统环境配置的文章&#xff0c;我都看哭了&#xff0c;还好有这位老兄拯救了我&#xff01;&#xff01;&#xff01;献上地址 https://www.cnblogs.com/wadezhou/p/16647474.html 我输…

[SQL系列] 从头开始学PostgreSQL Union Null 别名 触发器

初级的操作就是CRUD&#xff0c;但是高级的操作也是CRUD&#xff0c;只是语句写的更加复杂&#xff0c;不再是select * from table&#xff1b;这样简单&#xff0c;这次咱们学一些稍微高级点的。下面是上一篇文章。 [SQL系列] 从头开始学PostgreSQL 约束连接_Edward.W的博客-…

【Redis】高可用之三:集群(cluster)

本文是Redis系列第6篇&#xff0c;前5篇欢迎移步 【Redis】不卡壳的 Redis 学习之路&#xff1a;从十大数据类型开始入手_AQin1012的博客-CSDN博客关于Redis的数据类型&#xff0c;各个文章总有些小不同&#xff0c;我们这里讨论的是Redis 7.0&#xff0c;为确保准确&#xf…

字幕切分视频

Whisper 仓库地址&#xff1a; https://github.com/openai/whisper 可用模型信息&#xff1a; 测试视频&#xff1a;18段&#xff0c;总共447S视频&#xff08;11段前&#xff1a;有11段开头有停顿的视频&#xff09; Tiny: 跑完&#xff1a;142S &#xff0c;11段前&#xf…

在线乞讨系统 Docker一键部署

begger乞讨网 在线乞讨 全球要饭系统前端界面后端界面H2 数据库 console运行命令访问信息支付平台 在线乞讨 全球要饭系统 在线乞讨全球要饭项目,支持docker一键部署&#xff0c;支持企业微信通知&#xff0c;支持文案编辑 前端界面 后端界面 H2 数据库 console 运行命令 项…

PID算法

PID&#xff0c;就是“比例&#xff08;proportional&#xff09;、积分&#xff08;integral&#xff09;、微分&#xff08;derivative&#xff09;”&#xff0c;是一种很常见的控制算法。 需要将一个物理量保持在稳定状态&#xff08;比如维持平衡&#xff0c;温度、转速的…

《微服务架构设计模式》第十三章 微服务架构的重构策略

微服务架构的重构策略 一、重构到微服务需要考虑的问题1、为什么重构2、重构形式3、重构策略 二、设计服务与单体的协作方式三、总结 一、重构到微服务需要考虑的问题 1、为什么重构 单体地狱造成的业务问题&#xff1a; 交付缓慢充满故障的软件交付可扩展性差 2、重构形式 …

前端 | (六)CSS盒子模型 | 尚硅谷前端html+css零基础教程2023最新

学习来源&#xff1a;尚硅谷前端htmlcss零基础教程&#xff0c;2023最新前端开发html5css3视频 文章目录 &#x1f4da;元素的显示模式&#x1f407;CSS长度单位&#x1f407;元素的显示模式⭐️块元素&#xff08;block&#xff09;⭐️行内元素&#xff08;inline&#xff09…