引言

想象一下,你正在使用生成式 AI 工具编辑一张年轻人的照片。你调整“年龄”滑块想让他们看起来老一点。模型成功地添加了皱纹并让头发变白,但奇怪的是,它还给这个人戴上了一副眼镜。你并没有要求加眼镜。你再试一次,结果还是一样。

为什么会发生这种情况?

答案在于虚假相关性 (Spurious Correlations) 。 在许多训练数据集 (如 CelebA) 中,老年人戴眼镜的统计概率比年轻人高。标准的深度学习模型并不理解生物学或光学原理;它只是简单地记忆模式。它学到了“老”和“眼镜”通常是一起出现的,所以当你要求变老时,它把两者都给了你。

这是可控图像编辑 (Controllable Image Editing) 中的一个基本问题。我们希望能够独立修改特定属性 (如年龄、性别或表情) ,而不无意中改变不相关的特征。

在这篇文章中,我们将深入探讨一篇题为 “Visual Representation Learning through Causal Intervention for Controllable Image Editing” 的论文,该论文提出了一种名为 CIDiffuser 的新颖框架。这种方法弥合了 因果推断 (Causal Inference) ——研究原因和结果的学科——与 扩散模型 (Diffusion Models) ——当前图像生成领域的最新技术——之间的鸿沟。

我们将探索作者如何利用结构因果模型 (SCM) 来解耦这些复杂的关系,确保当你编辑“年龄”时,“眼镜”不会凭空出现。

问题所在: 相关性 vs. 因果性

要理解解决方案,我们需要先具象化这个问题。在表征学习领域,我们试图将图像映射到一组描述其内容的潜变量 (表征) 。

理想情况下,这些变量应该是独立的。“年龄”变量不应与“眼镜”变量发生交互。然而,现实世界的数据是混乱的。

Figure 1.(a) Example of Spurious correlations in the CelebA dataset: Editing “age” may incorrectly influence “glasses". (b) Calculation of the DCE. By comparing the difference between the factual observation scenario and the counterfactual intervention scenario, the influence of confounders U_ij can be effectively excluded.

如上图 Figure 1 (a) 所示,存在一个“混杂因子 (Confounder) ” (由 \(U_{12}\) 或 \(U_{34}\) 表示) 。这是数据集中的一种潜在偏差。

  • 事实: 在数据集中,老年人经常戴眼镜。
  • 结果: 模型学习到了一种虚假相关性 (虚线所示) 。
  • 后果: 当你执行编辑操作时 (如图 1.a.2 中的红框所示) ,模型会产生幻觉添加眼镜,因为它错误地认为眼镜是由年龄导致的。

现有的方法如 VAE (变分自编码器) 或 GAN (生成对抗网络) 通常在此失效,因为它们专注于拟合数据分布,而这其中包含了这些偏差。虽然最近的扩散模型能生成漂亮的图像,但如果底层表征没有经过精心构建,它们也容易出现这些纠缠问题。

解决方案: CIDiffuser 框架

研究人员提出了 CIDiffuser , 这是一个将扩散模型的图像质量与因果推断的逻辑相结合的框架。

其高层架构如下所示。看起来可能很复杂,但我们将一步步拆解它。

Figure 2. The framework of our CIDiffuser. The framework first encodes the input image x_0 to high-level semantic representations by a semantic encoder; Then, the direct causal effect learning module processes the semantic representations and labels to infer the causal effect matrix A; Next, the learned A is incorporated with the structural causal model (SCM) to transform these semantic representations into high-quality causal representations.

该流程主要分为三个阶段:

  1. 因果建模 (Causal Modeling) : 将图像编码为“语义” (有意义的) 和“随机” (随机的) 两部分。
  2. 直接因果效应学习 (Direct Causal Effect Learning) : 使用因果干预来学习属性之间是如何真正相互影响的,忽略数据集偏差。
  3. 因果表征扩散 (Causal Representation-Diffusion) : 使用清理后的表征生成最终图像。

1. 分解图像

图像中的并非所有内容都是高层属性。鼻子的形状是语义属性;皮肤纹理的特定颗粒感可能是随机噪声。

CIDiffuser 首先将输入图像 \(x_0\) 分解为两个不同的表征:

  • 高层语义表征 (\(\varepsilon_{semantic}\)) : 这些编码了我们关心的核心属性 (年龄、性别、微笑) 。
  • 低层随机表征 (\(x_T\)) : 这些编码了纹理、噪声和非结构化的细节。

这种分离使得模型能够在不破坏逼真“外观” (随机细节) 的情况下操纵图像的“逻辑” (语义) 。

2. 结构因果模型 (SCM)

一旦我们有了语义表征,我们不能直接使用它,否则会掉回相关性的陷阱。我们需要对其进行结构化。

作者采用了一个 结构因果模型 (Structural Causal Model, SCM) 。 在 SCM 中,变量是图中的节点,边代表因果链接。如果节点 \(A\) 指向节点 \(B\),那么 \(A\) 导致 \(B\)。

该模型学习一组函数 \(F\) 和一个因果邻接矩阵 \(\mathbf{A}\)。矩阵 \(\mathbf{A}\) 告诉我们属性间因果关系的强度。例如,如果 \(A_{ij} = 0\),则属性 \(i\) 和属性 \(j\) 之间没有因果联系。

为了使其在数学上稳健,作者使用非线性函数定义了潜在噪声项与因果表征 \(z_i\) 之间的关系:

Equation for the nonlinear function f(z_i)

这里,\(f(\cdot)\) 是一个分段线性函数,将原始潜变量转换为具有因果结构的变量。这种非线性至关重要,因为现实世界的因果关系很少是简单的直线。

3. 直接因果效应学习 (DCEL)

这是论文的核心创新点。我们如何教模型忽略“老年人通常戴眼镜”这一事实,并学习到“年龄不会导致戴眼镜”?

我们使用 因果干预 (Causal Intervention) , 通常被称为 Judea Pearl 的 do 算子 (do-operator)

“Do” 算子

标准的概率问题会问: “已知我看到某人很老,他们戴眼镜的概率是多少?” (\(P(Glasses | Age)\)) 。这包含了所有的主要数据集偏差。

因果干预则问: “如果我强制让这个人变老 (干预) ,他们戴眼镜的概率是多少?” (\(P(Glasses | do(Age))\)) 。通过强制设定数值,我们切断了与混杂历史的联系。

作者使用 直接因果效应 (Direct Causal Effect, DCE) 来量化这一点。DCE 衡量的是当我们干预一个变量时与不干预时结果的差异,同时保持混杂因素不变。

Equation 1: Direct Causal Effect (DCE) Calculation

在这个方程中:

  • \(\hat{Y}_{y_i}^j\) 是当属性 \(i\) 被设定为其观测值时的预测结果。
  • \(\hat{Y}_{\bar{y}_i}^j\) 是当属性 \(i\) 被干预时 (设定为不同的值 \(\bar{y}_i\)) 的预测结果。
  • 这两者之间的差异隔离出了 直接效应 , 剥离了混杂偏差 \(U_{ij}\)。

因果损失函数

为了训练模型遵守这些因果规则,研究人员设计了一个特定的损失函数。他们训练一个分类器 \(C_{ij}\) 来预测属性关系。

Equation 2: Causal Effect Loss function

第一项 (BCE) 确保模型能准确预测关系。第二项 (被减去的项) 确保如果我们翻转原因 (干预) ,结果会发生变化。这确保了学习到的因果链接 \(A_{ij}\) 不为零。

处理数据不平衡

还有一个障碍: 类别不平衡 。 在 CelebA 中,“不胖”的人比“胖”的人多得多。这种不平衡会歪曲因果估计。

为了解决这个问题,作者使用 影响函数 (Influence Functions) 和类别重加权升级了他们的损失函数。

Equation 4: Imbalance-aware Causal Effect Loss

  • \(\gamma_k\) 是一个重加权项,赋予稀有类别更高的重要性。
  • 分母 \(IB_{ij}\) (影响平衡) 衡量训练样本对分类器的影响程度,防止简单的多数类样本主导训练。

4. 基于扩散的解码

现在我们有了一个干净的、因果解耦的表征 \(z_{causal}\)。我们如何把它变回图像?

这正是 扩散模型 大显身手的地方。之前的因果工作通常使用 VAE,由于信息瓶颈容易产生模糊的图像,而扩散模型通过迭代去噪产生清晰、高保真的结果。

CIDiffuser 使用 去噪扩散隐式模型 (DDIM) 。 它接收随机表征 \(x_T\),并以我们干净的因果表征 \(z_{causal}\) 为条件,逐步去除噪声。

逆向扩散过程 (生成图像) 定义为:

Equation for the generative process p_theta

具体的去噪步骤由下式控制:

Equation 9: The denoising step definition

这里,\(\epsilon_{\theta}\) 是一个 U-Net,用于预测每一步要去除的噪声。关键在于,这个 U-Net 通过 自适应组归一化 (AdaGN) 层由 \(z_{causal}\) 进行引导。这将因果信息融合到了图像生成的每一个细节层次中。

总学习目标

该模型是端到端训练的。总损失函数结合了标准扩散损失 (ELBO) 、确保属性预测正确的监督损失,以及我们前面讨论的因果不平衡损失。

Equation 10: Evidence Lower Bound (ELBO) for CIDiffuser

Equation 12: Total Loss Function combining diffusion, supervised, and causal terms

这个组合损失同时确保了三件事:

  1. 高保真度: 图像看起来真实 (\(\mathcal{L}_{diff}\)) 。
  2. 语义正确性: 属性与标签匹配 (\(\mathcal{L}_{s}\)) 。
  3. 因果独立性: 属性被解耦且没有虚假相关性 (\(\mathcal{L}_{d}^{imb}\)) 。

实验与结果

这个复杂的架构真的有效吗?作者在两个数据集上测试了 CIDiffuser: CelebA (人脸) 和 Pendulum (合成物理数据集) 。

定性结果: 视觉测试

让我们看看 CelebA 上的编辑结果。这里的目标是改变一个属性而不破坏其他属性。

Figure 3. Comparison results on the CelebA dataset. The red boxes highlight phenomena observed in certain methods that are influenced by spurious correlations.

Figure 3 中,看看 “DiffAE” 这一列 (一个没有因果推理的标准扩散自编码器) 。

  • 当编辑“年龄 (Age) ”时 (第 1 行) ,DiffAE 添加了眼镜 (红框) 。虚假相关性再次出现。
  • 当编辑“性别 (Gender) ”时 (第 2 行) ,其他方法难以保持身份特征或引入了伪影。

现在看看 “CIDiffuser” 列 (最右侧) 。当编辑年龄时,人变老了,但 没有出现眼镜 。 因果干预成功打破了这种联系。编辑干净且精确。

Pendulum 数据集上的结果同样说明问题。这个数据集涉及投射阴影的钟摆。阴影的位置 必须 由光源位置和钟摆角度引起。

Figure 4. Performance comparison on the Pendulum dataset.

Figure 4 中,你可以看到其他方法 (如 DEAR) 在光源移动时往往无法正确移动阴影 (绿色/蓝色圆圈) ,或者使图像变模糊。CIDiffuser 保持了场景的物理规律,因为它学习到了机制的因果图。

定量结果: 指标

作者使用了几个指标来衡量成功:

  • TAD (Total AUROC Difference): 解耦指标。越高越好。
  • FID (Fréchet Inception Distance): 图像真实感指标。越低越好。

Table 1. Performance comparison on latent representations quality across datasets.

Table 1 中,查看 CelebA-smileCelebA-age 列,CIDiffuser 获得了最高的 MIC 和 TIC 分数 (信息捕获的度量) ,显著优于纯生成模型如 DiffAE 和纯因果模型如 CFI-VAE。

此外,让我们看看表征质量与维度之间的权衡。

Figure 5. Performance comparison. Left: Results of representation quality. Right: Analysis of different causal representation dimensions.

Figure 5 右侧的图表很有趣。它显示随着因果表征维度的增加 (x轴) ,解耦性能 (TAD,蓝线) 在一定点 (大约 64 维) 之前会提升,之后噪声开始占主导地位。这证实了模型正在学习视觉世界的一种紧凑、有意义的表征。

结论

CIDiffuser 论文代表了使 AI 工具更可靠、更可控的重要一步。通过拒绝接受“相关性”即“因果性”,该模型克服了训练数据中固有的偏差。

以下是关键要点:

  1. 分解: 将图像拆分为语义和随机部分,允许在不丢失纹理细节的情况下进行精确编辑。
  2. 因果干预: 在训练期间使用“do 算子”使模型能够遗忘数据集偏差 (如“老 = 眼镜”) 。
  3. 扩散能力: 将此因果框架与扩散模型集成,确保最终输出如照片般逼真,解决了以前因果 VAE 的模糊问题。

随着生成式 AI 的不断发展,像这样的技术将变得至关重要。我们不仅仅想要能生成 任何 图像的模型;我们想要能生成我们设想的 确切 图像,并尊重现实世界因果逻辑的模型。