Papers › Variational Diffusion Models
Variational Diffusion Models
Diederik P. Kingma, Tim Salimans, Ben Poole, Jonathan Ho
Diffusion-based generative models have demonstrated a capacity for perceptually impressive synthesis, but can they also be great likelihood-based models? We answer this in the affirmative, and introduce a family of diffusion-based generative models that obtain state-of-the-art likelihoods on standard image density estimation benchmarks. Unlike other diffusion-based models, our method allows for efficient optimization of the noise schedule jointly with the rest of the model. We show that the variational lower bound (VLB) simplifies to a remarkably short expression in terms of the signal-to-noise ratio of the diffused data, thereby improving our theoretical understanding of this model class. Using this insight, we prove an equivalence between several models proposed in the literature. In addition, we show that the continuous-time VLB is invariant to the noise schedule, except for the signal-to-noise ratio at its endpoints. This enables us to learn a noise schedule that minimizes the variance of the resulting VLB estimator, leading to faster optimization. Combining these advances with architectural improvements, we obtain state-of-the-art likelihoods on image density estimation benchmarks, outperforming autoregressive models that have dominated these benchmarks for many years, with often significantly faster optimization. In addition, we show how to use the model as part of a bits-back compression scheme, and demonstrate lossless compression rates close to the theoretical optimum. Code is available at https://github.com/google-research/vdm .
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2107.00630")
Code
Syntology Ran 29 of 38 code samples harvested from 6 repositories linked to this paper; 9 have no recorded run. Of those that ran: 1 ran · violated contract; 6 ran · our draft was wrong; 3 ran · fixture could not drive it; 19 ran with no contract checked.
By repository: official repository: 16 samples from 1 repository, 11 ran; community (archive-listed): 20 samples from 4 repositories, 16 ran; found in paper text by Syntology: 2 samples from 1 repository, 2 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
38 samples harvested; 29 ran; 0 honoured the contract we drafted; 9 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 2 of the 38 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 6 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
561db3edf2a73d49 · report
1fd721cbc30c55b2 · report
491caa588adc4c8f · report
069d8acfc9e74bee · report
529196025d205b76 · report
f447b1a658e14845 · report
a08f56d5383b4deb · report
6f2b76f02949e8a2 · report
efd5fbe71f5d4417 · report
3650a2dfe2e97298 · report
0a5352fc3e23401b · report
2bfdfec42cfdcdcf · report
6f9deb29cfceeb7f · report
32c40355362a0b32 · report
3c07ccd2fae8c079 · report
29cb7af455c82dc4 · report
59e0526c50f31501 · report
ae2c486b1f90a559 · report
bb89d1300208329a · report
d212b472730598ed · report
ea5520290d73f53d · report
212e87de38149204 · report
cb2f69aa1655d268 · report
7fcce4b4613629ad · report
3421a6b0be94af74 · report
a4d6fbb9fe89feb5 · report
f55545fd60b5575f · report
5c967875cb5a67f1 · report
4f4db12a92cab549 · report
abd7e936a4a2330d · report
656e283a7a532e0d · report
9081710b06dc58b5 · report
dacd58542a91f9cc · report
d69b5df2d07b253c · report
b780d07f50dbb622 · report
9f2532a370c4d0c4 · report
16c2edc6a8669837 · report
5f5e07eb94d1c5d2 · report
Tasks
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Density Estimation | CIFAR-10 | VDM | NLL (bits/dim) | 2.65 | #4 of 15 | Archive leaderboard | report |
| Density Estimation | ImageNet 32x32 | VDM | NLL (bits/dim) | 3.72 | #3 of 5 | Archive leaderboard | report |
| Image Generation | ImageNet 32x32 | VDM | bpd | 3.72 | #17 of 35 | Archive leaderboard | report |
| Image Generation | ImageNet 64x64 | VDM | Bits per dim | 3.40 | #40 of 65 | Archive leaderboard | report |
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections