Source
Karras et al. (2022), LIT-075 — ARXIV-2206.00364, NeurIPS 2022.
A denoiser is asked to do a different job at every noise level: at low noise it must pass the input through almost unchanged, at high noise it must predict the clean signal from something close to noise. Train one network on both ends without adjusting for it and the loss is dominated by whichever regime happens to have the largest raw magnitudes, and the gradients are scaled inconsistently across the conditioning variable.
The paper’s answer has two parts, and both are training-time:
- Preconditioning. Write the denoiser as
D(x;σ) = c_skip(σ)·x + c_out(σ)·F(c_in(σ)·x; c_noise(σ)), so that the raw networkFis a different function from the denoiser, and then solve for the scalings instead of tuning them. Two of the four follow from the unit-variance requirement this practice is named for —c_inmakes the network’s input unit-variance,c_outmakes its training target unit-variance — and the network is then solving the same-sized problem at every noise level rather than one whose scale varies by orders of magnitude. The other two do not:c_skipis chosen to amplifyF’s own error as little as possible, andc_noiseis, in the paper’s words, “chosen empirically”. A fifth term, the loss weightλ(σ), cancelsc_out’s scaling so that every noise level contributes equally to the loss at initialization — which is what leaves the sampling distribution below as the thing deciding where training compute goes. It does not stay equal; see below. - The training-noise distribution. Sample the noise level from a log-normal concentrated on the middle of the range, rather than uniformly. The extremes teach little — the near-clean end is trivial and the near-pure- noise end is nearly unlearnable — so uniform sampling spends most of the compute where there is least to learn.
Both halves originate in LIT-075, which derives c_in and c_out from the
unit-variance requirement in its Appendix B.6 and fixes the log-normal at
P_mean = −1.2, P_std = 1.2. Its evidence is a separate ablation of each
change (Table 2, configs A–F) and the results they add up to: FID 1.79
class-conditional and 1.97 unconditional on CIFAR-10 at 35 network
evaluations, and an ImageNet-64 model taken from 2.07 to 1.55 by the sampler
alone and to 1.36 once retrained with this preconditioning and noise
distribution.
Both are recorded here as training-optimization rather than as diffusion
trivia because the shape generalizes: when a network is conditioned on a
variable that changes the difficulty of its task, normalize the target so the
loss means the same thing at every value, and sample that variable where the
signal is. The paper is also the cleanest demonstration in the corpus that
separating sampler from training objective from architecture lets each be
tuned without disturbing the others.
The requirement has an empirical statement four months earlier
LIT-067 (Progressive Distillation, February 2022) reaches the same
requirement from the other direction, by watching ε-prediction break. As the
signal-to-noise ratio goes to zero, “the effect of small changes in the neural
network output on the implied prediction in x-space is increasingly amplified” —
so the criterion it states is that the implied x̂ must remain stable as
λ_t = log(α²/σ²) varies.
That is SOTA-188’s subject in different words: EDM derives coefficients that
satisfy a unit-variance condition, and Progressive Distillation finds a
stability condition empirically and gives three parameterizations meeting it.
Whether the two conditions are the same or merely close is not written down
anywhere.
The practical consequence is SOTA-195 — predict v — which is what people
type, and which this practice’s derivation explains.
Confirmed at 8B, in the other coordinate system
Esser et al., LIT-449, rank 61 formulations and the winner draws its training timesteps from a logit-normal — a density that vanishes at both endpoints and concentrates in the middle, which is this practice’s recommendation written for a rectified flow instead of for EDM’s noise levels. The negative control is what makes it evidence: the same forward process with uniform timesteps does not win.
Stable Diffusion 3 was already listed below as an implementation, before the record held the paper. The listing was right, and the reason is worth more than the listing: two formulations that parameterize corruption differently reach the same instruction about where along it to train.
The objection this practice never answered
A reader told to change where they sample the noise may reasonably ask whether they have changed the model. THEORY-027 is the answer, and it is a qualified no: in continuous time the variational bound depends on the noise schedule only through its endpoints, so the shape is not part of the model and choosing it is an optimisation decision.
The qualification matters. That invariance is stated for the unweighted bound, and this practice’s loss weighting is exactly what puts it outside that statement. What the theory establishes is that the schedule is the kind of thing one is free to choose; it does not establish that this particular choice is neutral with respect to what is optimised.
The equal weighting holds only at the start
EDM2 (LIT-714), from the same group, reports what
happens after initialization: the per-noise-level loss falls quickly in the
middle of the range and hardly at all at the ends, so a static λ(σ) that
balanced the gradients at step zero stops balancing them, and “no static
choice of λ(σ) is sufficient”. It learns a per-noise-level log-variance
u(σ) alongside the network — a continuous form of uncertainty-weighted
multi-task loss — which amounts to dividing each level’s loss by its own
running value.
Two limits on how far that goes. The adaptive weighting arrives in EDM2 bundled
with retuned learning rate, batch and noise distribution, so its own
contribution is not isolated. And it leaves this practice’s recommendation
where it was: the sampling distribution still decides where training effort
goes, and the target still wants unit variance. What changes is the
description of λ(σ), from “equalises the noise levels” to “equalises them
at initialization”.
Conditions
The specific scalings and the log-normal’s parameters are derived for the
schedule the paper adopts (σ(t) = t, s(t) = 1), and every coefficient is
a function of σ and a single data scale σ_data — 0.5 for the datasets
used. Carrying the numbers to a different noise parametrization is a
mistake; carrying the principle — make the target unit-variance, then
sample where the learning is — is the point.
The log-normal’s parameters are tuned, not derived: ln σ ~ N(−1.2, 1.2²)
for these datasets. The shape has an argument behind it and the numbers do
not.
EDM2 is the demonstration: in Stable Diffusion’s VAE latents the useful
region sits at higher noise, and it refits to N(−0.4, 1.0²).
Reported at image scale, on ImageNet-64 and CIFAR-10. It is not an autoregressive-language result and nothing in the record replicates it there, which is a reason to read it for the shape rather than the recipe.
Known implementations
- EDM and its successors; the log-normal timestep sampling is standard in the rectified-flow and diffusion-transformer lines that followed