【摘要】因果问题询问不同事件或现象之间的因果关系。它们对于各种用例都很重要,包括虚拟助手和搜索引擎。然而,许多当前的因果问答方法无法为其答案提供解释或证据。因此,在本文中,我们旨在使用因果关系图来回答因果问题,因果关系图是名词短语之间因果关系的大规模数据集以及关系的来源数据。受到强化学习在知识图谱任务(例如链接预测和事实核查)中的近期成功应用的启发,我们探索了强化学习在因果关系图上的应用,以回答因果问题。我们引入了一个基于 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+节点。
疑惑和想法:
-
当前方法仅支持二元因果问题,如何扩展到开放式因果问题?一个思路是将路径末端出现频率最高的实体作为答案。
-
在训练时如何引入反例(即答案为"No"的问题)?现有因果图往往只包含正例边,缺乏显式的否定信息。
-
图神经网络(GNN)能否进一步增强状态表示?例如用GNN捕获当前节点的k-hop邻域信息。
可借鉴的方法点:
-
基于强化学习的因果推理框架可以拓展到其他推理任务,如常识问答、逻辑推理等。
-
引入监督预训练来指导智能体探索并加速收敛的思想值得借鉴,特别是在动作空间巨大、奖励函数稀疏时。
-
将搜索历史编码为状态向量,避免马尔可夫假设,增强状态表示能力的思路可广泛应用于其他序列决策问题。