Skip to content
aiqbench takeAI Research

aiqbench analysis

This paper exposes a critical blind spot in Variational Autoencoder (VAE) pipelines where standard training metrics like ELBO and reconstruction error fail to verify if the latent space codes are consistent. The authors prove that two models can exhibit identical performance statistics while having completely different agreement levels between their encoding and decoding processes, necessitating new certification protocols for systems relying on discrete latent representations. This fundamental theoretical result is essential for researchers building robust generative models and those analyzing the reliability of codebook-based inference.
Source coveringarXiv
What this isA model's reading of the article and related coverage, written for aiqbench. Not the publisher's words.

Perfect Reconstruction Cannot Show Whether Two Codebooks on a VAE's Latent Space Agree

arXiv3 min read

arXiv:2610.14012v1 Announce Type: new Abstract: Many systems read the latent space of a variational autoencoder (VAE) as discrete codes, and rely on each latent being read back as the code it was written as. Shannon (1948) took such a shared codebook as given; inside a VAE nothing enforces it. We prove that no item of a standard training report can reveal whether the written and read codes agree on encoded data. We construct two VAEs that reconstruct every input perfectly, infer exactly, and match on every per-example ELBO and every code histogram, yet agreement is one in the first and zero in the second. We then show that the ELBO's own terms bound how far a measured agreement can move: the variational gap bounds the shift to exact inference, and the rate bounds the shift to generation from the prior. For Gaussian posteriors, a mean-field encoder pays an exact price in the gap that depends on its choice of axes. On probabilistic PCA the gap certifies a trained encoder in all 75 settings we test, at agreement between 0.76 and 0.97. On 240 trained VAEs, a floor set by the rate and the dataset size rules out rate-side certification in advance for 66 models, and none of them certifies. The results yield a simple protocol, Certify-or-Measure, for any pipeline that reads a VAE as codes.

Abstract:Many systems read the latent space of a variational autoencoder (VAE) as discrete codes, and rely on each latent being read back as the code it was written as. Shannon (1948) took such a shared codebook as given; inside a VAE nothing enforces it. We prove that no item of a standard training report can reveal whether the written and read codes agree on encoded data. We construct two VAEs that reconstruct every input perfectly, infer exactly, and match on every per-example ELBO and every code histogram, yet agreement is one in the first and zero in the second. We then show that the ELBO's own terms bound how far a measured agreement can move: the variational gap bounds the shift to exact inference, and the rate bounds the shift to generation from the prior. For Gaussian posteriors, a mean-field encoder pays an exact price in the gap that depends on its choice of axes. On probabilistic PCA the gap certifies a trained encoder in all 75 settings we test, at agreement between 0.76 and 0.97. On 240 trained VAEs, a floor set by the rate and the dataset size rules out rate-side certification in advance for 66 models, and none of them certifies. The results yield a simple protocol, Certify-or-Measure, for any pipeline that reads a VAE as codes.

28 pages, 4 figures, 4 tables. Supplementary material (per-run results, precommit documents and verification scripts) is provided as ancillary files

Machine Learning (cs.LG); Information Theory (cs.IT)

arXiv:2610.14012 [cs.LG]

(or arXiv:2610.14012v1 [cs.LG] for this version)

https://doi.org/10.48550/arXiv.2610.14012 Focus to learn more arXiv-issued DOI via DataCite (pending registration)

experiments/PRECOMMIT_LICENSED_MI.md

experiments/PRECOMMIT_W2.md

experiments/W2_RESULTS_LEDGER.md

experiments/aq_interval.csv

experiments/aq_interval_table_20260908.log

experiments/aq_perpoint_svhn_d16_s0.npy

experiments/aq_perpoint_svhn_d16_s1.npy

experiments/aq_perpoint_svhn_d16_s2.npy

experiments/aq_perpoint_svhn_d32_s0.npy

experiments/aq_perpoint_svhn_d32_s1.npy

experiments/aq_perpoint_svhn_d32_s2.npy

experiments/e1ext_mu_usage.csv

experiments/e1ext_per_model.csv

experiments/e1ext_svhn_clf10.csv

experiments/e5_fano.csv

experiments/e6_certify_or_measure.txt

experiments/e6_e1ext_extension.txt

experiments/e6_licensed_d2.txt

experiments/fig_band_data.json

experiments/kl_plugin_split.csv

experiments/licensed_budget.py

experiments/licensed_budget_e1ext.csv

experiments/licensed_budget_e1ext.log

experiments/licensed_mi.log

experiments/licensed_mi_budget.csv

experiments/licensed_mi_budget_uncorrected_20260806.csv

experiments/licensed_mi_corrected_20260908.log

experiments/map_on_sampled_control.csv

experiments/prior_arm_ppca.csv

experiments/run_aq_interval.py

experiments/run_e1ext.py

experiments/run_e1ext_mu_usage.py

experiments/run_e1ext_svhn_clf10.py

experiments/run_e5_fano.py

experiments/run_e6_e1ext.py

experiments/run_e6_licensed_d2.py

experiments/run_kl_plugin_split.py

experiments/run_licensed_budget_e1ext.py

experiments/run_licensed_mi_budget.py

experiments/run_map_on_sampled_control.py

experiments/run_prior_arm_ppca.py

experiments_2026/exp13_control_extension/per_code.csv

experiments_2026/exp13_control_extension/per_seed.csv

experiments_2026/exp13_control_extension/run_exp13.py

experiments_2026/exp13_control_extension/summary.csv

experiments_2026/exp13_control_extension/test_exp13.py

experiments_2026/exp15_audit_screening/per_model.csv

experiments_2026/exp15_audit_screening/run_exp15.py

experiments_2026/exp16_mixture_prior/per_model.csv

experiments_2026/exp16_mixture_prior/run_exp16.py

experiments_2026/exp1_transmission/per_checkpoint.csv

experiments_2026/exp21_ppca_stress_suite/DESIGN.md

experiments_2026/exp21_ppca_stress_suite/POSTRUN_ANALYSIS_FIX.md

experiments_2026/exp21_ppca_stress_suite/PRECOMMIT.md

experiments_2026/exp21_ppca_stress_suite/RESULTS_LEDGER.md

experiments_2026/exp21_ppca_stress_suite/SEALED_HASHES_BEFORE_RUN.txt

experiments_2026/exp21_ppca_stress_suite/analyze_optimizer_components.py

experiments_2026/exp21_ppca_stress_suite/cache/components.npy

experiments_2026/exp21_ppca_stress_suite/cache/eig.npy

experiments_2026/exp21_ppca_stress_suite/cache/fold.npy

experiments_2026/exp21_ppca_stress_suite/cache/identity.npy

experiments_2026/exp21_ppca_stress_suite/cache/mean.npy

experiments_2026/exp21_ppca_stress_suite/cache/total_var.npy

experiments_2026/exp21_ppca_stress_suite/cache/train_idx.npy

experiments_2026/exp21_ppca_stress_suite/common_rng_oracle.csv

experiments_2026/exp21_ppca_stress_suite/encoder_training.csv

experiments_2026/exp21_ppca_stress_suite/fold_assignments.csv

experiments_2026/exp21_ppca_stress_suite/geometry_selection.csv

experiments_2026/exp21_ppca_stress_suite/invariance_checks.csv

experiments_2026/exp21_ppca_stress_suite/optimizer_components.csv

experiments_2026/exp21_ppca_stress_suite/per_condition.csv

experiments_2026/exp21_ppca_stress_suite/ppca_core.py

experiments_2026/exp21_ppca_stress_suite/run_exp21.py

experiments_2026/exp21_ppca_stress_suite/software_versions.json

experiments_2026/exp21_ppca_stress_suite/spectra.csv

experiments_2026/exp21_ppca_stress_suite/summary.json

experiments_2026/exp21_ppca_stress_suite/test_exp21.py

experiments_2026/exp21_ppca_stress_suite/verify_exp21.py

experiments_2026/exp2_a4_numeric/a4_interpolation.py

experiments_2026/exp2_a4_numeric/path_curves.csv

experiments_2026/exp2_a4_numeric/summary_results.csv

experiments_2026/exp7_prior_agreement/prior_agreement_results.csv

experiments_scale/PRECOMMIT_SCALE.md

experiments_scale/analyze_scale.py

experiments_scale/deviation_A1_first_pass_probe/s1_fashion_oldprobe.csv

experiments_scale/run_scale_audit.py

experiments_scale/s1_fashion.csv

experiments_scale/s1_svhn.csv

experiments_scale/s2_cifar10.csv

experiments_scale/s2_mnist.csv

figures/extract_hero_data.py

figures/hero_data.json

figures/make_hero_bc.py

paper/main_source.txt

paper/references.bib

paper/verify_paper_numbers.py

theorems/regenerated/verify_T3v2.py

theorems/regenerated/verify_addendum.py

theorems/theory_checks/theory_checks.json

theorems/theory_checks/theory_checks.py

theorems/verify_T3v2_results.txt

theorems/verify_addendum_results.txt

theorems/verify_circle_witness.py

theorems/verify_circle_witness_full.txt

theorems/verify_smoothing_generic.py

theorems/verify_smoothing_generic_results.txt

theorems/verify_theorems.py

theorems/verify_theorems_results.txt

(104 additional files not shown) You must enabled JavaScript to view entire file list.

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.

Full text under the publisher's open licence · 459 words

Related coverage