3

清华大学崔鹏:因果推断技术最新的发展趋势

 2 years ago
source link: https://www.51cto.com/article/704223.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
清华大学崔鹏:因果推断技术最新的发展趋势-51CTO.COM
清华大学崔鹏:因果推断技术最新的发展趋势
作者:求真务实的 2022-03-17 21:04:57
近日,美团技术团队特别邀请到清华大学计算机学院长聘副教授崔鹏老师,为美团内部同学介绍了因果推断技术最新的发展趋势,以及现阶段取得的一些成果。

随着人工智能的不断发展,安全及合规问题变得越来越重要。当前机器学习比较大的一个局限性在于其学习模型都是基于关联框架,这种框架存在样本选择偏差的问题,且其稳定性也较差。而因果推理模型的出现,给机器学习打开了一个新的思路。

近日,美团技术团队特别邀请到清华大学计算机学院长聘副教授崔鹏老师,为美团内部同学介绍了因果推断技术最新的发展趋势,以及现阶段取得的一些成果。本文系崔鹏老师分享内容的文字实录整理,希望能对大家有所帮助或者启发。

22240b257eba1f6786c9664b17dcad7847bff3.jpg

崔鹏,清华大学计算机系长聘副教授,博士生导师

研究兴趣聚焦于大数据驱动的因果推理和稳定预测、大规模网络表征学习等。在数据挖掘及人工智能领域顶级国际会议发表论文100余篇,先后5次获得顶级国际会议或期刊论文奖,并先后两次入选数据挖掘领域顶级国际会议KDD最佳论文专刊。担任IEEE TKDE、ACM TOMM、ACM TIST、IEEE TBD等国际顶级期刊编委。曾获得国家自然科学二等奖、教育部自然科学一等奖、电子学会自然科学一等奖、北京市科技进步一等奖、中国计算机学会青年科学家奖、国际计算机协会(ACM)杰出科学家。

人工智能在很多风险敏感的领域有越来越广泛的应用,包括互联网、医疗、司法、生产、金融科技等等。风险不仅来自场景本身,也来自越来越严格的法律和监管。因此,人工智能技术所带来的风险值得重视。对人工智能风险的防控,可谓“只知其然,不知其所以然”。大家知道怎样去做预测,但很难去回答“Why”,比如为什么要做这样的决策?什么时候可以相信系统的判断?很多问题的模型我们都无法给出一个相对准确的答案。这样的话,就会带来一系列的问题。首先是不可解释性,这也导致了“人机协同”模式很难在现实世界中落地,比如人工智能技术很难应用于医疗行业,因为医生不知道系统判断的依据是什么,所以目前人工智能技术在落地时有很大的局限性。第二,当前主流的人工智能方法基于独立同分布的假设,这要求模型的训练集数据和测试集数据来自同一分布,而在实际应用中,很难保证模型会被应用于什么样的数据中,因为模型最终的性能取决于训练集和测试集分布的拟合度有多高。第三,人工智能技术在应用于社会性问题时会引入公平性风险,比如在美国,收入、教育等背景完全一致的两个人,系统判断黑人的犯罪率可能是白人的十倍。最后是不可回溯性,无法通过调整输入来获取想要的输出,因为推理和预测的过程是不可回溯的。

71b1d60113e6df8b88a860a113f88dd199a80f.jpg

而出现以上问题的主要根源在于:当前人工智能是基于关联的框架。在基于关联的框架下,可以得出收入-犯罪率和肤色-犯罪率都是强关联关系。而在基于因果的框架下,当我们需要判断某个变量T对输出Y是否有因果效果时,不是直接度量T和Y的关联关系,而是在控制住X的情况下去看T和Y之间的关联关系。比如,在两组对照组中X(收入水平)是分布是一样的(要么都有钱,要么都没钱),然后再通过调整T(肤色)去观察两组的Y(犯罪率)是否会有显著的差异,然后我们会发现黑人和白人的犯罪率并没有显著性的差异。那么,为什么在基于关联的框架中会得出肤色与犯罪率是强关联关系呢?这是因为大部分黑人的收入都比较低,从而导致整体的犯罪率偏高,但这并不是由肤色导致的。

28ea8dc11afb727b37b1549ec424ec8f8b5ac5.jpg

究其根本,问题并不是出在关联模型上,而是出在如何使用机器学习的方式上。总的来说,产生关联一共有三种方式,第一种是因果机制,因果关系是稳定、可解释且可回溯的。第二种是混淆效应,如果X同时导致了T和Y,T和Y之间就会产生虚假关联。第三种是样本选择偏差。比如在狗和草地的案例中,当更换了沙滩环境之后,模型无法识别出狗,这是由于我们选择了大量草地环境下的狗作为样本,所以模型会认为狗和草地之间存在关联关系,这也是一种虚假关联。

在以上三种方式中,除了因果关系产生的关联关系是靠谱的,其他两种方式产生的关联都不太靠谱。但目前的机器学习领域并没有区分这三种产生关联的方式,其中存在着很多的虚假关联,这就导致了模型的可解释性、稳定性、公平性、可回溯性都存在一定的问题。如果想要从根本上突破当前机器学习的局限性,就需要用一种更严格的统计逻辑,比如使用因果统计去替代原来的关联统计。

f619226007ddfcc3d12552e6e257bb82e10f65.jpg

把因果推理应用到机器学习层面面临着很多挑战,因为因果推理原本研究的范围主要是在统计领域(包括哲学领域),这些领域所面向的环境都是小数据的控制环境,整个数据的产生过程是可控的。比如一个检测疫苗是否有效的行为学实验,我们可以控制哪些人打疫苗,哪些人不打疫苗。但是在机器学习中,数据的产生过程是不可控的。在一个大数据的观测研究中,我们需要考虑大数据的高维、高噪声、弱先验性等因素,数据的产生过程是不可知的,这些对传统的因果推理框架都带来了非常大的挑战。另外,因果推理和机器学习的目标也存在很大的区别:因果推理需要去理解数据的产生机制,而机器学习(包括在互联网领域的很多的应用)主要是去预知未来到底会发生什么样的变化。

d88a4e41409a5f3ed0a97009da3e10b40b04be.jpg

那么,怎样去弥合因果推理和机器学习之间的鸿沟呢?我们提出了一个因果启发的学习推理和决策评估的一套方法体系。第一个要解决的问题是如何在大规模数据中识别出其中的因果结构。第二个要解决的问题是在有了因果结构后怎样去和机器学习做融合,现在的因果启发的稳定学习模型、公平无偏见的学习模型都是以此为目标。第三个要解决的问题是从预测问题进一步到设计决策机制,怎样利用这些因果结构去帮助我们做决策上的优化,也就是反事实推理和决策优化机制。

因果推理的两个基本范式

结构因果模型

61aac5998cde43703ec9005ded7696b6433a05.jpg

因果推理有两个基本范式。第一种范式是结构因果模型(Structure Causal Model),这个框架的核心是怎样在一个已知的因果图中去做推理。比如怎样去识别其中的任意一个变量,这个变量对另一个变量的影响程度是多少。目前已有较为成熟的判断准则如后门准则(Back Door)、前门准则(Front Door)等去除其中的混淆,通过Do-Calculus方式进行因果估计(Causal Estimation)。目前这种方法面对的核心问题是我们无法在做观测研究时定义因果图,虽然在一些领域(比如考古)可以通过专家知识来定义因果图,但这就又走到了“专家系统”的老路上。总的来说,核心问题还是怎样去发现因果结构。

07906c13201e670ae6f792c17992d8572fb36d.jpg

这里有一个衍生技术是因果发现(Causal Discovery),可以基于条件独立性检测和现有的数据去定义因果图,使用现有的变量去频繁地做条件独立性等一系列的独立性判断来定义因果图,这是一个NP问题,可能会出现组合爆炸的问题。这是结构因果模型应用于大规模数据时所面临的一个瓶颈,最近也有一些研究比如使用可微分因果发现去解决这个问题。

潜在结果框架

第二种范式是潜在结果框架(Potential Outcome Framework),这个框架的核心是不需要知道所有变量的因果结构,而只需要知道其中一个变量对于输出是否有因果影响,对于其他变量之间的影响不在意,但我们需要知道这个变量和输出之间有哪些干扰因素(Confounders),并假设其中所有的干扰因素都已经被观测到。

77f5dfe18460c850fd8026e82e11c515734697.jpg

以上就是一些背景知识和理论方面的介绍。接下来,主要讲一下我们最近的一些思考和尝试,以及如何把这两个范式结合到具体的问题中去。

可微分因果发现以及在推荐系统中的应用

因果发现和问题定义

因果发现的定义是对于给定的一组样本,其中每个样本都由一些变量去表征,我们希望通过一些可观测数据去找到这些变量之间的因果结构。找到的因果图,可以认为是一个图模型,从生成式模型的角度来讲,我们希望找到一个因果图使得它能够按照其中的因果结构去生成这样的一组样本,这组样本的似然性是最高的。

f3d73fb958610e1e7df8923015cccbe07393f0.jpg

这里引入一个叫做Functional Causal Model(FCMs)的概念,所谓的FCM就是,对于某一类变量X,由于因果图是一个有向无环图(DAG),这个变量一定有它的父节点,那它的值一定是由它所有的父节点通过一个函数的作用再加上噪声来生成的。比如在线性框架下,这个问题就变成:怎样找到一组W,使得X的重构是最优的。有向无环图的优化一直是一个开放性问题,2018年的一篇论文[1]提出来了一个优化方法:可以在全空间的有向无环图内去做梯度优化,通过增加DAG限制和稀疏限制(l1或l2正则),使得最终X的重构误差最小。

33f76915218dc2b4867099acbae194c1fc5b71.jpg

349efc3748ef3e2927d230ffee99907c62396b.jpg

我们在具体实施这个框架时发现了一些问题,这个框架的基本假设是所有变量的噪声必须是高斯分布,且噪声的规模应该差不多,如果不满足这个假设就会出现一些问题,比方说拥有最小重构误差的结构可能并不是真实值(Ground Truth),这是可微分因果发现方法的一个局限性。我们可以通过施加一个独立性限制去解决这个问题,把独立性判断准则转化为可优化的形式去进行优化。具体的实现细节在这里不再赘述,感兴趣的同学可以阅读论文[2]。

可微分因果发现在推荐系统中的应用

整个推荐系统存在I.I.D(Independent and Identically Distributed, 独立同分布)的假设,也就是说用户和物品的训练集、测试集需要来自同一个分布,但实际上推荐系统中存在各种各样的OOD(Out Of Distribution, 分布外)问题。第一种是自然偏移(Natural Shift),比如基于北京、上海的数据训练得到的模型,在面向重庆的用户时就不一定有效。第二种是由推荐系统机制引起的非自然偏移(Artificial Shift)。我们希望能提出一种比较通用的方式,去抵抗推荐系统中存在的各种OOD问题或者偏差问题的推荐算法。针对这个问题,我们也做了一些研究工作[3]。在OOD推荐系统中存在一个不变性假设——一个人看到了一个商品后是否购买是不会随着环境变化而改变的。因此只要保证用户对物品的偏好不变,就可以使得这样的不变性假设成立,从而给出比较合理的推荐结果,这是解决OOD问题的核心。

76eae3d812906aec06341824409e97f7e2f835.jpg

如何保证用户偏好是不变的?有一个基本共识是,不变性和因果关系是存在某种等价性的转化关系的。如果可以保证一个结构在各种各样的环境下都具有同等的预测效应,那么这个结构一定是一个因果结构,而且一个因果结构在各种环境下的性能都是相对稳定的。因此,找到不变的用户偏好,就转化为一个因果偏好学习的问题。在推荐系统中有一个特殊的结构叫做二部图,我们需要基于这样的特殊结构去设计因果发现的方法。在这个最终学到的模型中,只需要输入用户的表征,就可以知道这个用户会喜欢什么样的物品。

a4d36f766ebfded69661532a482901ffc907e2.jpg

b4845cb6559927fafed921734acfe162626bac.jpg

很显然,这种方法对于提升推荐系统的可解释性、透明性以及稳定性都会一定的好处,我们也和很多的方法进行了对比,可以看到,它都有比较明显的性能提升。

关于OOD泛化和稳定学习的一些思考

OOD问题是机器学习中一个非常基本的问题,之前做的基本上都是基于I.I.D.的假设,虽然迁移学习做了自适应,但因为迁移学习假设测试集是已知的,所以它的主体还是I.I.D.的理论框架。我们从2018年开始在OOD这个方向做了一些研究,首先,OOD的定义是训练集和测试集不是来自同一个分布,如果训练集和测试集来自同一个分布那么就是I.I.D.。OOD又可分为两种情况,如果测试集的分布是已知或部分已知的,就是OOD Adaptation,也就是迁移学习/领域自适应。如果测试集的分布未知,才是真正的OOD泛化问题。这里的“泛化”和机器学习中的“泛化”概念有所不同。机器学习中的“泛化”更多的是在谈内插问题,训练数据内部的插值问题都是“内插”问题,如果要对超出了插值域的X进行预测就是“外插”问题。“外插”是一件比较危险的事情,在什么情况下可以做“外插”呢?如果能够找到其中的不变性(invariance),就可以做“外插”这件事情。以前在做机器学习的时候,都是在做I.I.D.也就是数据拟合,只需要防止过拟合/欠拟合就好了。而现在如果要解决OOD问题,就要找到其中的不变性。找到不变性有两个路径,第一个路径是因果推断,因果关系和不变性之间存在等价性,也就是说只要找到了因果结构就可以保证不变性,实际上因果推断本身就是关于不变性的科学。稳定学习,在某种程度上就是希望模型在做学习和预测时是基于因果推断的。我们发现,通过对样本进行重加权就可以使得所有的变量变得独立,使得一个基于关联的模型变成基于因果的模型,大家如果感兴趣的话,可以去看看相关的论文。第二个路径是从差异性中找到不变性。在统计中有一个概念是异质性,比方说一个狗的分布有两个峰,一个峰是沙滩上的狗,一个峰是草地上的狗,既然这两个峰都代表狗,那么其中一定存在着不变性,不变的那部分就具有OOD泛化能力。数据的异质性是不能被预定义的,我们希望通过数据驱动的方式去找到其中隐含的异质性,在隐含的异质性中找到其中的不变性,而这二者的学习是互相促进的。

c9159700712ce71bb5006692a7f4e973870eaf.jpg

所谓的稳定学习,就是使用一种分布的训练集和多种不同的未知分布的测试集,优化的目标是最小化准确率的方差。也就是说假设有一个训练分布,它内在具有一定的异质性,但没有对它的异质性进行人为的划分,在这种情况下我们希望学出一个能够在各种未知分布下有较好性能表现的模型。我们在去年写了一篇关于OOD泛化的Survery[4],对这个问题做了比较系统的分析,感兴趣的同学可以进行参考。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK