CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models

本文主要是介绍CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

这篇论文我觉得最大的贡献是把因果关系、因果模型引入到解耦表征领域,使得解耦的潜变量z具有可解释性;对z加一个的扰动可以反映到VAE网络生成图像的对应物理量上。

贡献:1)我们提出了一个新的框架CausalVAE,支持因果分离和do-operation;2) 给出了模型可辨识性的理论证明;3)我们对合成的和真实的人脸图像进行了综合实验,以证明所学习的因素具有因果语义,并且可以被干预以生成不出现在训练数据中的反事实图像。

实验

以钟摆实验为例说明:
在这里插入图片描述在这里插入图片描述
上左图为训练的钟摆图像,它包含4个因素:1光源位置、2摆钟角度、3影子位置、4影子长度,上右图对应其因果关系图,即1、2为因,3、4为果,那么就希望网络如果调整1、2对应的latent code可以影响到3、4,反之则不行。

看一下实验效果:
在这里插入图片描述
a为CausalVAE,b为ConditionVAE,前4行分别设置1、2、3、4对应的 z i z_i zi,为生成图像,最后一行为输入原始图像。CausalVAE的优势主要体现在后两行,论文也讲ConditionVAE可以看作消融版本。这个效果可能光源太大?看着有点不舒服,不过效果还是有的。

CelebA数据集效果图:
在这里插入图片描述
其对应的因果结构图如下,解读就不解读了,跟上面一样:
在这里插入图片描述

其后对A可视化出来效果,这是CelebA数据集的,颜色由浅到深从0到1,可以看到A的改变过程逐渐接近真实的A(这里可能需要看完全文再回过来再看):
在这里插入图片描述
另外还有两个指标MIC和TIC:
在这里插入图片描述

网络结构图:

在这里插入图片描述
可以看作在VAE的隐变量空间嵌入了因果结构模型,就 ϵ \epsilon ϵ z z z A A A围住的三角形这里,把隐变量解耦再用decoder生成图像。emmm…也不严谨。

causal layer

作者在论文中也讲到,这部分的思想主要就是借鉴Shohei Shimizu, Patrik O Hoyer.A linear non-gaussian acyclic model for causal discovery, 2006.这篇文章,这个模型简称:线性非高斯无环模型(LiNGAM),该模型基于 SEM (Structural Equation Modeling)的因果模型,查阅资料就会发现SEM在金融、管理、社科等领域用的非常多,所以如下图这样的模型很常见,它就是建立各个因素之间的因果关系。
结构因果模型
LiNGAM 对系统的数据生成方式做了线性假设和非高斯独立噪声的假设,并利用独立成分分析(ICA,independent component analysis)进行求解。线性非高斯无环模型要求三个基本的前提条件:

  1. 观测变量之间是存在因果顺序的,后续变量不会导致前序变量;这些变量可以用一个DAG(有向无环图)表示。
  2. 变量间的因果关系是线性的,可以用如下公式描述: x i = ∑ k ( j ) < k ( i ) b i , j x j + e i + c i x_i = \sum_{k(j)<k(i)} b_{i,j}x_j+e_i+c_i xi=k(j)<k(i)bi,jxj+ei+ci
  3. 扰动项e服从方差非零的非高斯分布,且互相独立。

当然这些是LiNGAM为求解矩阵 B B B的前提条件。上述公式可化简为: X = B X + e X=BX+e X=BX+e z = A T z + e z=A^Tz+e z=ATz+e, 移项合并后 z = ( I − A T ) − 1 ϵ z=(I-A^T)^{-1} \epsilon z=(IAT)1ϵ

ϵ \epsilon ϵ在论文中叫做独立高斯外生因子,它就对应网络结构图中的 ϵ \epsilon ϵ,由编码器生成,causal layer的作用是对 ϵ \epsilon ϵ施加线性变化,即乘 ( I − A T ) − 1 (I-A^T)^{-1} (IAT)1,得到内生变量 z z z

mask layer

这部分作用是:模拟因果图中父节点的影响向子节点传递,同时这是由于这部分存在使得我们可以执行"do-operation"操作,控制图像的生成,以及生成一些counterfactual反事实的图像。

由于无监督的学习方式学出来的因果图不能保证因果图的identifiability可识别性,简单讲就是两个不同的联合分布 p θ ( x , z ) p_\theta(x,z) pθ(x,z), p θ ′ ( x , z ) p_ {\theta'}(x,z) pθ(x,z)但是却对应着同一个边际分布 p ( x ) p(x) p(x), 或者可以理解为相同的观测变量下对应不同的因果图,这肯定不对了。这就identifiability的问题。

因此要引入额外的监督信号 u u u。在论文IVAE中的作法是给潜变量z加条件 p θ ( z ∣ u ) p_\theta(z|u) pθ(zu),u是一个额外观察到的变量,给定条件变量 u ,每个隐变量 z i ⊆ z z_i\subseteq z ziz是条件独立的单变量指数分布族。即下式:在这里插入图片描述

在CausalVAE中u就是label,它是[4,1]size的vector。如论文所述:
“In our work, we use the labels of the concepts. The additional information u is utilized in two ways. Firstly, we propose a conditional prior p(z|u) to regularize the learned posterior of z. This guarantees that the learned model belongs to an identifiable family. Secondly, we also leverage u to learn the causal structure A.”

根据文中mask layer的表达式: z i = g i ( A i ∘ z ; η i ) + ϵ i z_i=g_i(A_i\circ z;\eta_i)+\epsilon_i zi=gi(Aiz;ηi)+ϵi,可以看出这部分跟causal layer有点像,只是把线性变为非线性,作者说效果会更好。代码实现上causal layer层输出的z在这里乘A,之后过一个神经网络拟合的非线性函数 g i g_i gi,再加 ϵ i \epsilon_i ϵi,最后输出 z i z_i zi进decoder还原原图像。但是这个 ϵ i \epsilon_i ϵi好复杂?跟论文好像不一样
在这里插入图片描述
"do-operation"操作是对causal layer层输出z操作,对它的影响会传递到mask layer层输出的z;生成反事实图像是在此基础上再控制mask layer层的z不变。

损失函数方面:

在这里插入图片描述
其中,ELBO如下,从VAE那来的,作者又做了改进并推导了置信下届。保证重构图像和原图尽可能像:
在这里插入图片描述
H ( A ) H(A) H(A)如下,与NOTEARS差不多,保证学出来的A是一个DAG。
在这里插入图片描述
l u l_u lu l m l_m lm是对u和z的约束,和NOTEARS损失函数相似,都是保证A是DAG。
在这里插入图片描述在这里插入图片描述
其实可以发现,CausalVAE的几篇重要参考文献其实都是讲的那么些东西,在前人的基础上做一点改进,大方向是没有变的,他们解决的问题都是:有一堆观测数据𝑋∈ℝ𝑛×𝑑,X∈R,n×d, 如何通过这些数据推测其(特征之间的)关系, 即对应的𝐴,拿到这个𝐴就得到对应的因果关系图。比如DAGs with NO TEARS是把DAG的复杂组合优化问题转化为连续最大化问题,这应该是不小的突破;Masked Gradient-Based Causal Structure Learning这篇又把它拓展到非线性的情况。以及DAGs with NO TEARS、DAG_GNN等都是因果关系图的改进及向其他领域的应用。

更理论的数学推导可能需要看看原文3.3. A Probabilistic Generative Model for CausalVAE和4.learn strategy;其他的帖子如CausalVAE

不足或疑问

我觉得对于每一维隐变量 z i z_i zi真的就能对应到实际的一个物理因素还表示怀疑,尽管作者讲了可以;其次论文中实验 z z z的维度是4,现实中肯定不只4,那多少合适?

参考资料

非时序线性非高斯模型 —— LiNGAM
以因果为先验的解耦表示|生成模型——CausalVAE及其扩展
贝叶斯网络简要概述
反事实推理:Causality 基础概念汇总
DAGs with NO TEARS: Continuous Optimization for Structure Learning
DAG_GNN:一种基于VAE的DAG结构学习架构
有两个博主应该是相关方向,这一系列论文都有介绍:馒头and花卷,学术农工
关于CausalVAE讲得比较理论一点的文章:CausalVAE,以因果为先验的解耦表示|生成模型——CausalVAE及其扩展
论文作者B站讲解视频
codes

文章主要讲我自己对论文的理解以及对读论文时查阅资料的整理,会不断补充和更新,欢迎来信探讨。

这篇关于CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/154182

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具体分析3. 进一步分析 Results1. 概括2. 具体分析2.1 语言模型

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

访问controller404:The origin server did not find a current representation for the target resource

ider build->rebuild project。Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 参考:资料

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

[论文笔记]Making Large Language Models A Better Foundation For Dense Retrieval

引言 今天带来北京智源研究院(BAAI)团队带来的一篇关于如何微调LLM变成密集检索器的论文笔记——Making Large Language Models A Better Foundation For Dense Retrieval。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 密集检索需要学习具有区分性的文本嵌入,以表示查询和文档之间的语义关系。考虑到大语言模