Intervene, Calibrate, Discover: Learning Causal Structure from Pixels
Organizations: Tsinghua University · INFIFORCE Intelligent Technology, China · Institute of Automation, Chinese Academy of Sciences · The University of Hong Kong ·
Abstract
Learning high-level causal variables from low-level observations is a central problem for artificial intelligence. With known node semantics but an unknown graph, visual readout errors can misalign model settings with environment intervention values. We address this mismatch by pairing image readouts with verified values attained through fixed round-robin interventions. With encoder and decoder frozen, a dimension-wise invertible calibration map puts visual responses and target settings in shared numerical units. After freezing this map, the agent selects interventions to resolve graph directions and fits local mechanisms to predict consequences; inverse calibration returns counterfactual states to the decoder's original coordinates. Across Domino, Pick-and-Place, Balance, Gears, CAUSAL3D, and CausalWorld, we evaluate graph discovery, intervention consequences, and counterfactual images. Controlled domino experiments show that interventions resolve orientation ambiguity left by equal additional observations. In a matched-data domino control, calibration reduces the mean error of predicted changes in other variables within the same factual context, relative to an uncalibrated model.
Figures & tables
| Domino | Other MEC tasks | CAUSAL3D | Causal World | |||||
| Method | SCM | Physical | PnP | Balance | Gears | Spring | Seesaw | |
| Ours | 4 .846 | 0 .982 | 0 .862 | 6 .413 | 7 .793 | 9 .242 | 5 .587 | 4 .276 |
| CausalVAE | 6 .313 | 3 .284 | 3 .516 | 8 .475 | 8 .522 | 11 .213 | 7 .342 | 11 .013 |
| ILCM | 6 .194 | 2 .294 | 5 .232 | 4 .178 | 5 .177 | 17 .084 | 8 .231 | 16 .007 |
| Completed/planned runs (not graph-recovery rates) | ||||||||
| Ours | 8/8 | 7/8 | 8/8 | 7/8 | 8/8 | 8/8 | 6/8 | 7/8 |
| ID readout | Non-target CF effect NMSE | RGB MSE | |||
|---|---|---|---|---|---|
| Configuration | MSE | ID | Amp. shift | ID | Amp. shift |
| Uncalibrated | |||||
| Fully fitted affine | |||||
| Nonlinear (ours) | |||||
| Ordinary joint updating (ref.) | |||||
| Domino | Other MEC tasks | CAUSAL3D | Causal World | |||||
|---|---|---|---|---|---|---|---|---|
| Method | SCM | Physical † | PnP | Balance | Gears | Spring † | Seesaw † | |
| Ours | 8.573 10.341 0.829 | 6.234 8.291 0.752 | 1.771 3.461 0.512 | 2.085 4.101 0.508 | .729 1.091 0.668 | 5.323 8.064 0.660 | 4.276 6.786 0.630 | 4.817 5.378 0.896 |
| CausalVAE | 123.799 807.120 0.153 | 228.713 791.706 0.289 | 51.105 318.545 0.160 | 130.996 852.155 0.154 | 75.124 503.839 0.149 | 186.127 609.486 0.305 | 156.435 987.345 0.158 | 293.854 974.245 0.302 |
| ILCM | 123.713 874.392 0.141 | 162.410 515.288 0.315 | 58.106 394.825 0.147 | 104.107 713.652 0.146 | 101.258 699.789 0.145 | 234.144 772.011 0.303 | 95.245 312.261 0.305 | 124.215 332.211 0.374 |
| No graph | 34.144 245.391 0.139 | 51.205 421.363 0.122 | 57.011 393.035 0.145 | 102.146 700.012 0.146 | 93.292 663.595 0.141 | 204.114 402.341 0.507 | 98.701 244.512 0.404 | 41.124 408.946 0.101 |
| Domino | Other MEC tasks | CAUSAL3D | Causal World | |||||
|---|---|---|---|---|---|---|---|---|
| Method | SCM | Physical | PnP | Balance | Gears | Spring | Seesaw | |
| Ours | 1.473 | .880 | 1.118 | 2.180 | .938 | 2.384 | 8.264 | 5.261 |
| CausalVAE | 2.525 | 1.287 | 3.563 | 4.603 | 1.859 | 6.345 | 11.745 | 7.761 |
| ILCM | 9.009 | 5.707 | 7.025 | 15.477 | 8.187 | 3.256 | 5.234 | 9.664 |
| ICM-VAE (given graph) | – | – | – | – | – | 7.342 | 9.753 | – |
| No graph | 4.215 | 2.314 | 2.161 | 5.014 | 1.859 | 15.234 | 32.219 | 19.281 |
Appendix figures & tables28 assets
Supplementary material from the paper’s appendix.
Appendix
| Result location | Configuration and record | Queries, permissions, and scope |
|---|---|---|
| Physical ILCM in Table 5.5 | run_s42_v1 , seed 42; native implicit mechanisms and its own decoder; epoch 120 selected by ID validation. | 1280 training pairs, 256 validation pairs; 32 contexts 4 targets 2 commands, 256/256 queries. Paired GT matches archived seed-42 queries, not necessarily the retained sets of other task-table summaries. Permissions and budget differ (Appendix A.9 ). |
| MEC mechanism controls in Appendix C.4 | Seeds 300/301, learned ; frozen representation, calibration, and graph mechanisms; a shared decoder trained on 2400 independent ID images. | PnP/Gears retain 2/2 seeds and Balance 1/2; respectively 384/384/320 CF queries per valid seed. Command ranges and 2048-sample outcome evaluation apply only to this cohort. |
| Uncalibrated physical control (aggregate) | No numerical calibration; aggregate full-image pixel MSE is 0.930 ( ). | Reported separately from the paired control below; its seed count, SD, query count, and training budget are not transferred. This aggregate is not used with the main-table learned- result to estimate paired calibration gains. |
| Paired conditional-mean control in Appendix A.9 | No numerical calibration or addition of factual residuals to descendants; common completed seeds 42 and 314. | 256 common queries per seed; our method completes 2/3 seeds and CausalVAE 3/3, with more concept labels for the latter. Disaggregated errors are reported in Appendix A.9 . |
| Benchmark | Task variables | Operation and test grouping |
|---|---|---|
| Domino SCM | 7 continuous states: pusher, four dominoes, bell, lamp | Single-state setting; reported ID/amplitude groups |
| Physical Domino | 4 binary final toppling events | Fix upright / tilt and release; test sets A/B * |
| PnP | 6 SCM variables | Single-state setting; reported ID/amplitude groups |
| Balance | 5 SCM variables | Single-state setting; reported ID/amplitude groups |
| Gears | 6 SCM variables | Single-state setting; reported ID/amplitude groups |
| CAUSAL3D Spring | Scored variables not reported | Test sets A/B; targets and ranges not reported |
| Configuration | Full-image MSE | Keep upright | Make fall |
|---|---|---|---|
| Our method (conditional-mean propagation) | 1.282 | 0.478 | |
| Factual-residual propagation control | 0.997 | 0.850 | |
| Target-only latent editing | 1.064 | 1.682 | |
| CausalVAE, 512 images, original decoder | 1.305 | 1.929 | |
| CausalVAE, 1280 images, original decoder | 1.051 | 1.523 | |
| CausalVAE, 512 images, ID refit | 1.640 | 2.252 |
| Seed | Original-rule SHD | Bilateral SHD | Bilateral unoriented edges | Nonlinear increment SD |
| 5 | 0 | 6 | 6 | 0.0343 |
| 6 | 0 | 0 | 0 | 0.0311 |
| 7 | 0 | 0 | 0 | 0.0306 |
| Acquisition policy | Seed | New records | Intervention SHD | Added-observation SHD |
|---|---|---|---|---|
| Coverage targeting | 5 | 1800 | 0 | 6 |
| Fixed round-robin | 5 | 1800 | 0 | 6 |
| Coverage targeting | 6 | 3600 | 0 | 6 |
| Fixed round-robin | 6 | 1800 | 0 | 6 |
| Coverage targeting | 7 | 3600 | 0 | 6 |
| Fixed round-robin | 7 | 1800 | 0 | 6 |
| Calibration | Direct intervention | Natural observation | Other-node intervention |
|---|---|---|---|
| Full sampled range | |||
| No calibration | |||
| Fully fitted affine | |||
| Nonlinear calibration | |||
| Fixed common bins | |||
| No calibration | |||
| Calibration | Command | CF-state NMSE | Population-mean NMSE | Image MSE |
|---|---|---|---|---|
| No calibration | ID | |||
| Fully fitted affine | ID | |||
| Nonlinear calibration | ID | |||
| No calibration | Amplitude shift | |||
| Fully fitted affine | Amplitude shift | |||
| Nonlinear calibration | Amplitude shift |
| Method | Domino | PnP | Balance | Gears |
|---|---|---|---|---|
| Our method | ||||
| GIES | ||||
| Passive graph extension | ||||
| Shuffled graph | ||||
| No graph propagation | ||||
| True graph (structural reference) |
| Configuration | Target MSE (3/3) | SHD | CF pixel MSE (2/3) |
|---|---|---|---|
| Uncalibrated | 0/1/0 | ||
| Restricted positive affine | 0/1/0 | ||
| Nonlinear calibration | 0/1/0 |
| Configuration | Uncalibrated | Fully fitted affine | Nonlinear calibration | Ordinary joint updating |
|---|---|---|---|---|
| Target-readout MSE |
| Configuration | Command | Target | Desc. | Non-desc. | Desc. change | Non-desc. change |
|---|---|---|---|---|---|---|
| Uncalibrated | ID | |||||
| Fully fitted affine | ID | |||||
| Nonlinear calibration | ID | |||||
| Ordinary joint updating | ID | |||||
| Uncalibrated | Amplitude | |||||
| Fully fitted affine | Amplitude |
| Seed | Configuration | Readout MSE | ID mean NMSE | Amplitude mean NMSE | ID image MSE |
|---|---|---|---|---|---|
| 5 | Uncalibrated | 18.898 | 1.027 | 1.969 | 2.260 |
| 5 | Fully fitted affine | 13.975 | 1.596 | 3.826 | 2.239 |
| 5 | Nonlinear calibration | 11.982 | 1.972 | 3.803 | 2.247 |
| 5 | Ordinary joint updating | 7.996 | 3.446 | 15.700 | 1.031 |
| 6 | Uncalibrated | 21.204 | 2.496 | 4.065 | 2.287 |
| 6 | Fully fitted affine | 13.374 | 2.065 | 3.860 | 2.276 |
| Comparison (first minus second) | Query | Non-target effect NMSE difference | RGB MSE difference |
|---|---|---|---|
| Affine uncalibrated | ID | (2/3) | (3/3) |
| Affine uncalibrated | Amplitude shift | (2/3) | (2/3) |
| Nonlinear uncalibrated | ID | (2/3) | (2/3) |
| Nonlinear uncalibrated | Amplitude shift | (2/3) | (2/3) |
| Nonlinear affine | ID | (1/3) | (0/3) |
| Nonlinear affine | Amplitude shift | (2/3) | (0/3) |
| Calibration | Query | ID readout MSE | Non-target effect NMSE | Population mean NMSE | RGB MSE |
|---|---|---|---|---|---|
| Uncalibrated | ID | ||||
| Uncalibrated | Amplitude shift | ||||
| Affine | ID | ||||
| Affine | Amplitude shift | ||||
| Nonlinear | ID | ||||
| Nonlinear | Amplitude shift |
| Configuration | ID image MSE | Amplitude shift image MSE | Amplitude shift target visible MAE | Amplitude shift non-descendant effect MAE |
|---|---|---|---|---|
| Uncalibrated, frozen | ||||
| Uncalibrated, ID-refitted | ||||
| Fully fitted affine, frozen | ||||
| Fully fitted affine, ID-refitted | ||||
| Nonlinear calibration, frozen | ||||
| Nonlinear calibration, ID-refitted |
| A. Target-calibration error under fixed readout conditions | ||||
| Condition | Seeds | Uncalibrated | Restricted positive affine | Nonlinear |
| No added distortion | 3 | |||
| Affine distortion | 3 | |||
| Cubic distortion | 3 | |||
| B. Counterfactual image error within each condition Jointly executable seeds | ||||
| Condition | Valid/planned | Uncalibrated | Restricted positive affine | Nonlinear |
| A. Calibration objective and replay 3/3 seeds, all values multiplied by | ||
|---|---|---|
| Configuration | Target-readout MSE | Paired difference (ablation full) |
| Full configuration | ||
| Without observation preservation | ||
| Without cumulative sample replay | ||
| B. Post-intervention orientation propagation 3/3 seeds, identical fixed evidence | ||
| Configuration | SHD | Complete valid graphs |
| Configuration | Target MSE | CF image MSE | SHD |
|---|---|---|---|
| Uncalibrated | 0/1/0 | ||
| Restricted positive affine | 0/1/0 | ||
| Fully fitted positive affine | 0/1/0 | ||
| Nonlinear calibration | 0/1/0 |
| Configuration | Complete true-graph recovery | Actual calls | SHD |
|---|---|---|---|
| Nonlinear calibration + coverage targeting | 2/3 | 0/1/0 | |
| Nonlinear calibration + random targeting | 3/3 | 0/0/0 | |
| Nonlinear calibration + round-robin targeting | 3/3 | 0/0/0 | |
| Uncalibrated + coverage targeting | 2/3 | 0/1/0 |
| Task | Method | PnP (2/2) | Balance (1/2) | Gears (2/2) |
|---|---|---|---|---|
| CF-image MSE | Our method | 2.180 | ||
| No-graph ablation | 5.014 | |||
| ID NMSE | Our method | 2.085 | ||
| No-graph ablation | 102.146 | |||
| OOD NMSE | Our method | 4.101 | ||
| No-graph ablation | 700.012 |
| Metric | Dominoes (64, 8/10) | Dominoes (128, 9/10) |
|---|---|---|
| Counterfactual-image MSE | ||
| ID original-coordinate MSE | ||
| OOD original-coordinate MSE | ||
| ID mean-image MSE | ||
| OOD mean-image MSE |
| Scene | Method | ID node- range | Selected/trained epochs |
|---|---|---|---|
| Domino-MEC | CausalVAE | [0.849, 0.984] | 86/100 |
| Domino-MEC | ILCM | [0.220, 0.797] | 120/120 |
| PnP-MEC | CausalVAE | [0.919, 0.986] | 86/100 |
| PnP-MEC | ILCM | [-0.005, 0.044] | 120/120 |
| Balance-MEC | CausalVAE | [0.920, 0.995] | 98/100 |
| Balance-MEC | ILCM | [0.118, 0.804] | 120/120 |
| Work | Input/samples | Node or variable supervision | Intervention information and key conditions |
|---|---|---|---|
| CausalVAE (2021) | Images | Concept labels | Causal layer and latent-space editing; no active environment acquisition |
| ICF (2018) | Pixel interaction trajectories | Independently controllable factors | Selectivity feedback jointly trains representations and policies |
| Causal Curiosity (2021) | Interaction trajectories | Learned environment factors | Executable experimental behaviors; not standard node-setting supervision |
| CITRIS (2022) | Temporal images | Learned latent variables | Known target labels; actual values not required |
| iCITRIS (2023) | Temporal images | Learned latent variables | Known targets, including instantaneous effects |
| BISCUIT (2023) | Interactive temporal images | Learned variable/interaction correspondence | Binary interaction mechanisms |
| Work | Repr. learn. | Active exp. | Graph output/task | Representation constraints |
| CausalVAE | — | Static causal graph | Concept supervision and causal layer | |
| ICF | No explicit graph-recovery task | Independent controllability and intervention selectivity | ||
| Causal Curiosity | No general explicit graph recovery | Experiments distinguish environment factors | ||
| CITRIS | — | Subsequent temporal graph | Intervention-target constraints | |
| iCITRIS | — | Instantaneous and temporal graphs | Intervention-target constraints | |
| BISCUIT | — | Subsequent temporal graph | Binary interaction-mechanism correspondence |
Causal Representation Learning
Causal representation learning seeks latent features that reveal underlying causal variables and mechanisms for robust prediction, intervention, and transfer.
See all 101 papers