The tractable floor beneath an intractable log-likelihood. When the evidence log p(x) is out of reach, the ELBO is the number you can actually compute — and every gap between them is exactly one KL divergence wide. Push the floor up, and the ceiling comes into view.
source Jordan, Ghahramani, Jaakkola & Saul — An Introduction to Variational Methods for Graphical Models (1999), Mach. Learn. 37:183–233. Year cited, no stable arXiv id — marked AMBER. Rendered, not quoted.
A constructed linear-Gaussian latent model — chosen so every quantity is closed-form, nothing is trained, nothing is guessed:
Then the evidence and the exact posterior are both known in closed form:
Because the truth is knowable here, the ELBO can be checked against it to 1e-9 — the point of a laboratory model.
This sphere is the-kl-divergence turned into an objective. The KL that measured how far two distributions sit apart becomes the lever you pull:
Since KL ≥ 0, the ELBO is a floor under the evidence; closing the KL raises the floor to the ceiling. Downstream, the-vae maximizes exactly this bound — the reconstruction-minus-prior-KL form is its training loss.
Re-runs the bound invariant on a probe q every render. It confirms ELBO(q) ≤ log p(x) — and flips red the instant the KL term is dropped in window 6.
Fixed model + a variational q(z) = N(m, v) you steer. Everything below is computed live from these.
ELBO(q) = Eq[log p(x|z)] − KL(q(z)∥p(z)) = reconstruction − prior-KL.
proven result at boot appears here
The ELBO equals the log-evidence.
→ only when q is the exact posterior; otherwise it is strictly below by KL(q∥p(z|x)) > 0.
Maximizing the ELBO maximizes the likelihood.
→ it maximizes a lower bound; a loose q leaves the true likelihood untouched above the slack.
The reconstruction term is the whole objective.
→ drop the prior-KL and the "bound" walks straight through the ceiling — see window 6.
The disclosed sabotage: drop the KL(q∥p(z)) term and keep only reconstruction. For a sharp q it exceeds log p(x) — no longer a lower bound. The witness in window 7 catches it live.