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

news2024/11/24 2:54:55

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

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

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

摘要

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

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

现存的方法要么存在在大搜索空间中搜索的问题,要么由于 稀疏奖励(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.coloradmin.cn/o/772340.html

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

相关文章

抖音矩阵系统源码:开发搭建与技术详解

一、 抖音矩阵系统源码开发概述 抖音短视频seo矩阵系统源码是一款在高速数据处理和分析方面表现卓越的系统。它结合了各种先进的技术&#xff0c;包括深度学习、大数据分析和可视化等&#xff0c;使得抖音在信息处理时更加高效和准确。 该系统源码的开发搭建需要多方面的技术支…

Revit中如何创建一个台阶梯?

拉伸作为族环境中最常用的工具之一&#xff0c;操作简单&#xff0c;用处十分巨大下面用一个台阶的创建步骤&#xff0c;带你们更加了解拉伸的使用。 新建一个族样板&#xff0c;选择公制常规模型&#xff0c;接下来我们要绘制一个类似于这样的简单台阶 首先绘制台阶侧旁的构件…

【JavaScript 03】语句 变量 变量提升 标识符 注释 区块 作用域 条件语句 循环语句 break continue 标签

CSS 语句变量变量提升标识符注释区块条件语句ifif...elseswitch三元运算符 ?: 循环语句whilefordo...whilebreak语句 and continue语句标签 语句 JS程序的执行单位是行&#xff08;line&#xff09; **语句&#xff08;statement&#xff09;**是为了完成特定任务而进行的操…

移动App安全检测的重要性,好用的App安全测试工具分享

一、移动App安全检测的重要性 在移动互联网时代&#xff0c;移动App成为人们生活不可或缺的一部分&#xff0c;人们使用App处理各种个人和敏感信息&#xff0c;因此保护用户的隐私和数据安全至关重要。而移动App安全检测是保障用户隐私和数据安全的重要环节。通过安全检测&…

WebRTC不同方案对比

1.功能上会有一些出入&#xff0c;尤其是国内的metaRTC版本迭代很快&#xff0c; 2.后续的ffmpeg也在进行支持webrtc特性&#xff0c;obs新的版本好像已经支持了webrtc&#xff0c; 3.对于webrtc部分缺少的信令部分的标准化也有了对应的标准whip和whep协议 所以&#xff0c;如…

网络爬虫-网易易盾滑块验证码

首先打开易盾官网&#xff0c;依次单击“在线体验”和“滑块拼图”选项&#xff0c;出现如下图所示的滑块验证码&#xff0c;滑动后发现Network面板成功抓包。 如图所示 其中主要的加密参数可以看出来就是acToken以及cb 我们接着下断点往下走 我通过上图可以看到 acToken&#…

stable-diffusion-webui 环境搭建(台式机GTX1060环境)

1、安装git用于克隆stable-diffusion-webui仓库 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 2、安装python 3.10.7 CNPM Binaries Mirror 3、安装CUDA驱动 win x ->设备管理器 ->显示适配器 查看显卡版本 下载对应驱动Official Advance…

QT学习—【属于自己的】串口调试助手

文章目录 一、功能简介二、串口助手实现2.1 创建UI2.2 扫描可用串口2.3 配置波特率2.4 配置数据位2.5 配置停止位2.6 配置校验位2.7 打开/关闭串口2.8 刷新串口2.9 发送新行2.10 串口发送2.11 串口接收显示2.12 清空接收窗口2.13 定时发送2.14 固定窗口大小 三、总结3.1 将信号…

手把手教你搭建SpringCloud项目(八)集成Ribbon负载均衡器

一、Ribbon的简介 Ribbon是Neflix发布的开源项目&#xff0c;后由Spring Cloud开发团队封装于Spring Cloud中&#xff0c;可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。功能是提供客户端的软件负载均衡算法和服务调用。Ribbon是一个基于HTTP…

DevOps概念及搭建全过程(Jenkins、Harbor、SonarQube、K8s)

DevOps入门及过程搭建 在如今互联网的格局下&#xff0c;抢占市场变得尤为重要&#xff0c;因此敏捷开发越来越被大家所推崇。于是&#xff0c;慢慢的有了DevOps这个概念&#xff0c;大致意思是开发-运维一体化。 1 DevOps概念 1.1 基本概念 可以看到上图是一个无穷大的一个符…

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

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

19c环境创建job报时间格式不对

有项目经理反馈&#xff0c;在19c环境中&#xff0c;创建job报错时间格式不对&#xff0c;报错如下&#xff1a; 解决办法&#xff1a; 在19c环境下&#xff0c;使用 sys.dbms_scheduler.create_job 12c以后 job其实底层还是调用sys.dbms_scheduler.create_job 从ORACLE 19C…

【wifi模块选型指导】数据传输WiFi模块的选型参考_USB/UART接口WiFi模块

数据传输WiFi模块有USB接口和UART接口两大类&#xff0c;为满足行业客户的不同应用需求&#xff0c;SKYLAB研发推出了多款2.4GHz单频&#xff0c;2.4/5GHz双频的USB接口WiFi模块和UART接口WiFi模块&#xff0c;数据传输能力&#xff0c;传输距离各有不同。怎么选才是最适合的呢…

软件测试人员的基本功包括哪些?

什么是基本功&#xff1f;百度到的结果是&#xff1a;从事某种工作所必需的基本的知识和技能。 推理1&#xff1a;“基本”二字&#xff0c;意味着基本功必定是来源测试工作的基本流程。 推理2&#xff1a;“必须”二字&#xff0c;就意味者无论你是高级的测试开发&#xff0c;…

基于JavaScript实现永远加载不满的进度条

fake-progress库的源码如下&#xff1a; var FakeProgress function (opts) {if (!opts) { opts {}; }this.timeConstant opts.timeConstant || 1000;this.autoStart opts.autoStart || false;this.parent opts.parent;this.parentStart opts.parentStart;this.parentEn…

ASUS华硕无双15_K3502ZA工厂模式原装Win11恢复原厂OEM预装系统 带ASUS Recovey恢复功能

ASUS华硕无双15笔记本电脑12代Vivobook_ASUSLaptop K3502ZA出厂Windows11系统工厂包 自带恢复功能、所有驱动、出厂主题壁纸LOGO、Office办公软件、MyASUS等预装程序 所需要工具&#xff1a;32G或以上的U盘 文件格式&#xff1a;HDI,SWP,OFS,EDN,KIT,TLK多个底包 文件大小&…

字符函数和字符串函数1(详解)

❤️ 作者简介 &#xff1a;对纯音乐情有独钟的阿甘 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识&#xff0c;对纯音乐有独特的喜爱 &#x1f4d7; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;如果你也感兴趣的话欢迎关注博主&#xff0c;期待更新 字符函数和…

JDBC编程连接MySQL数据库遇到的两个错误

在进行java与MySQL数据库进行连接的时候我遇到了两个报错&#xff0c;在一开始的时候遇到的报错是Access denied for user yulinlocalhost (using password: YES)&#xff0c;此时我在网络上搜索发现是密码出现错误的问题&#xff08;出现该问题确实是密码错误&#xff09;&…

cloudwatch agent通过squid代理上传指标到cloudwatch

1.安装cloudwatch agent代理 1.1、安装cloudwatch代理包 2.2、更改程序包的目录 3.3.创建cloudwatch代理配置文件 运行以下命令配置向导 sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard 按照提示选择个性化服务 2.安装squid服务器 简…

200行代码写一个简易的C++小黑窗贪吃蛇游戏

分享一个简易的小黑窗贪吃蛇,一共就两百行代码左右(包含注释),很适合初学者巩固语法来练练手. 如果后续需要其他功能也可以再添加. 先小小展示一下: 源码在文末免费领取. 使用工具: VS2019(不是用VS的也可以直接找出cpp和h文件复制到你们用的IDE,甚至是记事本都可以) 闲话…