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

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

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

相关文章

摸鱼大数据——Hive表操作——分区表

1、介绍 特点: 分区表会在HDFS上产生目录。查询数据的时候使用分区字段筛选数据,可以避免全表扫描,从而提升查询效率 注意: 如果是分区表,在查询数据的时候,如果没有使用分区字段,它回去进行全表扫描,会降低…

Kubernetes(k8s) 实战集群部署Discuz x3.5 k8s使用本地私有仓库镜像 Centos 8.5 安装部署NFS

本文环境可参考: 详细教程 Centos8.5 基于 k8s v1.30.1 部署高可用集群 kubeadm 安装 kubernetes v1.30.1 docker集群搭建 延长证书有效期-CSDN博客 1 集群部署,需要PV,安装NFS #master11,slave12,slave13都安装 yum install nfs-utils rpcbind -y2 …

统计信号处理基础 习题解答10-2

题目 两个随机变量x和y,如果联合PDF分解为: 那么称他们为条件独立的。在上式中z是条件随机变量。 我们观察 其中, , 是相互独立的。证明和是条件独立的。给出条件变量是A。和是无条件独立么?也就是 成立么?为了回答这个问题&…

R25 型双极型晶体管 433功率放大器,集电极电流可达100mA

R25 型硅基微波双极型晶体管是一种常见的晶体管,主要用于高频电子放大线路中。常被用作放大器、开关、变频器等电子电路中的核心元件。在放大电路中,它可以将微弱的信号放大到足以驱动输出负载;在开关电路中,它可以实现电路的打开…

推荐一个娱乐网站poki

今天,我要向您介绍一个充满乐趣的娱乐网站——Poki。这是一个集合了众多在线小游戏的平台,适合所有年龄段的玩家。无论您是想在工作间隙放松一下,还是寻找适合家庭聚会时的娱乐活动,Poki都能满足您的需求。所有游戏都无需下载或安…

高工咨询:《2024中国人形机器人产业发展蓝皮书》

高工咨询所发布的《2024中国人形机器人产业发展蓝皮书》全面梳理了人形机器人产业的发展现状、政策环境、资本市场、技术发展、市场前景以及面临的机遇与挑战等情况。 人形机器人是当今世界科技领域最具潜力和前景的产业之一。随着科技的不断进步和人 工智能技术的快速发展&…

洗地机哪个牌子清洁效果好?十大公认最好的洗地机品牌

在快节奏的现代生活中,洗地机以其吸尘、拖地和洗地三合一的功能,极大地简化了家庭清洁工作,已成为家庭清洁的得力助手。它不仅能缩短清洁时间,节省体力,还能提升清洁效果。作为资深的居家测评家,关于洗地机…

弘君资本炒股技巧:股票定向增发是什么意思?是好是坏?

股票定向增发是指已上市的公司向指定的组织或者个人投资者额外发行股份募集资金的融资方法,发行价格为发行前某一阶段的平均价的必定比例,增发的价格不得低于前二十个买卖日股票均价的80%。 例如,个股定增前二十个买卖股票平均价为…

如何基于springboot构建cas最新版源码?

环境准备 下载JDK21 https://download.oracle.com/java/21/archive/jdk-21.0.2_windows-x64_bin.zip下载gradle 8.5并配置环境变量 https://gradle.org/next-steps/?version8.5&formatbin下载项目git clone http://gitlab.ruishan.cc/meta/anka-authentication.git 开始…

本特利330180-51-00前置器在工业自动化中的应用与优势

本特利330180-51-00前置器在工业自动化中的应用与优势 作为PLC技术员,在工业自动化领域中,我们经常接触到各种传感器和前置器。其中,本特利330180-51-00前置器以其卓越的性能和广泛的应用领域,受到了业界的广泛关注。本文将详细介…

分享几张漂亮的linux kde主题

分享几张漂亮的linux kde主题:在系统设置的全局主题内下载。

男士内裤什么品牌质量好?男内裤品牌排行榜汇总

大家都知道,为了私处健康,每天都必须换内裤。而且,使用频率较高的内裤最好 3~6 个月换一批,一旦变形、材质变干硬或污渍洗不净,就得及时扔!但有一说一,现在男性同胞们想挑选到合适自…

深入解析文华量化交易策略---交易指令如何选择

随着金融投资的迅猛发展,自动化策略模型已逐渐成为现代投资领域的一股重要力量。量化交易模型均以数据为驱动,通过运用数学模型和算法,对期货、黄金等投资市场走势进行精准预测和高效交易。 艾云策略整理了量化策略相关资料,希望通…

数组-类似斐波那契数列,给出第一个和第二个结点值,求第n个值

一、问题描述 二、解题方法 可以采用两种方式: 方式1.使用递归,f(n)f(n-1)f(n-2); 当n1时,返回first;当n2时,返回second; 方式2.从第3个结点开始计算,当计算到第n个结点值的时候结束并返回计…

c 的库函数有哪些

C语言的库函数非常丰富,涵盖了多种功能,为程序员提供了大量的工具来完成各种任务。以下是一些主要的C语言库函数及其分类: 标准输入输出函数: printf():用于输出格式化的数据到标准输出设备。scanf():用于…

Java-Stream流-概述、创建、使用:遍历/匹配、筛选、聚合、映射、归约、排序、提取/组合

Java8-Stream: 一、Stream流概述1.Stream流的特点:2.使用步骤:3.常用方法示例: 二、Stream流创建1.常见的创建Stream的方法2. stream()或parallelStream()方法的使用和选择 三、Stream流使用Optional案例中使用的实体类1.遍历/匹配…

剪画小程序:”霸屏各大平台“的黏土滤镜是怎么制作的呢?

最近,网上出现大量“黏土”风格的人物照片。尤其是在社交平台,这类型的分享数量急剧上升。 这是马斯克开车的样子 还有这张是周杰伦七里香的专辑图片 一张照片,十几秒钟,就能还原出你在黏土世界的样子。 以上这些照片是用-【剪画…

145.栈和队列:删除字符串中的所有相邻重复项(力扣)

题目描述 代码解决 class Solution { public:string removeDuplicates(string s) {// 定义一个栈来存储字符stack<char> st;// 遍历字符串中的每一个字符for(int i 0; i < s.size(); i){// 如果栈为空或栈顶字符与当前字符不相同&#xff0c;则将当前字符入栈if(st.e…

抖音小店怎么快速出体验分?为什么销量过30单还没有体验分?

大家好&#xff0c;我是喷火龙。 体验分不管对于新店铺还是老店铺都是非常重要的&#xff0c;因为体验分直接影响着我们店铺的流量&#xff0c;特别是新手商家&#xff0c;做店的第一步就是要把体验分迅速的拉起来。 新店出体验分有一个要求&#xff0c;就是店铺的销量要满足…

Dockerfile使用

1.Dockerfile是什么 官网地址 https://docs.docker.com/reference/dockerfile/概念 是什么 Dockerfile 是用于构建 Docker 镜像的文本文件&#xff0c;它包含一系列的指令&#xff08;instructions&#xff09;和参数&#xff0c;用于描述如何构建和配置镜像。 Dockerfile 是…