WWW24因果论文(1/8) | 利用强化学习(智能体)进行因果问答

news2024/11/20 3:27:42

【摘要】因果问题询问不同事件或现象之间的因果关系。它们对于各种用例都很重要,包括虚拟助手和搜索引擎。然而,许多当前的因果问答方法无法为其答案提供解释或证据。因此,在本文中,我们旨在使用因果关系图来回答因果问题,因果关系图是名词短语之间因果关系的大规模数据集以及关系的来源数据。受到强化学习在知识图谱任务(例如链接预测和事实核查)中的近期成功应用的启发,我们探索了强化学习在因果关系图上的应用,以回答因果问题。我们引入了一个基于 Actor-Critic 的代理,它学习通过图来回答因果问题。我们使用监督学习程序引导代理来处理大动作空间和稀疏奖励。我们的评估表明,代理通过访问每个问题少于 30 个节点(相比之下,简单的广度优先搜索需要访问超过 3,000 个节点),成功地精简了搜索空间以回答二元因果问题。我们的消融研究表明,我们的监督学习策略为我们的强化学习代理的改进提供了坚实的基础。我们的代理返回的路径解释了原因产生结果的机制。此外,对于路径上的每条边,我们的因果关系图提供了其原始来源,从而可以轻松验证路径。

原文:Causal Question Answering with Reinforcement Learning
地址:https://arxiv.org/abs/2311.02760
代码:https://github.com/ds-jrg/causal-qa-rl
出版:WWW 24
机构: Paderborn University

写的这么辛苦,麻烦关注微信公众号“码农的科研笔记”!

1 研究问题

本文研究的核心问题是: 如何设计强化学习算法在因果图上回答二元因果问题。

假设在一个医疗诊断系统中,医生询问"肺炎是否会导致贫血?"。这是一个典型的二元因果问题,即问题中给出了一个原因(肺炎)和一个结果(贫血),要求判断两者是否存在因果关系,即原因是否会导致结果。传统方法通过从文本中提取因果对,训练分类模型来判断。本文则希望利用因果图这种结构化的知识,设计智能体在图上搜索从原因到结果的路径,以回答因果问题。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 因果推理需要多步搜索,而非单跳问题回答。智能体从原因实体出发,需要在图上搜索多步,才能到达结果实体。这就要求智能体能记忆历史轨迹,规划未来路径。

  • 动作空间(每步要选择的邻接实体)很大。与之前在知识图谱上做链接预测等任务的研究不同,因果图的所有边都是因果关系,没有边的类型区分。这导致每一步的候选动作数量等于当前实体的邻接实体总数,远大于一般图谱中特定关系类型下的邻接实体数。大动作空间给学习带来困难。

  • 奖励信号稀疏。只有在最后一步到达目标实体时,智能体才能得到奖励反馈。而在此之前的探索过程,难以为智能体提供有效的学习信号。

  • 需要可解释性。与端到端的分类模型相比,基于图搜索的方法的一大优势在于能展示推理链条,解释模型判断的依据。如何在强化学习框架下输出可解释的推理路径也是一个挑战。

针对这些挑战,本文提出了一种基于Actor-Critic算法的"因果问答"强化学习方法:

本文将因果问答建模为在因果图上的序贯决策过程。智能体从原因实体出发,通过选择动作(即选择下一跳前往的邻接实体)在图上搜索,目标是找到一条从原因到结果的路径。为了应对大动作空间和稀疏奖励的挑战,本文采用了 Advantage Actor-Critic (A2C)算法,引入Critic网络来估计状态-动作值函数,指导 Actor 网络更新策略。同时,本文还设计了一种监督学习方式来预训练 Actor 网络,利用最短路径作为专家知识,引导智能体学习更优路径搜索策略。另一方面,为了提高推理解释性,本文利用 beam search 解码多条高概率路径,基于因果图中边上的元信息(如边对应的原始句子),生成易于人类理解的推理链。总的来说,本文巧妙地将因果推理与图上的强化学习相结合,既利用了图谱的结构化知识,又学习到了多步推理策略,在保证较高准确率的同时,提供了可解释的推理依据。

2 研究方法

2.1 因果问题回答任务定义

论文研究了如何使用因果图来回答二元因果问题。给定一个自然语言因果问题,如"X是否导致Y",其中X和Y分别代表一个原因和结果概念。论文的目标是学习在因果图上找到一条从原因概念指向结果概念的路径。如果能找到这样的路径,则问题的答案为"是",否则答案为"否"。

图1展示了一个因果图的例子以及如何在图上回答因果问题"肺炎是否导致贫血"的过程。首先原因概念"肺炎"和结果概念"贫血"被链接到因果图中对应的实体节点。然后从"肺炎"节点开始搜索指向"贫血"节点的路径。该例子中存在一条路径(pneumonia, sepsis, kidney failure, anemia),因此问题的答案为"是"。找到的路径可进一步用于分析原因如何导致结果的内在机制。

2.2 因果问题回答的马尔可夫决策过程建模

论文将在因果图上搜索路径的过程建模为一个马尔可夫决策过程(MDP),其中包含状态空间、动作空间、状态转移函数和奖励函数。

在每一个时刻,智能体的状态定义为,其中表示问题的嵌入向量,表示当前的实体,表示当前实体的嵌入向量,表示已访问路径的隐藏状态(由LSTM建模),表示问题中的结果实体。在起始时刻,被初始化为问题中的原因实体,被初始化为全零向量。

在状态下,动作空间被定义为当前实体在因果图中所有邻居节点的集合,即,其中表示因果图的三元组集合,表示因果关系。此外动作空间中还加入了一个特殊的STAY动作,使得不同因果问题的路径可对齐为相同长度。

在时刻,智能体根据策略执行一个动作,状态根据转移函数转移到,其中。同时环境根据奖励函数反馈奖励值。只有在最后一步,如果即到达目标节点,环境返回奖励1,否则返回0。其他时刻的奖励都为0。

2.3 基于Actor-Critic的强化学习算法

论文使用Actor-Critic算法来训练策略网络和值函数网络。如图2所示,论文采用LSTM来建模状态特征,在每一步将问题嵌入和实体嵌入拼接输入LSTM,产生隐藏状态:

然后在LSTM层之上分别搭建Actor和Critic的前馈网络。Actor网络对所有可能动作的嵌入向量进行评分并经过softmax函数生成动作概率分布:

其中是可学习的权重矩阵, 表示将因果图中的边信息也编码到每个动作的嵌入向量中。

Critic网络输出一个标量值来评估状态的值函数:

其中是可学习的权重矩阵。

在训练时,论文采用Generalized Advantage Estimate (GAE)来更新策略网络的参数:

其中是基于值函数估计的优势函数,B是采样的batch大小。同时论文还加入熵正则化项来鼓励策略的探索。

Critic网络的参数使用TD()误差进行更新:

其中是基于-回报估计的状态真实值。

2.4 引入监督学习加速训练(核心)

因果图上路径空间巨大,奖励函数稀疏,纯粹使用强化学习难以有效训练。为此,论文引入监督学习来为智能体提供先验知识,缩小动作空间。具体地,论文首先对因果图运行广度优先搜索(BFS),获得监督训练的样本。对于每个训练样本(因果问题),BFS尝试搜索从原因指向结果的所有路径。然后基于搜集到的路径,论文使用REINFORCE算法训练一个初始策略网络:

其中在监督学习阶段,每一步的奖励都被设为1。之后,论文在监督学习的基础上,继续使用Actor-Critic算法优化强化学习智能体,期望以更少的探索代价快速收敛到最优策略。

2.5 推理阶段的Beam Search策略

在推理阶段,对于给定的因果问题"X是否导致Y",智能体先将X和Y链接到因果图的实体节点。然后从开始,智能体根据策略采样多条路径直到达到最大长度T。

为了权衡解码效率和精度,论文采用Beam Search策略。在每一步,保留前K个概率最大的部分路径,直到达到最大长度T。图1展示了在一个例子中,Beam Search找到的两条候选路径及其对应的边缘概率。

推理时如果在采样路径中出现了目标节点,则问题的答案为"是",否则答案为"否"。此外,我们还可以利用采样路径上各个边对应的概率值来分析模型做出决策的依据。

综上,论文基于因果图提出了一种强化学习方法来回答因果问题,同时引入监督学习加速模型训练,并采用Beam Search平衡推理效率和精度。相比于穷举搜索,该方法能更高效地剪枝搜索空间,并通过可解释的推理路径来佐证其判断结果。

4 实验

4.1 实验场景介绍

本文提出了一个基于强化学习在因果图上进行二元因果问答的代理模型。实验旨在评估该模型相比基线方法在回答二元因果问题的性能,以及分析模型关键组件的有效性。

4.2 实验设置

  • Datasets: 从MS MARCO和SemEval中抽取二元因果问题,数据集统计如表1所示。使用CauseNet作为因果知识图谱。

  • Baselines: (1) 在CauseNet上进行BFS搜索的基线;(2) 直接用语言模型UnifiedQA-v2和GPT-4进行问答的基线

  • Implementation details:

    • 使用AdamW优化器,梯度范数裁剪为0.5

    • 实体和问题嵌入使用GloVe向量

    • 所有实验在NVIDIA A100 40GB GPU上进行

  • metrics: 使用准确率、F1值、精确率、召回率评估二元问答性能;比较代理模型与BFS访问图节点的数量

4.3 实验结果

4.3.1 实验一、RL代理与基线方法的性能对比

目的: 评估强化学习代理相比BFS和语言模型在二元因果问答任务上的性能

涉及图表: 表2

实验细节概述: 比较不同跳数(1-4跳)的RL代理、BFS以及语言模型在MS MARCO和SemEval测试集上的二元问答表现

结果:

  • RL代理访问节点数量只有BFS的1%左右,有效剪枝了搜索空间

  • RL代理在精确率上优于BFS,接近GPT-4,但召回率略低于二者

  • RL代理产生的答案具有可解释和可验证性,每条路径上的边都可提供web来源作为证据

4.3.2 实验二、RL代理关键组件的消融实验

目的: 研究关键组件(监督学习、Actor-Critic、beam search等)对模型性能的影响

涉及图表: 表3

实验细节概述: 通过移除RL代理的不同组件,比较它们对MS MARCO和SemEval测试集性能的影响

结果:

  • Beam search对性能影响最大,移除后准确率显著下降

  • 初始监督学习次之,为RL建立了良好的起点

  • Actor-Critic、反向边、LSTM的移除也会略微降低性能

4.3.3 实验三、监督学习步数对RL代理学习效率的影响

目的: 验证初始监督学习步数对RL代理学习效率的影响

涉及图表: 图2,图3

实验细节概述: 设置不同步数进行对比实验

结果:

  • 随监督学习步数增加,RL代理的起始准确率提高,不确定性降低

  • 过多监督学习步数(>300)对性能提升效果变弱

  • 初始监督学习有效建立RL代理的良好起点,加速了探索和学习过程

4.3.4 实验四、推理阶段beam width对模型性能的影响

目的: 分析推理阶段beam width大小对模型性能的影响

涉及图表: 图4

实验细节概述: 在MS MARCO测试集上评估beam width为1、5、10、50时,RL代理在不同训练步后的准确率

结果:

  • Beam width越大,准确率越高,但提升幅度递减

  • Beam search可视作贪心解码与BFS的折中,随width增大逼近穷举搜索

  • 即使width为50的beam search准确率也显著低于监督学习,说明50仍是合理的beam width

4.3.5 实验五、人工评估代理找到的因果路径

目的: 人工评估RL代理找到的因果路径的正确性

涉及图表: 表6,表7

实验细节概述: 人工检查3跳RL代理针对每个问题找到的top 1因果路径,判断证据支持下的路径正确性

结果:

  • 在MS MARCO上53%的路径正确,27%可疑,20%错误;在SemEval上64%正确,25%可疑,11%错误

  • 许多错误来自图谱中引入的反向边

  • 结果强调了未来改进因果图谱和问答方法的必要性

4 总结后记

本文针对因果问答(Causal Question Answering)任务,提出了一种基于强化学习在因果图上进行寻路的方法。通过Actor-Critic框架训练一个智能体,使其能够在图上搜索到连接因和果的路径,从而回答二元因果问题。此外,论文还引入了监督预训练来缓解大规模动作空间和稀疏奖励问题。实验结果表明,所提出的方法能够有效剪枝搜索空间,每个问题平均访问不到30个节点即可给出高置信度的答案,大幅优于BFS的3000+节点。

疑惑和想法:

  1. 当前方法仅支持二元因果问题,如何扩展到开放式因果问题?一个思路是将路径末端出现频率最高的实体作为答案。

  2. 在训练时如何引入反例(即答案为"No"的问题)?现有因果图往往只包含正例边,缺乏显式的否定信息。

  3. 图神经网络(GNN)能否进一步增强状态表示?例如用GNN捕获当前节点的k-hop邻域信息。

可借鉴的方法点:

  1. 基于强化学习的因果推理框架可以拓展到其他推理任务,如常识问答、逻辑推理等。

  2. 引入监督预训练来指导智能体探索并加速收敛的思想值得借鉴,特别是在动作空间巨大、奖励函数稀疏时。

  3. 将搜索历史编码为状态向量,避免马尔可夫假设,增强状态表示能力的思路可广泛应用于其他序列决策问题。

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

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

相关文章

昂科烧录器支持Infineon英飞凌的磁性位置传感器TLE4998S8D

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中Infineon英飞凌的磁性位置传感器TLE4998S8D已经被昂科的通用烧录平台AP8000所支持。 TLE4998S8D是一款磁性位置传感器,经过专门设计,满足高精度角度和位…

实施阶段(2024年5月)

【项目活动1】斐波拉契数列第n项的值? 数学思想:第一项和第二项的值都为1,从第三项开始值为前两项的和。 方法一:迭代 迭代变量:f1和f2 迭代表达式:f1,f2f2,f1f2 计数器:i 迭代表达式运算…

webpack打包配置项

webpack打包配置项 在config.js 中 module.exports {publicPath: process.env.NODE_ENV production ? / : /, //静态资源目录outputDir: dist, //打包名称assetsDir: static,//静态资源,目录devServer: {port: port,open: false,overlay: {warnings: false,erro…

解决Plugin ‘maven-clean-plugin:3.1.0‘ not found的问题

1. 问题描述 当导入别人的Maven项目时,可能会出现Plugin maven-clean-plugin:3.1.0 not found的错误信息。 2. 解决方案 2.1 方案一 检查自己的Maven仓库地址是否正确,一般引入其他人的项目时,Maven仓库的目录以及配置都会是别人的&#xff…

SpringBoot——基于Spring Task实现定时任务

目录 定时任务 项目总结 新建一个SpringBoot项目 pom.xml无需引入依赖 SpringTaskDemo SpringbootSpringtaskApplication启动类 定时任务 在日常的项目开发中,往往会涉及一些需要做到定时执行的代码,例如自动将超过24小时的未付款的订单改为取消状…

go语言,golang,linux,unbantu安装

查看系统是arm还是amd uname -m 命令可以显示系统的架构类型: uname -m输出可能是: x86_64:表示是 AMD64 架构(即 64 位的 x86 架构)。aarch64:表示是 ARM64 架构(即 64 位的 ARM架构&#xf…

Thingsboard规则链:Message type switch节点详解

在物联网解决方案中,数据的高效处理与自动化决策流程是实现智能化管理的基础。Thingsboard,作为一个强大的开源物联网平台,通过其规则引擎为用户提供了一系列灵活的节点来定制复杂的业务逻辑。其中,Message Type Switch节点是构建…

超清高帧,成像升级 | SWIR短波红外相机500万像素992芯片

博图光电5MP短波红外相机,搭载了索尼IMX992 SenSWIR传感器,支持5.2MP分辨率,适合探测波长在400nm-1700nm波段的可见光和短波红外光,有效面积和透光率得到提升,内置TEC制冷片,实现了像素尺寸和图像均匀性方面…

微服务架构-数据共享设计模式

微服务架构-数据共享设计模式 每个微服务拥有自己的数据库,可以独立地进行数据库架构设计、部署和维护。这种是属于常规的方式,不受其他微服务的影响,具有高度的自治性。 然而,在将单体应用拆分成微服务时,可能会遇到…

sys.argv介绍

在Python的标准库中,sys 模块是一个常用而强大的工具,它提供了与Python解释器交互的函数和变量。 sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数 sys.argv[0]表示代码本身文件路径 import sysprint(sys.argv[0]&…

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (八)

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

机器学习之聚类学习

聚类算法 概念 根据样本之间相似性,将样本划分到不同类别种,不同相似度计算方法,会得到不同聚类结果,常用相似度计算方法为:欧氏距离 目的是在没有先验知识情况下,自动发现数据集种内在结构和模式 无监督…

撤销最近一次的提交,使用git revert 和 git reset的区别

文章目录 工作区 暂存区 本地仓库 远程仓库需求:已推送到远程仓库,想要撤销操作git revert (添加新的提交来“反做”之前的更改,云端会残留上次的提交记录)git reset(相当于覆盖上次的提交)1.--…

Visual Studio 智能代码插件:CodeGeeX

前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。 随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大…

初识 BPF:从 Hello World 开始的内核编程之旅

Part 1 概述 1. 背景 BPF 技术被列为近些年 Linux 内核领域最火热的新领域之一。它成功的给 Linux 内核赋予了少量的动态可编程性,可以在 Linux 内核运行时,实时修改内核的行为,但不需要重新编译和重启内核。据此,BPF 在 Linux …

java面试(多线程)

线程和进程的区别 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘,网络等设备。进程就是用来加载指令,管理内存,管…

鲲鹏迁移——DevKit

参考文档 鲲鹏DevKit开发套件下载-鲲鹏社区鲲鹏社区是面向鲲鹏合作伙伴、开发者的全产业社区,集学习、实验、认证等功能为一体,是鲲鹏计算产业的官方社区。https://www.hikunpeng.com/developer/devkit/download 鲲鹏社区-官网丨凝心聚力 共创行业新价…

记录一次开源 MaxKey 安装部署

官方文档:https://www.maxkey.top/doc/docs/intro/ 开源代码:https://toscode.mulanos.cn/dromara/MaxKey 发行版:https://toscode.mulanos.cn/dromara/MaxKey/releases 一、准备工作 yum install -y yum-utils yum-config-manager --add-r…

CSS 之 自定义属性(变量)

一、简介 ​ CSS的自定义属性,又称为CSS变量或级联变量,用于定义一个带有值的、可重复使用的CSS属性(变量)。其包含的值可以在其作用域内的任意属性上重复使用,在使用时需要借助var()函数获取自定义属性的值。当自定义…

text-embedding 嵌入模型

为什么使用embedding 计算机只能处理数字,但我们希望它能够理解文字、图片或其他形式的数据。这就是embedding的作用。它将这些复杂的数据转换成数字表示,就像给它们贴上了标签一样。这些数字表示不仅保留了原始数据的重要信息,还能在计算机…