寻找并分析因果关系是科学研究中的重要一环,而现有的因果发现算法依赖由专家预先定义的高级变量。现实场景中的原始数据往往是图片、文本等高维非结构化数据, 结构化的高级变量是十分稀缺的,导致现有的因果发现和学习算法难以用于至更广泛的数据。
因此,香港浸会大学与MBZUAI、卡内基梅隆大学、香港中文大学、悉尼大学以及墨尔本大学合作发表论文《Discovery of the Hidden World with Large Language Models》,提出了一个名为 COAT 的新型框架,旨在利用大型语言模型和因果发现方法的优势,突破传统因果发现方法的局限性,更有效地在现实世界中定义高级变量、理解因果关系。
论文标题:
Discovery of the Hidden World with Large Language Models
论文链接:
https://arxiv.org/pdf/2402.03941
项目代码:
https://github.com/tmlr-group/CausalCOAT
项目主页:
https://causalcoat.github.io/
一、引言
科学的发展离不开对重要变量的识别和它们之间的因果关系的揭示 [1,2]。现有的因果发现方法(Causal Discovery methods, CDs)主要依赖于由人类专家提供的高质量测量变量 [3,4,5]。然而,在更广泛的实际的应用中,它们往往是稀缺的。例如,想要分析用户评分相关因素的亚马逊卖家,只能拥有原始的用户评论,这些评论是根据用户对某些产品特征的潜在偏好撰写的。因此,缺乏高质量的高级变量一直是 CDs 或受因果关系启发的方法在更广泛实际应用中的长期障碍 [6]。
大型语言模型(Large Language Models, LLMs)[7,8,9,10] 通过学习来自真实世界的大量文本数据,在理解非结构化输入方面展现了惊人的能力,并利用所学到的丰富知识解决各种通用任务 [11,12]。一系列早期的测试表明,LLMs 能够有效地利用所学知识回答常见的因果问题 [11,13,14]。尽管如此,现有的方法主要集中于将 LLMs 作为一种应用于给定的因果变量的
直接推理器
。由于 LLMs 的一系列缺陷 [18,19,20],这种直接推理器的可靠性仍然存在争议 [13,15,16,17]。
更关键的是,经典的因果发现方法 [3,4,5] 强调识别因果结构的理论保证,而现有的 LLMs 和因果发现结合的方法仍然没能给出充分的讨论或分析。因此,本文聚焦在一个具有挑战性的研究问题:
LLMs如何可靠地帮助揭示现实世界背后的因果机制?
二、LLM作为表征助理用于因果发现
本文的研究目标是利用大语言模型的优势为非结构化数据设计并提供结构化的表征。该表征应当由一系列的高级变量 (factors) 组成,捕捉用户感兴趣的信息,并具备一定的可解释性。
为了实现这样的目标,我们提出了一套简单而有效的框架算法:Causal representatiOn AssistanT (COAT). 用户只需提供一个感兴趣的目标变量,COAT 将迭代地找寻一组高级变量,构成目标变量的马尔可夫毯 (Markov Blanket)。在此基础上,任何合适的因果发现算法均可用于进一步的因果结构识别,加深对目标变量的理解。
数据
假设有一个用户感兴趣的
目标变量
,比如消费者对商品的评分,或是患者肿瘤的类型。我们将Y视为一个标量随机变量。
待分析的
非结构化数据
记做
, 比如消费者附在评分后面的文本评论,或是患者肿瘤对应的医学图像。
目标
我们寻求一个映射
,使得结构化表示
满足
。换言之,
充当了
关于
的马尔可夫毯(Markov Blanket)。基于此,可以对
应用下游方法。特别地,我们关注它们之间的因果结构,这些结构将揭示关于目标变量
的有意义的见解 [21,22]。例如,符合哪类特征的产品会受消费者欢迎。
大语言模型用作表征助理
为了充分发挥 LLMs 从原始观察(即非结构化输入
)中提取相关信息的能力,我们将映射
分解为一组高级变量
,每个高级变量
将原始观察
映射到一个预定义的值空间
。也就是说,这些高级变量定义了
的表征:
。我们使用符号
来强调高级变量本身,如苹果的甜度、大小或气味,而
来强调将原始观察
映射到预定义值空间
的函数。
高级变量的可解释性
值得注意的是,
上文中的每个高级变量
均是由 LLMs 通过自然语言定义的
。将数据
和对应的描述输入大模型即可得到对应的值。这种定义高级变量的方法让其可解释性显示地可得。比如,令值空间为
, 那么
可以被定义为
1: 此消费者对苹果甜度感到满意;-1: 此消费者对苹果甜度感到失望;0: 没有提及 / 无法判断;
三、COAT: Causal representatiOn AssistanT 框架
图 1. COAT 框架示例
COAT的框架如图1所示,COAT被用来分析消费者对苹果的文本评论数据。这里用户感兴趣的目标变量是消费者对苹果的评分。
在我们提出的 COAT 框架中,每一轮迭代将依次经过以下几个步骤。
变量提出
此环节的目的是将 LLMs 对数据的理解转换为一系列的可能的高级变量。我们采样一小部分的数据
,通过 prompt
让 一个 LLM
提出一些可能的高级变量。
图 2. COAT 在变量提出环节的 prompt 示意
图2展示了一个具体的例子。prompt
包含了三个部分:样本、指示信息、格式控制。为了帮助 LLMs 更好的注意到与目标变量
相关的信息,样本被依据其对应的
的取值分组。接下来,指示信息要求 LLM
定义具体的高级变量,包括变量的含义、每个变量对应的取值准则。如果有额外的背景信息或先验知识,也可一并加在这里。这里 prompt 的设计模仿了人类专家选取和定义高级变量的过程 [23]。
此环节的形式化描述:在第
次的COAT迭代中,选用样本
, prompt
, 令 LLM
给出一组高级变量的集合
. 此前所有提出过的高级变量的集合为
。
取值解析
此环节的目的是为先前提出的高级变量解析对应全样本
的非结构化数据
上对应的取值。在传统的因果发现流程中,这一步是由人类专家收集的 [3]。在 COAT 中,我们使用 LLM
依据高级变量的定义和其对非结构化数据的理解来给出取值。
此环节的形式化描述:在第
次的COAT迭代中,在全样本
上通过相应的 prompt
, 令 LLM
给出一组高级变量
对应的取值
. 此前所有高级变量的取值为
若 LLM 不具备解析高级变量的取值所需要的能力,比如,对外部环境作出干预,可以将额外的过程拓展至此框架中 [24,25]。比如,针对疾病的研究可能需要从病例中标柱相关的症状,也可能需要做额外的医学检查 [26]。在后续的实证研究中,COAT 在这两类情形下均有良好的表现。
因果发现
获得高级变量对应的结构化数据
后,便可选用合适的因果发现算法(如 FCI)分析
上的因果关系。
此环节的形式化描述:在第
次的COAT迭代中,通过因果发现算法
得到因果图
.
一般来说,因果结构的可识别性依赖于算法
所做的假设,因此需要根据情况选取合适的算法。此外,在取值解析的过程中有可能会引入噪声,在具体实现时需要额外考虑。为了验证COAT的概念,本文选用基于条件独立性检验的 FCI 算法,实际中可根据需要自行调整。
利用反馈进一步寻找高级变量
LLM 需要合适的 prompt 才能发挥作用,很难让其一次给出足够的高级变量。此环节的目的是基于因果发现的结果,通过反馈设计
,寻找合适的信息,为下一轮迭代准备合适的输入,让 LLM 进一步给出合适的高级变量。
整体框架总结如下:
图 3. COAT 框架总结
四、反馈构建
如前文所述,在第
轮的 COAT 迭代中,我们需要构建合适的反馈来进一步寻找高级变量。
设
为
关于
的任何一组马尔可夫毯。若它不是
关于
的马尔可夫毯,即
,那么应该存在一个待发现的高级变量
满足:
其中
表示条件熵。因此,对于下一轮迭代,我们期待的新变量
在
上的条件熵应该满足
图 4. 待发现的高级变量的不同情形.
如图4所示, 对于
的马尔可夫毯中的变量
可分为四种情况,其中
为已经找出的变量。在关于
的条件分布上,
与
的相关性将得到增强,这启示我们寻找哪些较难被现有变量
解释的样本。因此,对于下一轮迭代,我们希望选取的样本
应该满足
为了简化计算,我们将样本依
通过K-means算法聚为
类,选取条件熵最大的一组样本。读者可根据情况选择不同的方式。
五、理论分析
本文定义了两个与 LLM
提出高级变量的能力相关的指标:
感知分数 (Perception Score)
: LLM
提出符合上文描述的新的高级变量的概率。*(可以简写为
)*
能力分数 (Capacity Score)
: LLM
提出符合上文描述的新的高级变量
,对条件互信息的贡献:
若这两个分数均为正值,且上文关于条件熵的不等式能够被验证,那么对任意
,
为标准高斯分布的
-分位数,