干货!ICLR 2023 | 更稳定高效的因果发现方法-自适应加权

news2024/11/28 14:49:29

点击蓝字

d0da2aecd00b4ffc8019178bb5d11816.jpeg

关注我们

AI TIME欢迎每一位AI爱好者的加入!

b3bd80e64f29796edcd128a3c753a772.png

╱ 个人简介╱

张岸

新加坡国立大学NExT实验室博士后,主要研究Robust & Trustable AI。

个人主页:https://anzhang314.github.io/

01

内容简介

可微分的因果发现方法,是从观测数据中学习候选图,并利用一个提前定义好的平均分数函数,评估所有的候选图,从而学习到目标的有向无换图(DAG)。尽管这类方法在低维线性系统中取得了巨大的成功,但其有两个无法避免的劣势,

其一,大部分因果发现方法需要在严格的模型类型和分布假设下,但由于现实世界中异构数据的广泛存在,常见的同质性假设很容易被违反,当噪声分布变化时,会导致性能下降;其次据观察,这类方法由于使用平均的分数函数,故而过度利用了更容易拟合的样本,因此不可避免地学习了假边。在这篇文章,我们提出了一个简单而有效的模型框架,通过动态学习重加权评分函数(简称ReScore)来提高因果发现性能,其中自适应权重是根据每个样本的重要程度定量地学习的。直观地,我们利用双层优化方案交替训练一个标准DAG学习器和计算样本的权值。具体来讲,通过一个有权重的分数函数,而不是一个平均分数函数来评估候选图,着重提高DAG学习器无法拟合的样本的权重,降低DAG学习器容易从中提取虚假信息的样本的权重。我们在合成数据集和真实数据集上进行了大量实验,充分验证了ReScore的有效性。

同时,我们还观察到ReScore减轻了伪边的影响,从而使结构学习的表现得以持续而显著的提升。最后,我们进行了理论分析,以保证ReScore在线性系统中的结构可识别性和权值自适应特性。

   02

Differentiable Score-based

Causal Discovery

What is Causal Discovery?

Causal Discovery即发现因果关系,就是确定变量之间的因果关系。在这里举一个简单的例子:吸烟会导致肺癌吗?这里的“导致”就在反映一种因果关系。用英文的方式解释:A causes B,即A会因果影响B,对A值的干预会影响B的分布。在真实事例中,这种因果关系是会更复杂的,就不再仅限于二元的形式。

Why we need Causal Discovery?

那我们为什么需要Causal Discovery呢?我们都知道现在的人工智能发展得非常好,而主要思想就是通过从大量的观测数据中拟合深度学习模型,提取数据之间的相关性。但是由相关性做出的预测会存在局限性,具体来讲,收集数据的过程中是无法穷尽所有现实生活中的数据的,并且世界是不断发展的,所以training和testing是一定是会差异的。这种差异,会极大的影响人工智能模型预测的准确性,也即构建在相关性上的深度模型往往缺乏很好的泛化能力。举一个例子,下图中,往往狮子生活在草原中,有绿色背景,而鬣狗生活在非洲,有他们的照片更偏向于黄色背景,背景颜色和动物类型就天然有了一种隐形的相关性。当模型学习到了这种相关关系,并将背景颜色作为区分鬣狗和狮子的一个标准时,再遇到狮子在黄色草原上就会分类错误。一只站在黄色草原上的狮子还是狮子,一群在绿色草原上的鬣狗也只是鬣狗。这说明,有些不稳定的相关性不应该作为模型学习的范式,而稳定的因果关系其实蕴含了本质的内核。人是通过因果关系去认识世界的,这种因果的本质将会极大地帮助模型改善可解释性、泛化性以及鲁棒性。

08c5a3da8da3ff7d0c81912bf0e2419a.png

How to do Causal Discovery?

相关性并不意味着因果关系,但是相关性可以告诉我们很多信息。如果A和B是相关的,那么会存在3种情况:A导致B,B导致A,A和B共享潜在的原因。也就是说只要有相关性,那么他们中间一定是存在因果关系的,而我们的工作就是去挖掘这种因果关系。

4a08d1e54ba0b462dfb45949733b7fa4.png

专家可以通过已有的变量假设一个因果关系图,我们拥有的是大量的观测数据,我们能不能将观测数据与因果图联系起来,通过观测数据得到因果关系图呢?这就需要一定的等价性假设。

169d0f22ce12cc55f6062151d6e7f823.png

基本的假设是,如果图中具有可分离的性质,那么一定暗示着在数据中包含一些条件独立性,这就把图和观测数据联系在了一起。这也自然而然地启发了第一类因果发现方法——基于约束的因果发现,即测试数据中的条件独立性,并找到编码它们的有向无环图(DAG),这种方法在理论上是漂亮的,但是又存在几个弊端:

(1)我们现在想要考察的变量数量非常多,在这种情况下需要做的条件独立性分析也会相应地增长,算力条件往往不允许;

(2)其次,基于约束的因果发现方法找到的是马尔可夫等价类。

另一类方法叫基于分数的因果发现,即在严格的模型类型和变量分布假设下,在平均得分函数上评估候选图,这种方法是我们这篇文章讨论的重点。现今所有的基于分数的因果发现都是采用平均分数的方式,也就是说对每一个观测数据样本计算损失值,然后再取平均值。

56f35081713743e780be004c5d8a7c5b.png

03

ReScore–Reweighted Score Function

DAG learner overly exploits easier-to-fit samples

目前很多的深度学习模型都被应用在基于分数的因果发现之中,但是也存在着很多问题。第一个问题是DAG学习器过度利用了易于拟合的样本,即收集到的观测数据存在着分布不平衡的现象。现实数据中,一定会有一些样本是少量的,非常重要,而另外一些样本是大量的,没有那么重要的,这是很正常的现象。然而基于分数的因果发现方法是通过计算平均值来衡量候选图的,这就会导致偏向学习大量简单的样本而去忽视复杂的含信息量大的样本;第二个问题是数据来自不同的领域,噪声分布会发生变化,具有数据异质性的特点,但是这种特点会使基于分数的因果发现中的基本假设不成立,就无法确定找到的DAG是否是目标。

Differentiable Causal Discovery Methods & Limitations

我们回到现在已有的因果发现方法来简单地总结一下,早期是传统的不适用深度学习的基于分数的方法和基于约束的因果发现方法的天下,2018年以来,可微分的基于分数的因果发现方法有了新的发展,提出了第一个和深度学习网络相结合的NOTEARS。针对数据异质性的问题,近些年,研究者们提出了各式各样的多领域因果发现方法。但是这四类方法都有一定的局限性,前三类方法都依赖于数据同质性的假设,这在现实世界中很容易违反;而第四类现有的多领域方法需要显示的域标签,这通常是很难获取的信息。

6198bd13e53bfe036105d690f9098dc1.png

Reweighted Score function (ReScore)

可微分的基于分数的因果发现问题可以数学表示为如下图所示的形式:

7738b6ff9083aff423e5f8710a081b04.png

如果假设我们和上帝一样,已知样本的重要性,那么就可以将目标函数自然而然地改写成如下图所示:

2b87747c8cfbd8b0d1007d24cac9eae1.png

就能更好地得到损失估计。但事实上weights是不天然存在的,那我们如何估计样本对于某一DAG学习器的重要程度呢?

我们可以用复杂样本挖掘的启发式方法去学习样本的权重!DAG学习器是容易陷于易拟合的样本之中的,不可避免地会学习到虚假边缘,这就说明相对不那么容易拟合的样本是更重要的,所以我们认为损失值越大的样本往往更重要,需要匹配一个相对更大的权重。而在每次迭代中动态的分配权重,可以动态的估计样本的重要性,将不容易拟合样本的影响扩大。基于此,我们提出了双层优化的结构学习模型和自适应加权模型,数学表达式如下图所示:

510a22abfb58a45b638c186f8fd9e8ba.png

但是,在优化和推理的过程中,还需要将约束的自适应权值限制在一定的阈值内,数学表示如下:

9c4f4e71eea4e4f81221bc444526b6a5.png

具体的算法过程如下图所示。算法过程分为两个部分,在外循环中,更新DAG学习器,修正加权模型;在内循环中,更新加权模型,固定DAG学习器。

79bd1dbdeee2a250a75ca96516b5819e.png

Theoretical Properties of ReScore

我们也证明了一些Rescore的理论性质,第一点是可识别性。如果可微分的基于分数的因果发现方法具有可识别的性质,那么Rescore方法是可以继承这种性质的。

c23dca3482116c71bee56e66c77203b0.png

第二点是自适应权重的Oracle属性,ReScore不是平等对待所有样本,而是倾向于提高困难但信息丰富的样本的重要性,同时降低对更容易拟合样本的依赖。

5923a708721291122136ca9b46dba031.png

Empirical Results of ReScore

Sachs是一个常用的因果发现的真实数据集,包含9个domain,第一行的Avg ranking是通过ReScore方法计算出来的,ReScore认为Index 0中的样本最复杂,是最重要的一组,Index 3是最简单的一组样本。我们通过SHD和TPR的方法来验证难样本的重要性。我们从这9组数据中随机地去除掉500个相应group下的样本,比如对于第一列index 3的数据,我们去除index 3中随机的500个数据,然后再剩余的数据中用NOTEARS得到预测的DAG的准确性。如果去掉的这500个数据是重要的,那往往,准确性会极大的下降。我们发现,性能的下降程度和ReScore判断的样本重要程度是成正比的,也即Index 0的性能是明显下降的,这就证明了真实数据中确实存在一些非常重要的样本,而且ReScore判断的样本重要性是有一定科学性的。

29ca6088e3ff3b236e9110bc5055481f.png

在下面的实验中,我们在原有的SOTA方法中加入ReScore,性能上都有一定的提升,这就说明ReScore方法学习到的自适应权重是样本重要性最真实的反映。

147e5408a798ef2a45f7305951b31395.png

为了评估ReScore是否可以通过自动识别和增加信息样本的权重来处理异构数据而不需要组注释,我们将baseline+ReScore与CD-NOD和DICD进行了比较,这两种SOTA因果发现方法依赖于域注释并且是专门为异构数据开发的。此外,还考虑了一种称为基线+IPS的非自适应重新加权方法,其中样本权重与域大小成反比。具体来说,我们将整个观察分为两个子域。显然,来自弱势域的单个样本无疑比来自优势域的样本提供更多信息,从而更为重要,因为它提供了额外的洞察力来描述因果关系。

8001ff84502167d56f1b953cf55c18f7.png

如下图所示,红色和蓝色代表了来自不同的域,不同颜色的点在训练开始时混合在一起。经过内循环和外循环的多次迭代训练,所有数据都显示出明显的积极趋势,即代表性不足的样本倾向于学习更大的权重,同时与具有相同适应度的蓝点相比,来自弱势群体的红点逐渐被识别和挑选出来并分配给相对较大的权重。这充分说明了ReScore的有效性,也解释了其在处理异构数据时的性能提升。这些结果验证了定理2中自适应权重的性质。

061d5d390c1d13a4ae82daa231f5f5dd.png

整理:陈研

审核:张岸

点击“阅读原文”跳转到55:10可以查看回放哦!

往期精彩文章推荐

ef2395285a14fc3143eba0cef93b216a.jpeg

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了1000多位海内外讲者,举办了逾500场活动,超500万人次观看。

8bff2621d1a89a7db179d1d0f619b68f.png

我知道你

在看

~

9e21205b6ba59691626effe579499a98.gif

点击 阅读原文 查看回放!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址:https://download.csdn.net/download/qq_50954361/87734930 更多系统资源库…

365天深度学习打卡第N1周:Pytorch文本分类入门

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 一、背景介绍 本节是一个使用PyTorch实现的简单文本分类实战案例。在这个例子中,我们将使用AG News数据集进行文本分类。 AG Ne…

MIPS整数指令实现浮点运算

OVERVIEW 实现上,我采用了空间换时间和实现复杂度的这么一个tradeoff。把每个部分都用一个word来存,这样读取就只要lw就行了,如果到bit级别的话,可能跨越多个byte或者word,那么 我就需要到内存或者cache里面读取更多次…

零售行业如何进行活动前的准备工作

新钛云服已累计为您分享743篇技术干货 背景 零售行业通常会面临618、双十一、周年庆等活动。在面对这些重要的活动通常会担心资源是否需要扩容?应用能否抗住大并发的请求? 本人曾面对过几千大并发请求和客户这边搞活动出现问题的经验教训。希望能通过这些…

安装多个NodeJS windows上安装多个Nodejs版本 解决vue2/vue3同时运行

第一步下载nvm-windowsnvm-windows 下载地址:Github最新下载地址 进入之后直接下载 第二步 安装NVM 注意路径一定不要包含空格 中文否则会报错 点击安装之后 如果之前安装了nodejs的话会提示 希望nvm管理已安装node 版本吗 点击 是 即可 安装完成后 打开 cmd 输入 n…

FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(五)

如表1所示是dds_ip_transform模块信号列表,在正弦波模块中我们需要把上游指令解析模块中发来的频率控制字和指示信号即dds_din_freq和dds_din_freq_vld、相位控制字和指示信号即dds_din_phase和dds_din_phase_vld、复位信号即ddsip_sclr写入到DDS IP核中&#xff0c…

【数据库】增删改查(进阶)

目录 1、数据库的约束类型 1.1、not noll约束 1.2、unique(唯一性约束) 1.3、default默认值约束 1.4、primary key(主键约束) 1.4.1、自增主键(关键字auto_increment) 1.5、foreign key (外…

2023-Hive必备详细教程

Hive涉及的知识点如下图所示,本文将逐一讲解: 一. Hive概览 1.1 hive的简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务…

【 Spark编程基础 】实验3

准备工作 启动Hadoop集群 & Spark • 启动Hadoop集群start-all.sh • 启动Sparkcd /usr/local/spark/spark-2.3.3-bin-hadoop2.6/# ./sbin/start-all.sh 实验数据说明。 • 数据为1970年到2016年,每年各球队的球员比赛数据统计,数据文件的格式如图1所…

数据治理-数据质量篇

1、什么是数据质量 按照国际数据管理协会的《数据管理知识手册》中规定,数据质量(DQ)是“既指与数据有关的特征,也指用于衡量或改进数据质量的过程。”但要深入理解数据质量,需要切分不同层次或维度。 数据无处不在。…

一种用于地灾边坡大坝安全深度位移监测测斜仪

1用途 固定测斜仪广泛适用于测量土石坝、面板坝、岩土边坡、路堤、基坑、岩石边坡等结构物的水平位移、垂直沉降及滑坡,固定测斜仪配合测斜管可反复使用,并方便实现测量数据的自动采集。 固定测斜仪采用的是耐冲击型倾斜传感器,可靠性好&am…

【可解释AI】图神经网络的可解释性方法及GNNexplainer代码示例

图神经网络的可解释性方法及GNNexplainer代码示例 GNNExplainerIntroductionModelSingle-instance explanations(Explanation via Structural Information)Joint learning of graph structural and node feature information(Explanation via…

Linux常用命令——ip6tables命令

在线Linux命令查询工具 ip6tables linux中防火墙软件 补充说明 ip6tables命令和iptables一样&#xff0c;都是linux中防火墙软件&#xff0c;不同的是ip6tables采用的TCP/ip协议为IPv6。 语法 ip6tables(选项)选项 -t<表>&#xff1a;指定要操纵的表&#xff1b; …

Code area 和Data area的区别

Code Area FLASH &#xff1a;程序在这个flash运行时&#xff0c;几乎没有延时&#xff0c; 运行速度以时钟设置为准。 Data Area FLASH&#xff1a; 程序在这段flash运行时&#xff0c;每条语句都有延时&#xff0c; 最后的速度可能是以10M为时钟&#xff08;举例&#xff09;…

webpack4和webpack5有什么区别

webpack4和webpack5有什么区别 前言一、比较二、使用步骤1.5缓存使用方法和构建速度对比2.资源模块处理3.Webpack 5 支持在请求中处理协议。4.tree-shaking。 前言 Webpack4和Webpack5是两个版本的Webpack&#xff0c;其中Webpack5是Webpack的最新版本。 一、比较 性能&#…

一、Go语言初识

在日新月异的技术进步中,我们程序设计在不断的优化,程序的编译速度,程序的设计速度,程序的可读性等都在不断的提升。在这样的时代背景下,一些技术的先驱,技术的头部公司在不断的探索,GO语言就是在这样的环境中被设计开发的。 我们技术团队也在不断的学习,不断的进步,…

golang入门记录

参考&#xff1a; https://www.runoob.com/go/go-tutorial.html https://zhuanlan.zhihu.com/p/63310903 下载安装包&#xff1a; windows:https://dl.google.com/go/go1.20.2.windows-amd64.msi 对基础设施&#xff0c;包括跨操作系统、网络、多线程&#xff0c;web、cli都比…

OpenCV EigenFaceRecognizer 人脸识别

目录 一、人脸检测vs人脸识别 二、数据库 三、准备需要识别的人脸 四、人脸识别(OpenCV) 一、人脸检测vs人脸识别 人脸检测只是需要检测图像中是否有人脸&#xff0c;而人脸识别是一个程序能够识别出给定图像或者视频中的人脸。 二、数据库 人脸数据库&#xff0c;这个博客…

大数据之Hadoop分布式数据仓库HBase

目录&#xff1a; 一、Hadoop的局限二、HBase简介三、HBase Table四、数据的读写流程简述五、HBase Java API 1.0 的基本使用六、HBase Java API 2.0 的基本使用七、正确连接Hbase八、Hbase 常用 Shell 命令九、Hbase容灾与备份十、引入Phoenix core JAR包&#xff08;HBase中间…

好用免费的电脑摄像头录视频软件分享!

案例&#xff1a;如何录制电脑的摄像头&#xff1f; 【这周我需要开一个视频会议&#xff0c;会议十分重要&#xff0c;我希望把它录制下来。有没有小伙伴知道&#xff0c;电脑摄像头如何录制&#xff1f;求一个可以快速上手的方法&#xff01;】 在现如今的数字化时代&#…