Sanity Checking Causal Representation Learning on a Simple Real-World System
这篇论文造了一座真实、可控、又非常简单的光学装置:研究者亲手设定红绿蓝灯光与两片偏振片的位置,再让 CRL 方法从相机和传感器观测中恢复这五个 causal factors。 结果不是一句笼统的“现实数据很难”,而是三种不同的失败: Contrastive CRL 在 deterministic synthetic replacement 上基本能工作,换回真实 noisy mixing 后崩掉; Multiview CRL 和 CITRIS 在 synthetic replacement 上也没有恢复因素,失败不能只怪现实噪声; 原始图像里确实有足够 factor information,因为一个 supervised model 可以高精度读出来,但这不等于无监督表示已恢复 causal factors。 论文真正提出的标准是: 在把 learned representation 称为 causal artifact 之前,先用已知 ground truth、真实 interventions 与一个本应能通过的 sanity check 检…
先拆掉最容易产生的误会
误会一:论文证明了“CRL 不可能”
没有。论文只测试了三个代表性方法:
- Contrastive CRL;
- Multiview CRL;
- CITRIS。
方法选择还受到 public / usable code availability 的影响。结论是这些实现与假设在这个 benchmark 上没有达到各自 recovery goal,不是所有现在与未来 CRL 方法的不可能性定理。
误会二:五个 control inputs 都是“自然发现”的 causal ground truth
五个因素 \(R,G,B,\theta_1,\theta_2\) 是 experimenter-controlled inputs,物理上先于相机和传感器输出,所以 factor identity 与 factor values 有非常强的 intervention-backed ground truth。
但这些因素之间的 latent causal graph 是研究者为每个方法按其假设人工采样出来的。论文自己强调:当前装置主要测试 real-world mixing function assumptions,不能据此验证“现实 latent causal structure 本来就是某种 SCM”这一更宽主张。
误会三:supervised decoder 的高 \(R^2\) 证明 CRL 成功
恰好相反。supervised decoder 是用 factor labels 训练的 sanity check,只证明信息存在于 images:
- CCRL / Multiview dataset:\(R^2=0.976\);
- CITRIS dataset:\(R^2=0.914\)。
CRL 的问题是没有这些 labels 时能否按其理论目标恢复因素。可监督解码、无监督 recovery、representation 的 causal use,是三种不同证据。
误会四:从 learned latent 能预测 factor,就证明它被模型因果使用
不证明。MCC、nonlinear \(R^2\) 与 Spearman correlation 检查 factor 是否可从 learned latent 解码;SHD 检查 estimated latent graph 是否匹配人工 ground-truth graph。
本文没有把某个 learned latent 在一个 downstream decision model 中进行 intervention,再验证行为是否按该 factor 改变。因此它主要评估recovery / decodability,不是 representation 在另一个系统中的 causal-use evidence。
先给一个客观判决
| 证据层级 | 本文真正提供的证据 | 不能升级成什么 |
|---|---|---|
| Causal ground truth | 五个 control inputs 被实验者设置,并物理生成 images / sensors;interventional environments 已知 | 自然世界 latent causal graph 被发现 |
| Information availability | supervised predictor 从 images 高精度预测五个 factors | 无监督 CRL 已经恢复 factors |
| Representation decodability | MCC、nonlinear \(R^2\)、Spearman 衡量 factor 能否从 learned latents 读出 | learned latent 在模型行为中被因果使用 |
| Graph recovery | CCRL 用 SHD 比较 estimated 与 designed latent graph | graph 对现实物理机制有普遍真实性 |
| Causal use of representation | 本文没有单独做 learned-latent behavior intervention | 不能从 recovery score 自动补出 |
客观结论是:
这是一个强有力的 negative sanity check 与 failure-localization study;它证明现有代表性 pipelines 比理论成功条件脆弱得多,但没有证明 CRL 理论无效,也没有唯一定位每个失败的根因。
一个直观世界
把 light tunnel 想成一台透明的“五旋钮相机”:
| 旋钮 | 控制对象 |
|---|---|
| \(R\) | 红色 LED brightness |
| \(G\) | 绿色 LED brightness |
| \(B\) | 蓝色 LED brightness |
| \(\theta_1\) | 第一片线性偏振片位置 |
| \(\theta_2\) | 第二片线性偏振片位置 |
每设置一次旋钮,装置产生:
- 一张 camera image;
- 三个位置的 infrared / visible light measurements;
- light source current;
- 两个 noisy angle measurements。
现在遮住五个旋钮标签,只把 outputs 给 CRL method。方法应该学出五个 latent dimensions,至少能按理论允许的 permutation、scaling 或 invertible block 对回这些因素。
一个普通 autoencoder 可能只学:
- overall brightness;
- dominant color;
- image ring texture。
这些 features 可能很适合 reconstruction,却不一定把 \(\theta_1\) 与 \(\theta_2\) 分开。sanity check 的价值就是不再让“图像重建得像”替代“causal factor 被恢复”。
真实问题与实验设定
真实物理 mixing process
装置的理想光学关系包含 Malus’ law:
但真实 mixing 并不只是这个干净公式:
- light source 以 2KHz switching,和 camera / photodiodes 复杂交互;
- sensors 有 measurement noise;
- noise strength 随 polarizer positions 改变;
- camera 有 saturation、chromatic aberration、frame reflections 与 onboard processing;
- stochasticity 不是简单 additive observation noise。
论文还指出,不同 inputs 总产生不同 images;问题不是完全 information loss,而是现实 mixing 破坏了部分方法依赖的函数形状。
Synthetic ablation
作者保持同一组 \(R,G,B,\theta_1,\theta_2\) 与 latent sampling process,只把真实 tunnel outputs 替换成 deterministic simulators:
- sensor measurements 用 first-principles / datasheet-based mechanistic equations;
- images 用一个简单 MLP decoder 生成;
- image decoder 在另外 108,900 张 images 上训练;
- synthetic sensor 对 real measurements 的 \(R^2\) 约为 0.86–1.00,视 sensor 而定。
这不是为了制造更“真实”的 simulator,而是负对照:
如果方法连满足其 mixing assumptions 的 deterministic replacement 都失败,就不能把失败全归因于 real-world stochasticity。
三个 method-specific tasks
1. Contrastive CRL
假设:
- latent factors 服从 linear SCM + additive Gaussian noise;
- nonlinear mixing deterministic;
- 每个 causal variable 有 single-node intervention environment。
数据:
- observational environment 1 个;
- 5 个 single-target intervention environments;
- 每个 environment 10,000 observations;
- 总计 60,000 images;
- train / validation / test 为 80 / 10 / 10;
- 目标同时恢复 factor values 与 latent causal graph。
2. Multiview CRL
四个 views:
- image,依赖全部五个 factors;
- current + first two light sensors,依赖 \(R,G,B\);
- first angle sensor,依赖 \(\theta_1\);
- second angle sensor,依赖 \(\theta_2\)。
方法目标是从一组 views 恢复它们共同依赖的 content block,并排除只属于某个 view 的 style block。作者把 60,000 observations pooled 使用,并在训练时给了 ground-truth content selection,而不是要求模型自己发现 selection。
3. CITRIS
latent factors 按 first-order stationary dynamic Bayesian network 演化;每步:
- 以 0.3 probability 不 intervention;
- 否则随机选择五个 factors 之一并设置到其 valid range 的随机值;
- intervention target one-hot vector 对方法可见。
数据是一条 100,000-step sequence:
- 80,000 train;
- 10,000 validation;
- 10,000 test;
- 另有 1,000 independent-factor samples 用于最终 correlation metrics。
作者使用 CITRIS-VAE,不使用 original paper 的 triplet validation loss,因为它在 training/model selection 中需要 ground-truth factors;他们改用 training loss。
方法或任务流程
整篇 benchmark 可以还原成六步。
第一步:先规定每个方法声称能识别什么
- CCRL:五个 factors up to permutation / elementwise scaling,并恢复 graph;
- Multiview:每组 views 的 shared content block up to invertible transform,同时丢弃 style information;
- CITRIS:把 learned latent groups 对齐到 temporal causal factors。
如果不先写这个目标,“representation 看起来不错”就没有可证伪标准。
第二步:按方法假设生成 factor process
作者不让三个 methods 共用一个不公平的 latent process,而是分别满足它们的:
- linear SCM / interventions;
- multiview shared-block conditions;
- temporal intervention process。
这使 benchmark 更像“你在自己宣称的适用区内能否工作”。
第三步:对同一 factor values 生成 real 与 synthetic observations
real/synthetic pair 把 latent process 固定,把 mixing function realism 作为主要变化。
第四步:尽量复用原实现
作者:
- 复用公开或作者提供的 implementations;
- 在原 synthetic setting 上做 preliminary checks;
- 与原方法作者沟通;
- 对 architecture / training 做必要调整;
- 为所有 methods 做较大 hyperparameter search;
- 检查 loss 是否非递减 / training divergence。
总实验约需 100 A100 GPU hours。
第五步:按各方法自己的 recovery criterion 评估
CCRL 的 MCC:
其中 \(C\) 是 true factors 与 learned latents 的 Pearson correlation matrix。
CCRL 的 SHD:
Multiview 与 CITRIS 则用 nonlinear \(R^2\) / Spearman matrices 检查 expected content / assigned latent groups 是否可预测 ground-truth factors。
第六步:用 supervised model 排除“原图像根本没信息”
在 5,000 labeled images 上训练 small MLP,500 held-out samples 上测试。如果连 supervised model 也失败,CRL failure 可能只是 observation information 不足。
结果高 \(R^2\) 说明 factors 留下 detectable trace;但 supervised labels 改变了 learning problem,所以它只是排除一个替代解释,不是与 unsupervised CRL 的公平 leaderboard comparison。
自己走一遍最小例子
先看光学 shortcut
固定 \(R,G,B\),只改变 polarizers。
当:
理想透光因子是:
当:
因子变成:
只学 overall brightness 的 encoder 可以区分这两张图,却仍不知道亮度变化来自:
- \(R,G,B\) 变小;
- \(\theta_1-\theta_2\) 变大;
- sensor / camera noise。
“能重建 brightness”因此不是“恢复五个 causal factors”。
再手算一个 MCC
假设真实 factors 是:
learned representation 完美编码前三个颜色,却完全没编码两个 angles。经过最佳 permutation 后,绝对 correlation matrix 的最佳 diagonal 是:
于是:
这个 representation 可能对颜色分类很好,甚至能重建大部分像素,但仍没有达到 full factor recovery。
真实 benchmark 更严格:angle information 并非完全不存在。raw images 上的 supervised \(R^2\) 很高,angle sensors 也近似线性记录 \(\theta_1,\theta_2\)。所以 methods 不能只用“图像里没有角度信息”解释失败。
关键结果与证据层级
结果一:CCRL 暴露出真实 mixing sensitivity
五次 random initializations 的 Figure 3:
| 数据 | MCC ↑ | SHD ↓ |
|---|---|---|
| Real tunnel | \(0.285\pm0.054\) | \(7.600\pm0.894\) |
| Deterministic synthetic ablation | \(0.891\pm0.005\) | \(2.000\pm0.000\) |
同一 latent process 下,只替换 mixing surface,结果从 reasonably good 降为几乎无 meaningful recovery。这是本文最干净的 failure localization:CCRL 对 real stochastic / non-additive mixing 高度敏感。
仍要保留一个替代解释:authors 推测 CCRL 需要在 latent space 检测 intervention,noisy mixing 可能降低 statistical power;论文没有把这个 mechanism 唯一证明。
结果二:Multiview CRL 没有把 content 与 style 清楚分开
Figure 5 显示:
- content variables 通常比 style variables 更易预测;
- 但差距往往不大;
- image 与 angle-sensor views 组合时,\(\theta_1,\theta_2\) 没有被清楚 disentangle;
- real 与 synthetic 之间没有明显 performance drop。
这说明它不是简单的“real noise 破坏了一个本来工作的方法”。作者提出 image encoder 可能抓不到 subtle angle trace;但 supervised check 说明 trace 存在,所以更准确的结论是 architecture / optimization / objective 与 signal structure 的组合失败。
结果三:CITRIS 在 real 与 synthetic 上都 catastrophically fails
五次 initialization 的 Figure 6:
| 数据 | \(R^2\) diagonal ↑ | max off-diagonal / separation ↓ |
|---|---|---|
| Real | \(0.092\pm0.056\) | \(0.620\pm0.091\) |
| Synthetic ablation | \(0.120\pm0.068\) | \(0.636\pm0.107\) |
Appendix Figure 9 的 Spearman 也一致:
| 数据 | Spearman diagonal ↑ | max off-diagonal ↓ |
|---|---|---|
| Real | \(0.230\pm0.058\) | \(0.801\pm0.052\) |
| Synthetic ablation | \(0.245\pm0.055\) | \(0.809\pm0.072\) |
理想结果应是 diagonal 接近 1、off-diagonal 接近 0;这里方向几乎相反。因为 synthetic 也失败,不能把根因定位成 real mixing。论文诚实地把原因保留为复杂 modules、encoder failure、optimization、architecture 与 finite samples 的组合。
结果四:因素在 raw observations 中确实可解码
supervised small MLP:
| dataset | held-out \(R^2\) |
|---|---|
| CCRL / Multiview images | 0.976 |
| CITRIS images | 0.914 |
这是 information-availability evidence,不是 CRL recovery evidence。它削弱“task fundamentally ill-posed”这一解释,却不保证无监督 identifiability conditions 或 optimization 足够。
三层证据不能互换
| 问题 | 本文的答案 |
|---|---|
| ground-truth factors 是否真实可控? | 是,五个 actuators 被 experimenter 设置并物理产生 outputs。 |
| factor information 是否在 observations 中? | supervised sanity check 强烈支持。 |
| learned CRL representation 是否 recover factors? | 三种 methods 在 real data 上都没有达到各自目标;多数 synthetic cases 也失败。 |
| learned factors 是否在 downstream behavior 中被 causally used? | 本文没有单独测试。 |
| latent causal graph 是否自然世界 ground truth? | 不是;它按 method assumptions 人工生成。 |
综合客观评价
论文最有价值的不是负分数,而是诊断设计
real/synthetic paired observations 加上 supervised information check,形成一个很好的排除链:
它比单纯在真实数据上报告低 score 更有解释力。
但 failure cause 仍然 underdetermined
| 可能原因 | 论文证据 |
|---|---|
| real stochastic mixing misspecification | CCRL real/synthetic gap 强支持 |
| factor signal 不存在 | supervised \(R^2\) 反对 |
| implementation bug | original synthetic checks、作者协助与 code reuse 降低可能性,但未逻辑排除 |
| hyperparameter 不佳 | large sweeps 与 Appendix D 降低可能性,但 search 不可能穷尽 |
| architecture / optimization | Multiview 与 CITRIS synthetic failure 仍支持 |
| method theory只保证 infinite-data optimum | 本文 finite-data training 不能验证 theorem 本身错误 |
所以安全结论不是“theory 被证伪”,而是:
从 identifiability theorem 到一个真实、可复现、稳健的 learning pipeline,中间仍有巨大 implementation gap。
sanity check 的逻辑是不对称的
- fail:对 broad real-world applicability 是实质性坏消息;
- pass:只说明过了一个简单 gate,不能保证复杂世界成功。
论文在 Introduction 明确强调这个不对称性。读者不应把未来某方法的高分包装成“现实 CRL 已解决”。
主要局限性
- 只评估三个 methods。 它们代表三类 approach,但不能覆盖所有 CRL objectives、architectures 与 newer methods。
- method selection 有 code-availability bias。 缺少可运行实现的方法没有进入 benchmark,结论同时反映 field 的 reproducibility surface。
- latent causal structure 是 synthetic。 benchmark 强测真实 mixing,不能检验现实系统 latent SCM assumption 是否成立。
- physical system 很窄。 光学、camera 与 sensors 的困难不代表 biological、social、language 或 robotics mixing。
- success 不具外推性。 sanity check 适合否证 broad claim,不适合从 pass 推出复杂现实成功。
- CCRL real/synthetic 对比仍未唯一定位噪声机制。 stochasticity、non-additivity、saturation、architecture interaction 与 intervention detection power 同时变化。
- Multiview / CITRIS failure 仍可能是 optimization。 synthetic ablation 失败甚至强化了这个可能,而不是证明 theory false。
- finite samples 与 finite compute。 尽管样本和 sweeps 不小,identifiability theorem 常描述 infinite-data / global-optimum regime。
- 部分实现偏离原 paper。 CCRL image encoder 加深;CITRIS 不用 triplet validation loss;这些选择有理由,但会影响“原方法”边界。
- evaluation 主要是 decodability / alignment。 没有 downstream intervention 证明 recovered latent 被决策系统因果使用。
- supervised sanity check 不是公平 baseline。 它使用 labels,只能证明 information availability。
- MCC / \(R^2\) 允许的 indeterminacy 有限。 一个对 causal task 有用但以复杂 nonlinear code 表示 factor 的 representation,可能被这些 recovery metrics低估;反过来,高 decodability 也不保证 causal semantics。
- 真实 dataset 只是 chamber 可做 experiments 的小子集。 当前 factors、ranges 与 intervention protocols 没覆盖所有 possible controls。
什么实验会让结论更强
- 对每个 method 建立逐级 ablation:clean pixels → additive noise → heteroskedastic noise → saturation → camera pipeline,定位第一个 failure boundary;
- 用 representation interventions 检验 decoded factor direction 是否真的控制 downstream reconstruction / prediction,而不只可被 readout;
- 增加 matched non-causal representations:控制 reconstruction / prediction quality 后比较 causal-factor recovery;
- 把 data size 扩展几个数量级,画 sample-complexity curves,区分 finite-data 与 misspecification;
- 对 optimization 做 oracle initialization / small-model exhaustive search,检查 objective global optimum 是否真的对应 ground truth;
- 在 pre-registered hyperparameter budget 下评估更多 current CRL methods,降低 researcher degrees of freedom;
- 增加另一个真实物理 chamber 或不同 sensor modality,测试 failure 是否 tunnel-specific;
- 设计自然生成而非人为指定的 latent causal process,同时仍保留 intervention ground truth;
- 报告 uncertainty over factor matching 与 graph equivalence,而不是只给 point-aligned score;
- 发布完全 containerized reproduction,并在 clean hardware 上由第三方复跑 100 GPU-hour pipeline。
论文可以支持什么结论
它可以支持:
- 简单 real-world mixing 已足以让代表性 CRL pipelines 远离其 theoretical recovery goals;
- known-factor physical benchmarks 能提供 synthetic-only evaluation 缺少的 sanity pressure;
- 对 CCRL,real vs deterministic synthetic gap 强烈指向 mixing-function assumption / noise sensitivity;
- 对 Multiview CRL 与 CITRIS,synthetic failure 表明原因不能只归结为现实噪声;
- raw images 中有可检测 factor information,方法失败不是简单的信息完全缺失;
- reproducible code、method-author support、implementation details 与 engineering quality 是 CRL applicability 的核心部分。
它不能支持:
- CRL 在原则上不可能;
- 所有 CRL methods 都失败;
- 低 MCC 唯一证明 learned representation 没有任何 causal information;
- supervised \(R^2\) 证明 unsupervised recovery;
- learned representation 已被 downstream behavior 因果使用;
- 人工 latent graph 就是光隧道自然 causal ground truth;
- 只要某方法通过 light tunnel,就会在复杂现实系统成功;
- 本地已经下载数据并复现论文结果。
为什么它与当前研究有关
B3 对当前 portfolio 的首要作用,是把 representation claim 分成三个问题:
- Ground truth 是什么?
factor 是 experimenter-controlled、simulated、annotated,还是 post-hoc named? - 表示里有这项信息吗?
probe / MCC / \(R^2\) 能不能解码? - 模型真的使用它吗?
representation intervention 是否按因果预测改变 behavior?
如果只通过第二问,最多能说 representation contains decodable information;不能自动说它是 mechanism。
对 P01 / P20,更稳的 representation-preservation record 应至少写:
| 字段 | 问题 |
|---|---|
| causal object | 要保留 factor identity、graph edge、intervention response 还是 mechanism? |
| ground-truth source | actuator、simulator、domain knowledge 还是 annotation? |
| recovery evidence | MCC、probe、block recovery、graph metric? |
| causal-use evidence | activation / latent intervention 是否改变 output? |
| shift boundary | mixing noise、sensor change、environment intervention 还是 target world? |
| decision delta | recovery failure 会改变哪项 scientific / deployment decision? |
如果 causal-use evidence 与 decision delta 都为空,就不应把一个 useful embedding 升级为 mechanism-preserving causal representation。
推荐阅读顺序
- Introduction pages 1–3:读清 sanity check 的不对称逻辑,以及 benchmark 主要测试 mixing、不是 natural latent SCM。
- Figure 1 / Section 2:先认识五个 inputs 与全部 outputs。
- Figure 2 + real mixing paragraph:看 Malus’ law、2KHz fluctuation、heteroskedastic / non-additive noise。
- Synthetic Ablation paragraph:理解 paired negative control,而不是把 synthetic 当第二个 benchmark。
- Section 3.1 + Figure 3:先读最干净的 CCRL real/synthetic contrast。
- Section 3.2 + Figures 4–5:按 content/style definition 读,不要把任何高 \(R^2\) 都当成功。
- Section 3.3 + Figure 6:看 CITRIS diagonal / off-diagonal failure 与 method deviation。
- Section 4:区分 misspecification 和 optimization 两类 failure。
- Appendix A.1–A.3:核 60K / 100K data、metrics、architectures、training choices。
- Appendix B / Table 5:把 supervised information check 放在正确证据层。
- Appendix C / Figures 10–12:看 deterministic simulators 到底替换了什么。
- Appendix D:核 hyperparameter sweeps,理解它们降低但不能消除 optimization alternative。
- Official code / dataset README:准备 reproduction 时再读 submodules、commands、dataset names 与 current release drift。
论文来源与相邻阅读
- Official PMLR proceedings: https://proceedings.mlr.press/v267/gamella25a.html
- Official PMLR paper PDF: https://raw.githubusercontent.com/mlresearch/v267/main/assets/gamella25a/gamella25a.pdf
- Official code repository linked by PMLR: https://github.com/simonbing/CRLSanityCheck
- Official Causal Chamber dataset page: https://github.com/juangamella/causal-chamber/tree/main/datasets/lt_crl_benchmark_v1
- Causal Chamber package / simulators: https://github.com/juangamella/causal-chamber-package
- Verification boundary: official paper, current repository README/source tree, and dataset documentation inspected; dataset not downloaded, submodule implementations not initialized, and no experiment rerun; all benchmark scores are paper-reported.