Recommended resources
The freely available resources this lesson will direct you to.
Hello. Previously, we collapsed the entire Gaussian forward chain into a direct conditional distribution:
Here, is the cumulative product of the per-step retention factors. It tells us how much of the original sample remains at timestep ; is the variance of the accumulated Gaussian noise.
This lesson turns those two quantities into a single diagnostic: the signal-to-noise ratio, or SNR. You will learn to compute it from a diffusion schedule, interpret what high and low values mean, and use log SNR as a more convenient coordinate for reasoning about noise levels.
From the forward marginal to SNR
It helps to rename the two coefficients in the forward marginal:
Then the forward process becomes
The coefficient is the signal amplitude scale and is the noise standard deviation. SNR, however, is defined in terms of power rather than amplitude. Since power or variance scales with the square of a coefficient,
and
Therefore, the conventional DDPM SNR at timestep is
Equivalently, in the general notation ,
Be careful about notation across papers:
- In the previous lesson, meant one-step retention.
- The total signal amplitude after steps is .
- Some continuous-time sources use for that total signal amplitude directly.
The underlying ratio is unchanged: square the total signal coefficient and divide by the total noise variance.
Strictly speaking, conditioned on a fixed , the signal component is deterministic rather than random. The “power” language becomes literal when data are approximately standardized so that each coordinate of has unit variance. Under that convention,
This is why the common DDPM construction is called variance-preserving: as corruption grows, signal variance is exchanged for noise variance while the overall scale remains controlled.
Noise schedules considered harmful
Read the “Noise schedules: a whirlwind tour” discussion to connect the DDPM coefficients to the more general form \mathbf{x}_t=\alpha(t)\mathbf{x}_0+\sigma(t)\boldsymbol{\epsilon}. The article also gives the general SNR definition and explains why log SNR is useful across different diffusion formulations.
In “Noise schedules: a whirlwind tour,” begin with the paragraph that asks how much total noise has been added so far. Read the schedule overview, then continue through the variance-preserving discussion immediately below it. Later in that same section, locate the paragraph beginning “To adjust a pre-existing noise schedule.” Read the SNR discussion. Focus on the fact that SNR measures the relative balance of retained signal and added noise, not simply the raw timestep index. Then read the opening paragraph under “Noise levels: focusing on what matters,” especially the log SNR interpretation. For this course, retain the key idea that a timestep is useful mainly because it identifies a noise level.
Interpreting high, medium, and low SNR
SNR is a positive, dimensionless ratio. Its scale matters much more than its exact decimal representation.
| SNR regime | Relation of powers | Meaning for | Denoising task |
|---|---|---|---|
| Signal power dominates | The sample is close to | Remove a subtle perturbation | |
| Signal and noise powers match | Both are equally present in variance terms | Recover substantial structure amid noise | |
| Noise power dominates | The input resembles Gaussian noise | Infer global, uncertain structure |
At the beginning of the forward process,
so
is very large. In the idealized clean limit where , the denominator is zero and SNR is infinite: there is no added noise.
Late in the process,
so
At this point, the noisy sample contains little direct evidence about the particular original image that produced it. The denoiser must rely increasingly on patterns learned from the data distribution.
A useful threshold is the equal-power point:
Solving for ,
gives
So signal and noise contribute equal variance exactly when half of the variance budget is attributed to retained data and half to added noise. This does not mean the image is necessarily half recognizable to a human; recognizability depends on image structure, resolution, and data normalization. But it is a reliable, model-independent statement about the forward process.
Computing SNR at a timestep
Suppose that at some timestep,
Then
and
The retained signal has four times the power of the added noise.
Here are several representative values:
| Noise variance | Interpretation | ||
|---|---|---|---|
| Very lightly corrupted | |||
| Signal clearly dominates | |||
| Equal signal and noise power | |||
| Noise dominates | |||
| approximately | Almost pure noise |
In an implementation, you generally start from a vector of values:
You can then compute the full SNR curve with one elementwise division:
import torch
# betas has shape (T,); values must lie in (0, 1)
alphas = 1.0 - betas
alpha_bar = torch.cumprod(alphas, dim=0)
snr = alpha_bar / (1.0 - alpha_bar)
For a batch of random timesteps during training, gather the relevant cumulative values and reshape them for broadcasting over images:
B = x0.shape[0]
t = torch.randint(0, len(alpha_bar), (B,), device=x0.device)
ab = alpha_bar[t].view(B, 1, 1, 1)
snr_t = ab / (1.0 - ab)
In floating-point code, the earliest timesteps can have extremely close to . If you will take logarithms or use SNR in a loss weight, guard against numerical infinities:
eps = 1e-8
ab_safe = ab.clamp(min=eps, max=1.0 - eps)
snr_t = ab_safe / (1.0 - ab_safe)
log_snr_t = torch.log(ab_safe) - torch.log1p(-ab_safe)
The clamp is a numerical precaution; it should not be interpreted as changing the mathematical endpoint of the diffusion process.
Why log SNR is often the better quantity
Raw SNR spans an enormous range. It may begin near infinity and end near zero, which makes a linear plot hard to read and an awkward scale for time-conditioning conventions.
Define the log SNR:
Its interpretation is particularly clean:
- : signal power exceeds noise power.
- : equal signal and noise power.
- : noise power exceeds signal power.
Using a logarithm also turns multiplicative changes in SNR into additive changes in log SNR. For example, a change from SNR to is the same log-scale change as a move from to , even though the raw differences are very different.

The schedule figure has an important message: a timestep is not intrinsically meaningful. Two schedules can use the same number of timesteps and both end at near-pure noise, while assigning very different SNR values to their intermediate steps. Therefore, the reverse model is really learning a family of denoising problems indexed by noise level.
The short excerpt below gives a visual motivation for this distinction before the next lesson examines the linear and cosine profiles more carefully.
Diffusion Models | Paper Explanation | Math Explained
Watch “Diffusion Models | Paper Explanation | Math Explained” from Outlier for a concise visual explanation of why schedule shape changes when information is destroyed during the forward process.
Watch the schedule comparison. Focus on the claim that the original linear schedule can erase usable image information too early; translate that claim into the language of a rapidly falling SNR.
A final distinction: noise level versus timestep
It is tempting to say “early timestep” and “low noise” interchangeably. That is only safe after specifying a schedule. The robust description is based on , SNR, or log SNR:
For the standard variance-preserving process, each of these determines the others:
and
This equivalence will become useful later when discussing model parameterizations and loss weighting. For now, the practical principle is simple: whenever you want to know how difficult a denoising timestep is, inspect its SNR rather than relying on its index alone.
Key takeaways
For DDPM forward diffusion,
the signal and noise powers are respectively and . Thus,
is the central measure of corruption level.
High SNR means the input is mostly retained signal; low SNR means it is dominated by random noise. The equal-power point occurs at , where . Log SNR provides a stable and comparable scale:
Next, we will compare linear and cosine noise schedules by studying how each one distributes SNR across the diffusion trajectory.