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

【摘要】因果问题询问不同事件或现象之间的因果关系。它们对于各种用例都很重要,包括虚拟助手和搜索引擎。然而,许多当前的因果问答方法无法为其答案提供解释或证据。因此,在本文中,我们旨在使用因果关系图来回答因果问题,因果关系图是名词短语之间因果关系的大规模数据集以及关系的来源数据。受到强化学习在知识图谱任务(例如链接预测和事实核查)中的近期成功应用的启发,我们探索了强化学习在因果关系图上的应用,以回答因果问题。我们引入了一个基于 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. 将搜索历史编码为状态向量,避免马尔可夫假设,增强状态表示能力的思路可广泛应用于其他序列决策问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【OrangePi AIpro】开箱初体验以及OAK深度相机测试

1. 简介 Orangepi AIPRO 是一款采用昇腾AI技术路线,集成4核64位处理器AI处理器的单板计算机,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接eMMC模块,支持双4K高清输出。 Orange Pi AIpr…

五个超级好用的Prompt网站,让你的GPT效率碾压旁人!

五个超级好用的Prompt网站,让你的GPT效率碾压旁人! 1. 150 Best ChatGPT Prompts for All Kinds of Workflow 该网站包含了150个能够显著提升工作流程效率的ChatGPT Prompt。从制作引人入胜的内容到简化项目,这些提示应该有助于将 ChatGPT …

爱设计AiPPT.cn赵充:营销工作的AI进化

爱设计&AiPPT.cn是一家 AIGC 数字科技企业,致力于打造「下一代个人与组织的 Ai 工作站」 。目前旗下产品包括AiPPT.cn、爱设计AIGC 内容中台、365 编辑器、爱设计在线设计工具、AiH5 等超过 10 余款应用 AI 能力的内容创作工具。日前,爱设计&AiP…

在Android中解析XML文件并在RecyclerView中显示

1. 引言 最近工作有解析外部xml文件在App中显示的需求&#xff0c;特来写篇文章记录一下&#xff0c;方便下次使用。 2. 准备工作 首先&#xff0c;在项目的AndroidManifest.xml文件中添加读取外部存储的权限声明。 <uses-permission android:name"android.permiss…

渗透测试一些知识点

1、如果提示缺少参数&#xff0c;如{msg&#xff1a;params error}&#xff0c;可尝使用字典模糊测试构造参数&#xff0c;进一步攻击。 2、程序溢出&#xff0c;int最大值为2147483647&#xff0c;可尝试使用该值进行整数溢出&#xff0c;观察现象。 3、403&#xff0c;404响…

CentOS7离线安装Nginx

目录 1. 安装gcc2. 安装g3. 安装openssl4. 安装pcre5. 安装zlib6. 安装Nginx7. 启动nginx8. 开放80端口9. 访问测试10. 设置开机自启 Nginx离线安装需要依赖gcc、g环境&#xff0c;安装前要先检查linux系统中是否自带gcc和g&#xff0c;如果没有就需要先进行安装。 然后再安装o…

webpack快速入门---webpack的安装和基本使用

webpack是什么 本质上&#xff0c;webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时&#xff0c;它会在内部从一个或多个入口点构建一个 依赖图(dependency graph)&#xff0c;然后将你项目中所需的每一个模块组合成一个或多个 bund…

UVa11604 General Sultan

UVa11604 General Sultan 题目链接题意分析AC 代码 题目链接 UVA - 11604 General Sultan 题意 给出一些0和1组成的模式串&#xff0c;问是否存在一个串使得有多种方案将这个串分解成模式串。    给一个包含n&#xff08;n≤100&#xff09;个符号的二进制编码方式&#xff…

Shell脚本的分支语句,循环语句

分支语句 if 表达式 then 命令表 fi 如果表达式为真&#xff0c;则执行命令表中的命令&#xff0c;否则退出。执行fi后的语句。 给文件权限:chmod 0777 文件名 输出: ./文件名 grep 查找用户名&#xff0c;管道wc -l 统计字符 2.多路分支语句 记得给文件名权限喔&#x…

M功能-支付平台(六)

target&#xff1a;离开柬埔寨倒计时-217day 今天突然发现我在csdn居然把我ip属地搞出来了&#xff0c;之前都没注意到&#xff0c;哎 前言 M功能演示版本做到后期(也就是第二周的后面3天)真的很心酸&#xff0c;这边安排的4后端后面都放弃了&#xff0c;觉得做不出来&#…

【YashanDB知识库】ODBC驱动类问题定位方法

【标题】ODBC驱动类问题定位方法 【需求分类】故障分析 【关键字】ODBC 【需求描述】由于我们的ODBC接口目前尚不完善&#xff0c;经常会遇见ODBC接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管…

图像去雾并与其他非物理模型进行对比

matlab clear clc close all imgimread( scene1.jpg);subplot(221),imshow(uint8(img)), title(原始低照度图像”);img(::,1)255-img(::1); img(::,2)255-img(:2); img(:,:3)255-img(: 3); szsize(img); wsZ(2); hsz(1); %计算RGB取最小值后的图像darkl dark l zeros(h,w); for…

Nginx配置及优化

Nginx配置及优化 前言nginx.conf拆分理解上线 最近在配置Nginx的时候&#xff0c;偶尔一些细致的理论有些模糊&#xff0c;配置起来费了点功夫&#xff0c;今天来详细写一下我个人的理解&#xff0c;文章参考了一些官网和其他优秀博主的文章http://t.csdnimg.cn/GbID9。 前言 …

Java设计模式总结

《武林外传》老白曾经说过这样一句话。高手就是手里无刀&#xff0c;心中也无刀。 类似于设计模式&#xff0c;你不知不觉中已经融进你的代码中了&#xff0c;但你并不知已经运用了。下面我总结几个我觉得比较常用的设计模式。 1&#xff1a;设计模式分类 总体来说设计模式分为…

小程序内的分包与数据共享

一:数据共享 小程序内的数据共享和vue当中不一样,vue当中的vue实例可以使得所有的组件都能this.store 但是小程序它只有page对象,和组件实例对象.对于vue而言,vue实例可以使得添加的组件都有. 但是page对象页面对象,不能使得页面内部有.只能使得这个页面内能访问.vue实例,会…

桌面上怎么记工作任务更加合理?能设置桌面提醒的便签软件

在快节奏的现代工作中&#xff0c;电脑已成为我们处理工作的主要工具。每天&#xff0c;我们都要面对电脑屏幕&#xff0c;处理大量的工作任务。为了更好地管理这些琐碎却重要的工作&#xff0c;将工作任务直接记录在桌面上&#xff0c;随时查看和调整&#xff0c;无疑是一种高…

自定义注解+AOP切面实现日志记录

自定义注解&#xff1a; Target(ElementType.METHOD)// 作用在方法上 Retention(RetentionPolicy.RUNTIME) Documented Inherited // 子类可以继承此注解 public interface OperationLog { } aop切面&#xff1a; Slf4j Aspect Component public class OperationAspect {Au…

【Text2SQL 论文】评估 ChatGPT 的 zero-shot Text2SQL 能力

论文&#xff1a;A comprehensive evaluation of ChatGPT’s zero-shot Text-to-SQL capability ⭐⭐⭐⭐ arXiv:2303.13547 这篇论文呢综合评估了 ChatGPT 在 zero-shot Text2SQL 任务上的表现。 dataset 使用了 Spider、Spider-SYN、Spider-DK、Spider-Realistic、Spider-CG…

SQL刷题笔记day6-1

1从不订购的客户 分析&#xff1a;从不订购&#xff0c;就是购买订单没有记录&#xff0c;not in 我的代码&#xff1a; select c.name as Customers from Customers c where c.id not in (select o.customerId from Orders o) 2 部门工资最高的员工 分析&#xff1a;每个部…

SFOS2:组件介绍

一、前言 在sailfish os application的开发过程中&#xff0c;几乎是困难重重&#xff0c;因为我暂未找到具有完整性、指导性、易懂性的开发文档&#xff0c;特别是组件的使用&#xff0c;现决定将自己的探究结果记录下来。因此&#xff0c;这篇文章只会具有参考价值&#xff0…