DeepPath: A Reinforcement Learning Method forKnowledge Graph Reasoning

news2024/9/23 19:27:13

Innovation

使用RL学习KG中的关系路径推理

使用Supervised Policy Learning解决:KG中关系图大,如试错训练RL,难以收敛

使用双向路径搜索,减少中间节点数量

Introduction

PRA是一种学习推理路径的方法,使用基于RandomWalk的重启推理机制来执行多个有界深度优先搜索过程来查找relational path。但其在完全离散的空间中工作,使得比较KG中相似实体和关系变得困难。

本文提出了一种可控multi-hop推理的新方法:将路径学习过程构建为RL。和PRA相比,我们使用基于翻译的基于知识的嵌入方法TRansE编码RL agent的连续状态,在知识图的向量空间中。agent通过采样关系扩展路径来执行incremental步骤。使用具有新的奖励函数的policy gradient策略直到RL agent学习relational path。

DeepPath是第一个考虑在KG中使用RL学习关系路径的方法。

模型

Reinforcement Learning for Relation Reasoning

RL系统有两部分组成。第一部分是外部环境E,它指定agent与KG之间的交互动态,环境被建模为马尔科夫决策过程(MDP)。状态转移概率矩阵

第二部分是RL agent代理,表示为一个决策网络,将状态向量映射到随机策略,神经网络参数采用随机梯度下降法更新

Action

从源实体开始,agent使用策略网络选择最有希望的关系进行每一步的路径扩展,直到达到目标实体。为了保证策略网络的输出维数一致,将动作空间定义为KG中的所有关系。

States

KG中的实体和关系是离散的atomic符号,现有的KG数据库通常含有大量的三元组,因此直接模拟所有atomic符号的状态是不可行的。我们使用翻译的模型TransE TransH表示实体和关系,将所有符号映射到低维向量空间。

本文框架中每个状态都捕获了agent在KG中的位置,采取一个操作后,agent将从一个实体移动到另一个实体,两者由agent刚刚采取的行动(关系 )联系起来。

在t步的状态向量为,其中表示当前实体的嵌入,是目标实体的嵌入,在初始状态时。本文没有在状态中加入推理关系,因为在寻找路径的过程中,推理关系的嵌入保持不变,对训练没有关注。

Rewards

奖励函数包括以下几个评分准则:

(1)Global accuracy

对于我们的环境设置,agent可以采取的行动的数量很大。不正确的序列决策会比正确决策多得多,不正确的决策序列会随着路径的长度呈指数级增长。第一个reward function:如果agent在一系列行动后达到目标,获得离线正奖励+1

(2)Path efficiency

对于关系推理任务,观察到短路径往往比长路径提供更可靠的推理证据;更短的关系链可以通过限制RL与环境交互长度提高推理效率。p为关系序列

(3)Path diversity

本文使用positive samples训练agent,为每个关系寻找路径。这些训练样本在向量空间具有相似的状态表示。agent倾向于寻找具有相似语法和语义的路径。这些路径通常包含冗余信息,因为其中一些可能是相关的。为了鼓励智能体寻找不同的路径,我们使用当前路径与现有路径之间的余弦相似度定义了一个多样性奖励函数:

Policy Network

policy function 是将状态向量s映射到所有可能行动的概率分布,使用一个全连接神经网络参数化policy function,神经网络有两个隐藏层组成,每个隐藏层后市Relu,输出层使用softmax进行标准化。

Training Pipeline

实践中,KG推理的挑战是关系集很大,策略网络的输出层维度往往很大。由于关系图的复杂性和较大的行动空间,如果采用RL算法的典型的方法,通过试错直接训练RL模型,RL模型的收敛性会很差,经过长时间训练也难以找到有价值的路径。

受ALphaGo采用的imitation learning pipeline,它使用专家动作训练一个supervised的policy network。在本文中的监督策略使用随机宽度优先搜索(BFS)训练的。

Supervised Policy Learning

对于每个关系,我们使用所有正样本(实体对)的子集学习监督策略,对于每个路径,使用REINFORCE算法更新最大化期望的累计reward。是一个episode的期望总reward,对于监督学习,我们对每一个成功的episode中的每一步提供+1奖励。

插入使用BFS找到的路径,更新策略网络的近似梯度如下

BFS是一种偏向于短路径的搜索算法。当插入这些偏置路径时,agent很难找到可能有用的更长的路径。在BFS中添加了一些随机机制。我们不再直接搜索源和目标之间的路径,而是随机选择一个中间节点einter,然后在(source, einter)和(einter, etarget)之间进行两次BFS。连接的路径用于训练agent。监督学习为agent体从失败的行为中学习节省了大量的精力。有了这些经验,我们就可以训练agent找到理想的路径。

Retraining with Rewards

为了找到由reward function控制的推理路径,本文使用reward function对监督策略网络进行再训练。从源节点开始,agent根据随机策略选择一个关系,以扩展其推理路径。这种联系可能会导致一个新的实体,也可能什么都没有。这些失败的步骤将导致agent收到负面奖励。在这些失败的步骤之后,agent将保持相同的状态。由于智能体遵循随机策略,因此智能体不会因重复错误步骤而陷入困境。为了提高训练效率,我们用一个上限来限制集合长度,如果agent未能在最大长度步骤内到达目标实体,则episode结束。在每次事件之后,使用以下梯度更新策略网络:其中是定义的reward functions的线性组合。

双向路径约束搜索

给定一个实体对,RL agent学习到的推理路径可以作为逻辑公式来预测关系链路,每个公式都使用双向搜索进行验证。在典型的KG中,一个简单的例子是一个实体节点可以链接到具有相同关系的大量邻居。一个简单的例子是关系personNationality−1,表示personNationality的倒数,通过这一联系,美国实体可以接触到许多邻国实体,如果推理公式中含有这样的链接关系,中间实体的数量可以呈指数增长。但如果我们从相反的方向验证公式,中间节点的数量可以大大减少。

实验

在大多数情况下,因为基于嵌入的方法没有用到路径信息,因此比基于路径的方法差。但是当在实体之间没有足够路径的时候,本文模型和PRA表现比较差,因为没有足够的推理证据

总结和未来工作

未来能否不用认为定义的奖励函数,而是训练一个判别模型给与奖励

KG没有足够的推理路径时的效果较差的问题。

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

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

相关文章

智能语音信息处理团队18篇论文被语音技术顶会ICASSP 2023接收

近日,ICASSP 2023会议发出了审稿结果通知,语音及语言信息处理国家工程研究中心智能语音信息处理团队共18篇论文被会议接收,论文方向涵盖语音识别、语音合成、话者识别、语音增强、情感识别、声音事件检测等,各接收论文简介见后文。…

FreeRTOS入门(05):事件组

文章目录目的基础说明相关函数使用演示总结目的 事件组是RTOS中相对常用的用于任务间交互的功能,这篇文章将对相关内容做个介绍。 本文代码测试环境见前面的文章:《FreeRTOS入门(01):基础说明与使用演示》 基础说明…

华为OD机试模拟题 用 C++ 实现 - 寻找连续区间(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明寻找连续区间题目输入输出示例一输入输出说明示例二输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率…

嵌入式环境配置—VMware 软件安装和虚拟机的创建

目录 一、VMware软件的安装 二、虚拟机的创建 三、Linux操作系统的安装 VMware软件的安装 为什么要虚拟机? 嵌入式Linux开发需要在Linux系统下进行,我们选择了Ubuntu。 1.双系统安装 有问题,一次只能使用一个系统。Ubuntu基本只做编译用。需求&…

Qt之QTableView自定义排序/过滤(QSortFilterProxyModel实现,含源码+注释)

一、效果示例图 1.1 自定义表格排序示例图 本文过滤条件为行索引取余2等于0时返回true,且从下图中可以看到,奇偶行是各自挨在一起的。 1.2 自定义表格过滤示例图 下图添加两列条件(当前数据大于当前列条件才返回true,且多个列…

美团前端常见vue面试题(必备)

v-model 是如何实现的&#xff0c;语法糖实际是什么&#xff1f; &#xff08;1&#xff09;作用在表单元素上 动态绑定了 input 的 value 指向了 messgae 变量&#xff0c;并且在触发 input 事件的时候去动态把 message设置为目标值&#xff1a; <input v-model"sth…

Java程序设计基础学习笔记——类与对象、方法、递归、重载、可变参数、作用域、构造器、this

以下笔记整理自B站UP主韩顺平【零基础 快速学Java】韩顺平 零基础30天学会Java课程OOP面向对象程序设计(Object Oriented Programming)类就是数据类型&#xff0c;有属性和行为&#xff1b;对象是一个具体的实例从类到对象&#xff0c;目前有几种说法&#xff1a;创建一个对象实…

【网络安全入门】零基础小白必看!!!

看到很多小伙伴都想学习 网络安全 &#xff0c;让自己掌握更多的 技能&#xff0c;但是学习兴趣有了&#xff0c;却发现自己不知道哪里有 学习资源◇瞬间兴致全无&#xff01;◇ &#x1f604;在线找人要资料太卑微&#xff0c;自己上网下载又发现要收费0 &#x1f643;差点当…

HttpRunnerManager部署

基于HttpRunner的接口自动化测试平台: HttpRunner, djcelery and Django_. HttpRunner手册: http://cn.httprunner.org/git地址&#xff1a;httprunner/HttpRunnerManager: 基于 HttpRunner 的 Web 测试平台&#xff0c;已停止维护。 (github.com)部署机器&#xff1a;linux部署…

强强角逐,筑梦开源——2022年度启智社区优秀项目及开发者评选结果正式揭晓

2月24日&#xff0c;第四届OpenI/O启智开发者大会在深圳隆重开幕。本届大会以“算网筑基、开源启智、AI赋能”为主题&#xff0c;邀请国内人工智能开源领域领军院士亲自参加&#xff0c;汇聚学术界、产业界的技术专家&#xff0c;围绕中国算力网资源基座、开源社区服务支撑环境…

Tik Tok shop2023年度策略解读

一、TikTok Shop跨境电商数据显示自2022年上半年东南亚开放跨境电商入驻以来&#xff0c;全年GMV月均复合增速近90%&#xff1b;英国市场2022年下半年的平均交易客单价也同比2021年增长超40%&#xff1b;全年多个重要节点跨境GMV增长显著&#xff0c;例如2022年的圣诞季跨境GMV…

ESP32设备驱动-PCF8574IO扩展模块驱动

PCF8574IO扩展模块驱动 1、PCF8574介绍 PCF8574 是一个使用 I2C 协议的 8 位 I/O 端口扩展器。 通过开发板的SDA 和 SCL 引脚来控制多达 8 个数字 I/O 端口。 其中,A0,A1,A2 为地址引脚,P0,P1,P2,P3,P4,P5,P6,P7 为数字端口。PCF8574的地址如下: 在前面的文章,对PCF8574的…

【渐进交互学习网络:轻量级:超分:工业应用】

Progressive Interaction-Learning Network for Lightweight Single-Image Super-Resolution in Industrial Applications &#xff08;工业应用中轻量级单幅图像超分辨率渐进交互学习网络&#xff09; 近年来&#xff0c;基于深度学习&#xff08;DL&#xff09;的工业应用因…

大数据技术之Hive(四)分区表和分桶表、文件格式和压缩

一、分区表和分桶表1.1 分区表partitionhive中的分区就是把一张大表的数据按照业务需要分散的存储到多个目录&#xff0c;每个目录就称为该表的一个分区。在查询时通过where子句中的表达式选择式选择查询所需要的分区&#xff0c;这样的查询效率辉提高很多。1.1.1 分区表基本语…

Python 不同分辨率图像峰值信噪比[PSNR]

PNNR&#xff1a;全称为“Peak Signal-to-Noise Ratio”&#xff0c;中文直译为峰值信噪比 前言 一、定义 二、Python代码 1.自定义 2.Tensorflow 总结 前言 峰值信噪比是一种衡量图像质量的指标&#xff0c;描述的是最大值信号与北京噪音之间的关系。 一般来说&#xff0c;P…

Allegro如何删除铜皮上多余的空洞操作指导

Allegro如何删除铜皮上多余的空洞操作指导 在做PCB设计的时候,设计铜皮的时候是不希望铜皮上有多余的空洞的,设计完成前需要把多余的空洞删除,如下图 如何删除,具体操作如下 点击Shape点击Manual Void/Cavity

springboot中集成redis,二次封装成工具类

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;** 雄雄的小课堂 ** 现在是&#xff1a;2023年2月28日11:01:56 前言 redis大家应该都不陌生&#xff0c;我们在好多场景下都会使用&#xff0c;最近在面试别人的时候&#xff0c;也会问一些关于redis的…

华为OD机试题,用 Java 解【求符合要求的结对方式】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

博客系统--自动化测试

项目体验地址&#xff08;账号&#xff1a;123&#xff0c;密码&#xff1a;123&#xff09;http://120.53.20.213:8080/blog_system/login.html项目后端说明&#xff1a;http://t.csdn.cn/32Nnv项目码云Gitee地址&#xff1a;https://gitee.com/GoodManSS/project/tree/master…

【极狐 GitLab】在 web 端合并分支

一、概述 极狐GitLab是GitLab DevOps平台的中国发行版&#xff0c;一套完备的一站式DevOps平台&#xff0c;从根本上改变了开发、安全和运维团队协作和软件构建方式。极狐GitLab从构思到生产发布&#xff0c;帮助团队提高生产效率&#xff0c;将迭代周期从数周缩短至几分钟&am…