Diffusion and Learning to Reverse Noise
Diffusion models generate by learning a denoising direction at every noise scale, turning difficult global transport into a chain of local conditional estimates whose schedule, errors and sampler must be evaluated together.
TLDR
- A diffusion model does not memorise how to uncorrupt one image. It learns the conditional direction from noisy states back towards regions where training data are probable.
- The forward process supplies unlimited supervised pairs at every noise level: clean data, a timestep, known Gaussian noise and the resulting corrupted sample.
- Sampling begins from a simple prior and chains many locally learned reverse updates. The schedule makes those updates small enough for Gaussian approximation and neural prediction to be useful.
- A good one-level denoiser is a negative control, not a generator. It can repair moderate corruption yet fail from pure noise because the rest of the path is unlearned.
- Choose and audit diffusion as a coupled path: terminal prior, training target, noise-level coverage, sampler, guidance and post-generation checks, rather than judging only attractive outputs.
The forbidden middle
Worked example 1: a two-mode distributionImagine a sensor whose clean reading is almost always near either −1 or +1. It never reports values around zero. The two peaks could represent two stable physical states, two pronunciations, or two families of image patches. Their meaning does not matter yet. What matters is the empty interval between them.
Add a little Gaussian noise to each reading. The peaks widen. Add more and the empty interval fills. Repeat the operation until the two-state distribution becomes almost indistinguishable from a standard bell curve. The forward direction is trivial: a few lines of code can destroy the structure. The reverse direction contains the generative problem. Starting from an ordinary Gaussian draw, how can a model recover two peaks while keeping the middle empty?
A tempting answer is to train one powerful denoiser. Give it a corrupted reading and ask for the clean value. That works for moderate corruption. It does not solve generation. At heavy corruption, the same observed value can plausibly have come from either mode. A squared-error denoiser returns a conditional average, often near the very middle the data forbids.
Diffusion changes the problem's geometry. It teaches one time-conditioned model across a ladder of noise levels, then uses that model repeatedly. Early reverse steps make broad, uncertain choices. Later steps sharpen them. The model's essential skill is not removing visible speckles. It is estimating a local direction through a family of smoothed data distributions.
This is the paper's central answer. The forward corruption process creates supervised training targets and turns an intractable global map from noise to data into many smaller conditional estimation problems. The reverse sampler composes those local estimates into a distribution-level transport. The same decomposition also creates diffusion's characteristic costs: sequential model evaluations, schedule sensitivity and error accumulation.
Why destroying structure can make generation learnable
Generative modelling asks for a distribution, not a single reconstruction. A useful model must place mass where the data place mass, avoid unsupported regions, preserve meaningful variation and still provide a practical way to draw new samples. A direct generator attempts a large transformation in one pass: map a simple latent draw to a complex observation. GANs, normalising flows and autoregressive models demonstrate that this can work. Diffusion does not establish that gradual transport is logically necessary.
Its wager is narrower. A hard global transformation may become easier to learn when it is factorised into small transitions whose training targets are known. Sohl-Dickstein and colleagues formalised this as a forward diffusion that slowly destroys structure and a learned reverse process that restores it.1 Ho, Jain and Abbeel later connected a practical parameterisation to denoising score matching and showed high-quality image synthesis with the resulting DDPM formulation.5
Dhariwal and Nichol later showed that diffusion models could compete with leading GANs on the class-conditional image benchmarks they studied.9 That result made the mechanism practically consequential; it did not establish universal superiority over direct generators.
Keep the same two-mode target and the same neural-network capacity. System A must map a Gaussian draw directly to one of the modes. System B receives 100 intermediate noise levels and learns a correction at each. The only changed feature is the staircase. If B learns while A fails, the evidence supports decomposition, not a claim that diffusion has discovered a uniquely correct generator. If both work, speed, coverage and controllability decide between them.
The forward process is fixed supervision
Let x0 be a clean sample from the data distribution. At step t, choose a small variance βt and define αt = 1 − βt. A standard forward transition is:
The crucial convenience appears after defining ᾱt = ∏s=1t αs. Any noise level can be sampled directly:
This closed form turns every clean training item into effectively unlimited labelled examples. Sample t. Sample ε. Construct xt. The exact noise is known because the training procedure added it. No human annotator must describe what was lost.
The terminal prior is a contract, not decoration
Generation starts from a distribution chosen before seeing a particular output, commonly xT ∼ 𝒩(0, I). The forward schedule must make the corrupted training distribution q(xT) close enough to that prior. If too much signal survives, training sees terminal states that sampling never supplies. The reverse model then begins out of distribution.
This is easy to miss because a final sample may still look plausible. A schedule can spend many steps in low-value regions, leave non-zero terminal signal, or pair an incompatible set of inference timesteps with the trained model. Lin and colleagues documented practical failures from common schedule and step choices and proposed enforcing zero terminal signal-to-noise ratio in the settings they studied.15 The general lesson is broader than that remedy: the starting prior, training corruption and inference schedule form one contract.
Thought experiment: two clocks with the same number of ticks
Build two 100-step forward processes for the same two-mode data. Clock A increases variance until only about 13% of the original amplitude remains at the terminal step. Clock B also has 100 ticks, but its smaller variances leave most of the mode identity visible. Give each process the same network family, data and update budget. During training, both networks may report respectable average noise-prediction loss.
Now begin both reverse samplers from a standard Gaussian. Clock A starts near states it encountered at its largest training noise. Clock B does not. Its terminal training examples are still shaped by whether the source was near −1 or +1, while a fresh Gaussian draw carries no such hidden mode label. The first reverse update must therefore answer a question it was not trained to answer. Adding more nominal steps cannot repair that boundary mismatch.
The intervention changes only the corruption clock. It shows why step count is a poor proxy for path quality. A valid terminal state is earned by destroying enough information, not by reaching an arbitrary integer T. The same reasoning applies when an inference library selects a shortened set of timesteps: each selected state must remain compatible with the field the network learned, or the sampler introduces a new distribution shift.
flowchart TD A["The forbidden middle"] --> B["Why destroying structure can<br/>make generation learnable"] B --> C["What the denoiser actually learns"] C --> D["How the reverse path becomes a<br/>generator"] D -. "re-test" .-> A classDef first fill:#0a1424,stroke:#B96D00,stroke-width:2px,color:#e6f3ff classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff class A first class B,C,D step
What the denoiser actually learns
The common phrase “learn to reverse noise” invites the wrong mental image. During training, one clean sample and one noise draw produce xt. Yet once only xt is visible, the original pair is usually not identifiable. Many clean samples and many noise vectors could have produced the same noisy state. The network cannot recover a hidden historical fact that the input no longer determines.
Under the standard squared-error objective, the optimal predictor is a conditional expectation:
Why can that average guide generation? Gaussian corruption smooths the data distribution into qt. Its score is the spatial gradient st(x) = ∇x log qt(x). The vector points towards increasing log density. Under this corruption, the optimal noise predictor is a known rescaling of the score:
Score matching predates modern diffusion models.2 Vincent established a formal connection between score matching and denoising autoencoders under corruption.3 Song and Ermon then trained score networks over multiple noise scales and sampled with annealed Langevin dynamics.4 DDPMs gave a closely related construction through a variational latent-variable model, while the stochastic differential equation view later unified discrete diffusion and score-based methods in continuous time.6
Local direction is not a recovered history
A score vector is deliberately modest. At a particular state and noise level, it says which infinitesimal displacement would increase the log density most quickly. It does not name the training example that produced the state, certify a semantic interpretation or specify the complete route to a final sample. Calling it a direction rather than a reconstruction protects this distinction.
The distinction becomes visible at the symmetric point xt = 0 in the running example. The smoothed density can have equal support on both sides, so its score at the exact centre is zero. The field is not confused; symmetry has removed any local preference. A small random displacement creates a non-zero direction, and subsequent updates can amplify that branch. Across many samples, symmetric perturbations should send approximately half the mass towards each mode.
This also explains why training over noise time matters even when one network shares parameters across all steps. At high noise, the field expresses broad distribution shape. At low noise, it expresses sharp local geometry. Parameter sharing can transfer useful structure between these tasks, but time conditioning tells the model which field is being requested. The reverse path is learned only when these local fields are jointly accurate and mutually compatible enough for rollout.
A training example is an instrumented corruption
The forward process provides more than data augmentation. It supplies a complete causal record for each synthetic corruption: the clean item, selected time, added noise and resulting state. The network only sees the noisy state and time. The loss compares its prediction against the known noise. This is why diffusion training can resemble ordinary supervised regression even though the final objective is generative.
Ambiguity is where stochasticity earns its place
Return to the forbidden middle. Suppose a heavily noised value is zero. By symmetry, it is compatible with a clean value near −1 and one near +1. A direct least-squares estimate of x0 is therefore close to zero. That estimate is statistically sensible as a mean and generatively wrong as a sample.
Begin from the same ambiguous noisy state and use the same learned mean. In version A, make one deterministic jump to the conditional mean. In version B, take smaller transitions and retain calibrated reverse variance. A tends towards the unsupported centre; B can preserve two plausible futures until later evidence commits the path. This does not mean randomness repairs a bad model. It means a multimodal conditional distribution cannot generally be represented by one mean.
Diffusion ceases to help when the local reverse problems are not actually local, covered or compatible. Large skipped steps can make the Gaussian reverse approximation poor. Missing noise levels create extrapolation. A lossy latent encoder can erase distinctions before diffusion begins. A terminal distribution that differs from the sampling prior creates shift. Weak training data, over-strong guidance and memorisation remain data and modelling failures, not defects that iterative denoising automatically cures.
How the reverse path becomes a generator
A DDPM defines a learned reverse transition pθ(xt−1 | xt) as a Gaussian whose mean comes from the noise predictor and whose variance is fixed or learned. One common sampling update is:
The equation should be read as a numerical procedure, not an incantation. The network defines a field. The sampler decides how to traverse it. Step count, variance, parameterisation and numerical solver can change cost and quality even when the trained weights stay fixed. Karras and colleagues made this separation explicit by treating preconditioning, training choices and sampling choices as distinct design dimensions.11
Generation quality is therefore a property of the model-sampler pair. A final-output benchmark alone cannot tell whether errors came from score estimation, an inference schedule, overly aggressive steps, guidance or the decoder wrapped around a latent model.
Where an error enters changes what it becomes
Consider three controlled perturbations to the same trained predictor. At high noise, add a small directional bias towards positive values. At middle noise, damp the predicted magnitude. At low noise, add zero-mean jitter. The perturbations can have similar average squared size and radically different generative consequences. The early bias changes how much probability enters each mode. The middle damping leaves too much mass between modes. The late jitter mostly broadens samples that have already chosen a basin.
Sequential composition therefore does not make every local error equally dangerous. Some errors alter branch probabilities before the trajectory contains enough information to recover. Others affect surface detail near the endpoint. A coarse sampler can magnify a field error by extrapolating it over a large interval, while a very fine sampler can accumulate small systematic bias many times. The relevant unit is the interaction among noise level, error direction and numerical step.
A useful evaluation should consequently stratify denoising error by time, intervene on selected time bands and inspect the resulting distribution. One-step loss remains valuable for diagnosis, but rollout metrics reveal whether local estimates compose. Equal validation loss does not imply equal generative risk when the errors occur at different positions on the path. This is why the executable laboratory reports denoising error at t = 10, 50 and 90 as well as final Wasserstein distance and mode statistics.
Many steps are a design cost, not a law
The original DDPM formulation used long Markov chains. Subsequent work showed that the same training procedure can support other reverse trajectories. DDIM constructed non-Markovian processes with the same objective and reported large wall-clock sampling reductions in its experiments.7 Learned reverse variance reduced the required network evaluations in improved DDPMs.8 The continuous-time view supplied reverse SDEs and probability-flow ODEs.6 Dedicated solvers such as DPM-Solver then treated sampling as numerical integration and reported high-quality samples in roughly 10 to 20 network evaluations on studied benchmarks.14 Progressive distillation trained fewer-step students from longer-step teachers.13
These results are a serious objection to a simplistic account in which gradual stochastic reversal is itself the source of all capability. Fewer-step and deterministic paths can work. The durable mechanism is the learned time-dependent field and a compatible transport procedure. Small steps make the learning and approximation problem easier; they are not sacred.
Conditioning tilts the field
Unconditional diffusion estimates where data are probable. Conditional diffusion asks where data are probable given a label, text embedding, mask, measurement or another input. Classifier guidance adds a classifier gradient to the generative score. Classifier-free guidance trains conditional and unconditional predictions together, then extrapolates their difference during sampling. Its authors frame the guidance strength as a fidelity-diversity trade-off.10
That wording deserves operational weight. Raising guidance is not free semantic accuracy. It changes the vector field, can narrow variety, amplify artefacts and drive states into regions poorly covered during training. A conditional request is evidence about the desired sample, not authority to ignore the learned data geometry.
Latent diffusion adds another transformation. A pretrained autoencoder compresses images into a lower-dimensional representation, diffusion runs there, and a decoder returns to pixels. Rombach and colleagues showed that this can reduce computational cost while supporting text and other conditioning through cross-attention.12 The price is a new boundary: anything the encoder discards cannot be recovered by a perfect latent denoiser.
A synthetic catalogue-image service receives an approved product cut-out, a scene brief and a layout mask. An encoder maps the current image to latent space. The diffusion model predicts noise while cross-attention conditions the path on the brief; the mask constrains composition. A decoder returns pixels. Deterministic checks then verify dimensions, file integrity, mask adherence and prohibited-content rules before a human selects any asset for use.
The architecture creates four separable questions. Did the autoencoder preserve product identity? Did the conditional field follow the brief without collapsing diversity? Did the sampler remain stable at the chosen step count and guidance strength? Did downstream checks detect unacceptable outputs? Calling the whole chain “the diffusion model” would hide three of those failure locations.
stateDiagram-v2 [*] --> Claim state "The forward process is fixed<br/>supervision" as Claim state "The terminal prior is a<br/>contract, not decoration" as Test state "Thought experiment: two clocks<br/>with the same number of ticks" as Revision Claim --> Test: expose mechanism Test --> Decision: evidence survives Test --> Revision: rival survives Revision --> Claim: narrow or rebuild Decision --> [*]
Build and audit the whole path
A useful diffusion experiment should make its preferred explanation compete against a simpler one. The running two-mode case offers a clean test. Train a tiny network across all 100 noise levels. Then train the same architecture only at t = 50. The second model is allowed to become a competent medium-noise denoiser. It is then asked, unfairly but diagnostically, to drive the entire reverse chain.
The negative control isolates the paper's mechanism. Network size, optimiser, data and training budget remain the same. Only noise-level coverage changes. If the one-level model succeeds, the full path was unnecessary for this task. If it denoises at t = 50 yet fails to generate the two-mode distribution, that is direct evidence that learning one corruption inverse is different from learning a generative reverse process.
Put a direct generator beside the negative control
The one-level control answers a narrow question: does competence at one corruption level substitute for a learned path? It does not establish that diffusion is the best way to generate the target. A second baseline should map one Gaussian scalar directly to an output using a network of comparable capacity. Match data access, optimiser effort and, where possible, training compute. Then evaluate all systems with the same distributional metrics.
Three outcomes are informative. If the direct model and full diffusion both recover the modes, decomposition was useful but unnecessary here, so latency may favour the direct map. If only diffusion succeeds, the path is earning its cost on this task. If neither succeeds, the result says little about diffusion until capacity, optimisation and evaluation are checked. A negative control tests the proposed mechanism; a competing baseline tests the architecture decision.
Executable laboratory: a 1-D diffusion model
The accompanying script uses PyTorch and NumPy, fully synthetic data and two-hidden-layer MLPs. Its positive diffusion case samples a random timestep during training. Its negative case always trains at timestep 50. Both are run through the same 100-step DDPM sampler. A comparably sized direct generator maps Gaussian draws to outputs and learns with empirical one-dimensional Wasserstein loss.
The principal metric is empirical one-dimensional Wasserstein distance, which compares sorted target and generated samples in the original units. Two diagnostic proportions expose mode failure: the share left of zero should stay near one half, while the share inside |x| < 0.45 should remain close to zero.
def train(mode="all"):
model = EpsilonNet()
optimiser = torch.optim.Adam(model.parameters(), lr=2e-3)
for _ in range(5_000):
x0 = sample_data(512)
t = (torch.randint(1, T + 1, (512,)) if mode == "all"
else torch.full((512,), 50, dtype=torch.long))
epsilon = torch.randn_like(x0)
abar_t = alpha_bars[t - 1].view(-1, 1)
xt = abar_t.sqrt() * x0 + (1 - abar_t).sqrt() * epsilon
loss = ((epsilon - model(xt, t)) ** 2).mean()
optimiser.zero_grad(); loss.backward(); optimiser.step()
return model
@torch.no_grad()
def reverse_sample(model, n=20_000):
xt = torch.randn(n, 1)
for step in range(T, 0, -1):
t = torch.full((n,), step, dtype=torch.long)
epsilon_hat = model(xt, t)
a, abar = alphas[step - 1], alpha_bars[step - 1]
mean = (xt - (1 - a) / (1 - abar).sqrt() * epsilon_hat) / a.sqrt()
if step > 1:
abar_prev = alpha_bars[step - 2]
variance = (1 - abar_prev) / (1 - abar) * betas[step - 1]
xt = mean + variance.sqrt() * torch.randn_like(xt)
else:
xt = mean
return xt
Inspect the implementation in this paper. It includes deterministic seeds, the target generator, both diffusion regimes, the direct baseline, sampling, metrics and assertions for every case.
The one-level model's denoising mean-squared error at t = 50 is nearly the same as the full model's in the recorded run. Its error is much worse at t = 10 and t = 90. The control learned the task it was given and lacked the tasks it was not given. The direct baseline also recovers the simple target, so this experiment supports the reverse-path mechanism without claiming that diffusion is necessary for every distribution.
Complete script output and assertions
terminal alpha_bar: 0.0163
training direct-generator baseline ...
training positive model across all noise levels ...
training negative control only at t=50 ...
Positive: all-noise-level training
empirical W1 to target : 0.043
mean / standard dev. : +0.005 / 0.992
left-mode share : 0.490
central-gap share : 0.003
Negative: single-noise-level training
empirical W1 to target : 0.616
mean / standard dev. : +0.278 / 0.464
left-mode share : 0.289
central-gap share : 0.580
Competing baseline: direct generator
empirical W1 to target : 0.053
mean / standard dev. : +0.010 / 0.963
left-mode share : 0.507
central-gap share : 0.042
Denoising MSE by noise level
t=10: all-level=0.390, single-level=1.552
t=50: all-level=0.354, single-level=0.356
t=90: all-level=0.038, single-level=0.182
Checks passed: the path matters, but diffusion is not necessary for this toy target.Optional derivation: why noise prediction supplies a reverse mean
Conditioning the Gaussian forward process on both xt and x0 gives a tractable Gaussian posterior for xt−1. Substituting the closed-form expression for x0 in terms of xt and ε rewrites that posterior mean as a known function of xt, t and ε. Replacing the unavailable true ε with εθ yields the sampling mean used above. Ho and colleagues derive this parameterisation explicitly in equations 6 to 12 and Algorithms 1 and 2 of the DDPM paper.5
The derivation justifies the coefficients for the chosen forward process. It does not guarantee that a finite network estimates the conditional expectation perfectly, that a coarse sampler integrates it accurately, or that the training data define the desired distribution.
The reverse-path audit
A model card that says “diffusion” leaves the decisive engineering questions unanswered. The following instrument treats the path as the unit of evaluation. It can be used before training, when changing a sampler, or when qualifying a generated-data workflow.
| Test | Evidence to collect | Failure signal | Decision changed |
|---|---|---|---|
| Terminal-prior match | Estimate residual signal, moments and distinguishability between q(xT) and the chosen prior. | A classifier separates training terminal states from sampled prior states, or useful signal remains at T. | Extend or redesign the schedule; do not compensate only by adding inference steps. |
| Noise-level coverage | Hold-out denoising loss and score diagnostics across time, data slices and condition types. | Narrow bands of high error, especially at inference timesteps. | Change timestep sampling, weighting, capacity or parameterisation. |
| Sampler compatibility | Quality, diversity and trajectory deviation versus network evaluations under matched seeds. | A faster sampler changes modes, guidance response or rare-case behaviour disproportionately. | Treat the sampler change as a behavioural release, not a latency-only optimisation. |
| Conditioning response | Prompt or condition adherence together with diversity, off-manifold artefacts and counterfactual condition tests. | Higher guidance improves one score while narrowing coverage or creating repeated artefacts. | Reduce guidance, retrain conditional coverage or add explicit constraints outside the model. |
| Representation boundary | Round-trip tests through encoder and decoder on identity-critical or measurement-critical features. | Information is lost before denoising or hallucinated by decoding. | Move diffusion to another representation, improve the autoencoder or reject the use case. |
| Memorisation and provenance | Nearest-neighbour, duplicate, canary and extraction tests against governed training data. | Generated outputs reproduce sensitive or copyrighted training examples beyond accepted thresholds. | Deduplicate, restrict data, apply privacy controls, retrain or withdraw the model. |
| Outcome suitability | Task-specific utility, harm and human-review evidence, not only perceptual scores. | Attractive samples fail the decision or operational purpose. | Reject deployment or narrow the role to draft generation. |
The memorisation row is not hypothetical. Carlini and colleagues extracted more than a thousand training examples from studied image diffusion models using a generate-and-filter pipeline, with leakage affected by modelling and data choices.16 That result does not imply every sample is copied or every diffusion model has the same exposure. It establishes that iterative noise reversal is compatible with memorisation and requires explicit testing.
Adopt diffusion when noise-conditioned local estimation, multimodal coverage or flexible conditioning earns more value than the path costs. Prefer a direct generator, flow, autoregressive model or deterministic task model when latency, exact likelihood structure, discrete constraints or a narrow conditional mapping dominate. Within diffusion, qualify schedule, target, sampler and guidance together. A faster sampler is a model behaviour change even when weights are untouched.
What would weaken this paper's thesis?
A matched experiment in which one-level or one-step training reliably reproduces the same complex distributions, with equal data, capacity, compute and evaluation coverage, would weaken the claim that multi-noise decomposition provides the useful learning advantage. So would evidence that performance depends mainly on architecture scale while timestep coverage has little causal effect. The toy control is discriminating but modest: it proves the mechanism in one synthetic setting, not universal superiority.
An alternative explanation also remains live. The broad success of diffusion may come less from “reversing noise” than from the regularisation, data augmentation and optimisation properties of training one large network on many corruption tasks. These descriptions overlap but suggest different experiments. Corruption families other than Gaussian noise, discrete diffusion and masked generation help separate which ingredient carries the advantage.
Compact glossary
- Diffusion time
- An index of corruption strength. It is not physical time unless a particular model gives it that interpretation.
- Score
- The gradient of log probability density at a noise level. It points towards locally higher density.
- Noise schedule
- The rule assigning corruption variance or signal-to-noise ratio across time.
- Sampler
- The numerical procedure that traverses the learned reverse field to obtain a sample.
- Guidance
- A modification of the reverse field intended to strengthen a condition, usually with a fidelity-diversity trade.
- Latent diffusion
- Diffusion performed in a compressed representation produced and decoded by an autoencoder.
sequenceDiagram participant Q as Question participant M as Mechanism participant E as Evidence participant D as Decision Q->>M: The forbidden middle M->>E: The forward process is fixed supervision E-->>M: compare rival explanations E->>D: Design the path, not only the denoiser D-->>Q: revise scope or act
Design the path, not only the denoiser
The word “denoising” makes diffusion sound like image cleaning. Its deeper mechanism is distribution transport. A fixed forward process creates a continuum of smoothed distributions and unlimited instrumented corruptions. A time-conditioned network learns local conditional directions across that continuum. A sampler composes the directions from a simple prior back towards the data.
The architecture decision changes from “which diffusion model?” to “which reverse path is justified?” The answer must include terminal-prior match, noise-level coverage, target parameterisation, representation, sampler, guidance, data provenance and output checks. Those choices determine whether local estimates form a defensible generator or merely a sequence of plausible corrections.
The smallest useful experiment is now clear. Build a target with a genuine empty region or several modes. Compare full noise-level training with a one-level denoiser and a direct baseline under matched compute. Measure the distribution, not only examples. Then perturb the schedule and sampler independently. A result that survives those controls explains why the system generates. A beautiful sample does not.
References
- Sohl-Dickstein, J., Weiss, E. A., Maheswaranathan, N. and Ganguli, S. (2015). Deep Unsupervised Learning using Nonequilibrium Thermodynamics. ICML.
- Hyvärinen, A. (2005). Estimation of Non-Normalized Statistical Models by Score Matching. Journal of Machine Learning Research, 6.
- Vincent, P. (2011). A Connection Between Score Matching and Denoising Autoencoders. Neural Computation, 23(7).
- Song, Y. and Ermon, S. (2019). Generative Modeling by Estimating Gradients of the Data Distribution. NeurIPS.
- Ho, J., Jain, A. and Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. NeurIPS.
- Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S. and Poole, B. (2021). Score-Based Generative Modeling through Stochastic Differential Equations. ICLR.
- Song, J., Meng, C. and Ermon, S. (2021). Denoising Diffusion Implicit Models. ICLR.
- Nichol, A. Q. and Dhariwal, P. (2021). Improved Denoising Diffusion Probabilistic Models. ICML.
- Dhariwal, P. and Nichol, A. (2021). Diffusion Models Beat GANs on Image Synthesis. NeurIPS.
- Ho, J. and Salimans, T. (2022). Classifier-Free Diffusion Guidance.
- Karras, T., Aittala, M., Aila, T. and Laine, S. (2022). Elucidating the Design Space of Diffusion-Based Generative Models. NeurIPS.
- Rombach, R., Blattmann, A., Lorenz, D., Esser, P. and Ommer, B. (2022). High-Resolution Image Synthesis with Latent Diffusion Models. CVPR.
- Salimans, T. and Ho, J. (2022). Progressive Distillation for Fast Sampling of Diffusion Models. ICLR.
- Lu, C., Zhou, Y., Bao, F., Chen, J., Li, C. and Zhu, J. (2022). DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps. NeurIPS.
- Lin, S., Liu, B., Li, J. and Yang, X. (2024). Common Diffusion Noise Schedules and Sample Steps Are Flawed. WACV.
- Carlini, N. et al. (2023). Extracting Training Data from Diffusion Models. USENIX Security.