VerifiedarXiv:2602.1842826 min
Diffusion · Theory

The Geometry of Noise: Why Diffusion Models Don't Need Noise Conditioning

A diffusion model can generate without being told its noise level, unless it is trained to predict the noise.

Trained without the noise-level input, velocity-predicting models on CIFAR-10 still reach image-quality scores (FID, lower is better) of 2.61 and 2.23, while a noise-predicting DDIM degrades to 40.90. Sahraee-Ardakan, Delbracio and Milanfar explain both numbers with the geometry of high-dimensional noise and one coefficient of the sampling equation.

Explaining the paperThe Geometry of Noise: Why Diffusion Models Don't Need Noise ConditioningSahraee-Ardakan, Delbracio, Milanfar · Google · 2026 · arXiv:2602.18428 ↗

Gaussian noise in 3,072 dimensions, the size of one CIFAR-10 image, has a length within about 1.3% of σ√3072, so the distance from a noisy image to the clean ones nearly fixes σ.

A diffusion or flow model generates by starting from pure noise and removing it over many small steps. At every step the network gets two inputs: the current noisy sample u\mathbf{u}, and a scalar that says how much noise it carries, written tt or σ\sigma. In the DDPM U-Net, for example, tt is turned into a sinusoidal embedding and added inside every residual block. The input is there because the right output changes with the noise level: at high noise the best guess of the clean image is a blurry average over many training images, and near the end of sampling it is a small correction to an image that is already almost clean.

Sun, Jiang, Zhao and He (Is noise conditioning necessary?, 2025) deleted that input and trained networks that see only u\mathbf{u}. On CIFAR-10 a blind flow-matching model reached an FID of 2.61 and their blind uEDM variant 2.23, both predicting a velocity, while a blind DDIM, which predicts the added noise, reached 40.90 (FID measures the distance between generated and real images; lower is better). Equilibrium Matching (EqM, Wang and Du, 2025) has no time input by design: it learns one field whose fixed points are the data and samples by descending it. Models of this kind are called autonomous or noise-blind. They learn a single vector field f(u)f(\mathbf{u}), the same function of u\mathbf{u} whatever noise level produced it.

This paper, by Sahraee-Ardakan, Delbracio and Milanfar at Google, is a theory of those results. It asks how a network can act on a noise level it is never given, what a single time-independent field is following when the ideal gradient is infinite at the data, and why predicting velocity survives the loss of the input while predicting noise does not. The page goes in this order: the coefficients shared by DDPM, EDM, flow matching and EqM; the optimal blind model, which averages over a posterior on the noise level; the high-dimensional geometry that makes that posterior sharp; the marginal energy and its infinitely deep wells; the gain that keeps the learned field finite; the sampler coefficient that decides stability; and the experiments.

The noise level as an input

The forward process mixes a clean data point x\mathbf{x} with Gaussian noise ϵ\boldsymbol{\epsilon}, using two schedule functions of a noise index t∈[0,1]t\in[0,1]:

ut=a(t) x+b(t) ϵ,ϵ∼N(0,I)\mathbf{u}_t = a(t)\,\mathbf{x} + b(t)\,\boldsymbol{\epsilon}, \qquad \boldsymbol{\epsilon}\sim\mathcal{N}(\mathbf{0},\mathbf{I})
(2)

a(t)a(t) scales the signal and b(t)b(t) scales the noise. At t=0t=0 the observation is the data; as tt grows the noise term takes over. For normalized data the paper summarizes a schedule by its signal-to-noise ratio:

SNR(t)=a2(t)b2(t)\text{SNR}(t) = \frac{a^2(t)}{b^2(t)}
(3)

Training is a regression. The network sees ut\mathbf{u}_t and is asked for a fixed linear combination of the two ingredients, c(t)x+d(t)ϵc(t)\mathbf{x} + d(t)\boldsymbol{\epsilon}, scored by squared error:

L(f)=Ex,ϵ,t[ ∥f(ut)−(c(t)x+d(t)ϵ)∥2 ]\mathcal{L}(f) = \mathbb{E}_{\mathbf{x},\boldsymbol{\epsilon},t}\big[\,\lVert f(\mathbf{u}_t) - (c(t)\mathbf{x} + d(t)\boldsymbol{\epsilon}) \rVert^2\,\big]
(4)

The four coefficients are all that separates the common model families (the paper's Table 1):

modela(t)b(t)c(t)d(t)target
DDPM√ᾱₜ√(1−ᾱₜ)01noise ε
EDM1σₜ10clean signal x
Flow matching1−tt−11velocity ε − x
EqM1−tt−ttt(ε − x)

DDPM uses a variance-preserving schedule, a2+b2=1a^2+b^2=1, where αˉt\bar\alpha_t is the cumulative product of its per-step signal factors. The EDM row is the paper's simplified signal-prediction form; the EDM paper itself wraps the network in noise-dependent input and output scalings, which the analysis does not need. Flow matching moves along the straight line from data at t=0t=0 to noise at t=1t=1, and its target ϵ−x\boldsymbol{\epsilon}-\mathbf{x} is the time derivative of ut\mathbf{u}_t along that line, so it points from data toward noise. EqM uses the same path with the target multiplied by tt.

At t=0.3t=0.3 on the flow-matching path, u=0.7x+0.3ϵ\mathbf{u} = 0.7\mathbf{x} + 0.3\boldsymbol{\epsilon}. The flow-matching target is ϵ−x\boldsymbol{\epsilon}-\mathbf{x}, the EqM target is 0.3(ϵ−x)0.3(\boldsymbol{\epsilon}-\mathbf{x}), and a noise-prediction or signal-prediction network trained on the same path would be asked for ϵ\boldsymbol{\epsilon} or x\mathbf{x}. Many pairs (x,ϵ)(\mathbf{x},\boldsymbol{\epsilon}) produce the same u\mathbf{u}, so no network can hit its target exactly; it learns an average.

The loss decides which average. For a fixed input, the constant c\mathbf{c} that minimizes the expected squared distance to a random target y\mathbf{y} is its mean, because the expected squared distance equals ∥E[y]−c∥2\lVert \mathbb{E}[\mathbf{y}]-\mathbf{c}\rVert^2 plus the variance of y\mathbf{y}. A network given both u\mathbf{u} and tt therefore learns the conditional mean given both:

ft∗(u)=Ex,ϵ∣u,t[ c(t)x+d(t)ϵ ]f^*_t(\mathbf{u}) = \mathbb{E}_{\mathbf{x},\boldsymbol{\epsilon}\mid\mathbf{u},t}\big[\,c(t)\mathbf{x} + d(t)\boldsymbol{\epsilon}\,\big]
(5)

This is a time-dependent vector field, one arrow for every (position, noise level) pair. At high noise u\mathbf{u} says little about which training point it came from, so the implied clean guess is close to the dataset average; at low noise the guess is the nearest training point. A network without tt has to produce one arrow at each u\mathbf{u} for both situations.

Training without the noise level

Without tt, the network is a function of u\mathbf{u} alone, and its squared-error minimizer is the mean of the target given u\mathbf{u} only. By the law of total expectation, that mean averages the conditioned optimum over the noise levels that could have produced u\mathbf{u} (the paper's Lemma 1):

f∗(u)=Et∣u[ ft∗(u) ]f^*(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}\big[\,f^*_t(\mathbf{u})\,\big]
(6)

The weights are the posterior over the noise level, p(t∣u)∝p(u∣t) p(t)p(t\mid\mathbf{u}) \propto p(\mathbf{u}\mid t)\,p(t): how likely each level is to have produced this particular u\mathbf{u}, times how often training samples that level. The optimal blind model is the posterior-weighted mixture of the conditioned models, and it equals a single conditioned model wherever the posterior sits on one level.

For a finite training set the optimal blind field can be computed directly. The listing evaluates it for EqM (Table 1's EqM row, where the conditioned field is u−Dt∗(u)\mathbf{u} - D^*_t(\mathbf{u})) at one point, with the prior on tt approximated by a grid. Nothing is trained here; a trained blind network approximates the same function from samples.

# Optimal noise-blind EqM field at one point u, for a finite dataset.
# X: (N, D) training points. Schedule a(t) = 1 - t, b(t) = t.
# Prior on t: uniform, approximated by a grid.
ts = np.linspace(0.02, 0.98, 64)
logp, Dt = [], []
for t in ts:
    d2 = ((u - (1 - t) * X) ** 2).sum(axis=1)   # (N,) squared distances
    lw = -d2 / (2 * t * t)                      # log N(u; a x_k, b^2 I) + const
    Dt.append(softmax(lw) @ X)                  # D*_t(u) = E[x | u, t], (D,)
    logp.append(logsumexp(lw) - D * np.log(t))  # log p(u | t) + const
post = softmax(np.array(logp))                  # p(t | u) on the grid, (64,)
f = post @ (u - np.array(Dt))                   # f*(u) = E_t|u[u - D*_t(u)]
# sampling: u = u - h * f, repeated; no t is ever passed in

Figure 1 evaluates this field on a grid over five data points in the plane. Particles start from noise and move by u←u−h f∗(u)\mathbf{u} \leftarrow \mathbf{u} - h\,f^*(\mathbf{u}). The field is computed once and never receives a noise level. Press play and follow where the particles stop.

Figure 1 · one static field generates
step 0
The optimal noise-blind EqM field f*(u) for five data points, computed in closed form with no noise level fed in. Press play or scrub: particles that start as noise follow the one unchanging field and stop on the data, where the field is zero.

The particles stop on the data points because near a training point the posterior puts nearly all its weight on tiny tt, where the denoised guess Dt∗D^*_t is that point itself, so u−Dt∗\mathbf{u} - D^*_t goes to zero and the data points are stable equilibria of the field.

Equation (6) still looks like it should fail between the data. A high-noise arrow points toward the dataset average, a low-noise arrow points toward one example, and their average points somewhere in between. The blend is a compromise only where the posterior is spread over both kinds of level. Figure 2 shows the posterior itself for a probe you drag around three data points.

Figure 2 · the posterior over the noise level
drag the probe; watch p(t | u) sharpen near the data
The posterior p(t | u) for a draggable probe u among three data points, with the most likely level t̂ marked. Drag the probe from open space onto a data point.

Far from the data the curve is broad and sits at large tt. On a data point it collapses to a spike near t=0t=0. Wherever the posterior is a spike at some t^\hat t, equation (6) returns the single conditioned field ft^∗f^*_{\hat t}, and the blind model agrees with the model that was told the level.

The paper also writes the field in terms of the denoiser Dt∗(u)=E[x∣u,t]D^*_t(\mathbf{u}) = \mathbb{E}[\mathbf{x}\mid\mathbf{u},t], the posterior mean of the clean signal at level tt (Lemma 2). Since ϵ=(u−ax)/b\boldsymbol{\epsilon} = (\mathbf{u} - a\mathbf{x})/b, any target cx+dϵc\mathbf{x}+d\boldsymbol{\epsilon} is an affine mix of the current point and the clean guess:

f∗(u)=Et∣u ⁣[ d(t)b(t) u+(c(t)−d(t)a(t)b(t))Dt∗(u) ]f^*(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}\!\left[\,\frac{d(t)}{b(t)}\,\mathbf{u} + \Big(c(t) - \frac{d(t)a(t)}{b(t)}\Big) D^*_t(\mathbf{u})\,\right]
(7)

Plugging in Table 1's rows: DDPM gives the posterior average of (u−αˉt Dt∗)/1−αˉt(\mathbf{u}-\sqrt{\bar\alpha_t}\,D^*_t)/\sqrt{1-\bar\alpha_t}, the noise implied by the clean guess; EDM gives the average clean guess itself; flow matching gives the average of (u−Dt∗)/t(\mathbf{u}-D^*_t)/t; and EqM the average of u−Dt∗\mathbf{u}-D^*_t, the field in the listing.

Reading the noise level off the distance

A Gaussian noise vector in DD dimensions has a nearly fixed length. Its squared length ∥ϵ∥2\lVert\boldsymbol{\epsilon}\rVert^2 is a sum of DD independent squared standard normals, with mean DD and standard deviation 2D\sqrt{2D}, so ∥ϵ∥\lVert\boldsymbol{\epsilon}\rVert is about D\sqrt{D} with a relative spread of about 1/2D1/\sqrt{2D}. For D=3072D = 3072, the number of values in one 32×32 color CIFAR-10 image, the spread is 1.3%. Noise of level σ\sigma moves a point a distance σD\sigma\sqrt{D}, give or take 1.3%, onto a thin spherical shell around where it started (concentration of measure).

Now let the data lie on a dd-dimensional subspace of the DD-dimensional space. The noise splits into a part along the subspace, which moves the point within the data and cannot be told apart from a different clean point, and a part in the remaining D−dD-d directions, which moves it off. Only the second part shows up as distance rr to the data, and r≈σD−dr \approx \sigma\sqrt{D-d}. The paper's Appendix C works this out for a linear subspace with a flat prior on the position within it. Integrating the position out leaves a likelihood for σ\sigma that depends only on rr, maximized at

σ^=rD−d,E[σ^2]=σ2,Var⁡(σ^2)=2σ4D−d\hat{\sigma} = \frac{r}{\sqrt{D-d}}, \qquad \mathbb{E}\big[\hat\sigma^2\big] = \sigma^2, \qquad \operatorname{Var}\big(\hat\sigma^2\big) = \frac{2\sigma^4}{D-d}

So σ^2\hat\sigma^2 is unbiased and its relative spread falls like 1/D−d1/\sqrt{D-d}. The posterior over σ\sigma narrows at the same rate: its variance is about the inverse Fisher information, σ^2/(2(D−d))\hat\sigma^2/(2(D-d)), a relative spread of 1/2(D−d)1/\sqrt{2(D-d)}.

Take a single data point (d=0d=0) and an observation at distance rr from it, and compare three noise levels under the likelihood p(u∣σ)∝σ−De−r2/2σ2p(\mathbf{u}\mid\sigma) \propto \sigma^{-D} e^{-r^2/2\sigma^2}. In D=2D=2 with r=0.71r = 0.71 the estimate is σ^=0.5\hat\sigma = 0.5, and σ=0.4\sigma=0.4 and σ=0.6\sigma=0.6 are 0.89 and 0.94 times as likely as σ=0.5\sigma = 0.5, so distance says almost nothing about the level. In D=100D=100 with r=5r=5 the estimate is again 0.5, but σ=0.4\sigma=0.4 is now 0.0030 times as likely (about 1 in 330) and σ=0.6\sigma=0.6 is 0.052 times as likely.

Figure 3 plots the distribution of σ^\hat\sigma for a low and a high true level as DD grows. The shaded overlap is the range of distances that either level could have produced, where a blind model cannot tell which one it is looking at.

Figure 3 · the noise level separates as D grows
D = 8
The estimate σ̂ = r/√(D−d) for a low and a high true noise level, with the overlap shaded. Drag D from 2 to 256. At the default D = 8 the two still overlap by 17%; the readout calls them separable from D = 11, and they are disjoint by D = 128.

Each bell summarizes a shell of observations. Figure 4 draws the shells themselves in the one case that can be drawn, D=3D=3 with a single data point at the origin (d=0d=0). Real models sit at hundreds or thousands of dimensions, where the same shells are much thinner relative to their radius.

Figure 4 · the two shells, in the drawable case
Noisy observations of one data point at two noise levels in D=3D=3, drawn as idealized thin shells at their RMS radii: the teal inner shell at σloD−d≈0.69\sigma_{\text{lo}}\sqrt{D-d}\approx 0.69 and the amber outer shell at σhiD−d≈1.73\sigma_{\text{hi}}\sqrt{D-d}\approx 1.73. Real observations in D=3D=3 spread about ±0.27 and ±0.67 around those radii (one standard deviation), so the two shells overlap. Drag to rotate, and use the buttons to show one shell at a time. For a data manifold of dimension d=1d=1 the shells become tubes around a line.

The geometry makes the noise level recoverable from u\mathbf{u}. Whether a trained network actually computes something like r/D−dr/\sqrt{D-d} is an empirical question. Sun et al.'s results say it does in practice, and the concurrent analysis of Kadkhodaie, Pooladian, Chewi and Simoncelli proves that blind denoisers can estimate the noise level from one observation when the data's intrinsic dimension is much smaller than the ambient one. The paper calls this high-dimensional concentration Regime I.

The posterior also collapses near the data for a second reason that does not need high dimension, which the paper calls Regime II. As u\mathbf{u} approaches a data point, the smallest noise levels explain it best, and p(t∣u)p(t\mid\mathbf{u}) concentrates at t→0t \to 0. Appendix B proves this for a finite set of points when D>2D>2 and for a dd-dimensional manifold when D−d>2D-d>2. Below those dimensions the proof does not go through, and two of the toy figures further down show what changes.

The marginal energy

For a conditioned model the field at each tt is tied to the score ∇log⁡p(u∣t)\nabla \log p(\mathbf{u}\mid t) of the noisy data at that level. For the blind field the paper proposes a single landscape shared by all levels, the marginal energy:

Emarg(u)=−log⁡p(u),p(u)=∫p(u∣t) p(t) dtE_{\text{marg}}(\mathbf{u}) = -\log p(\mathbf{u}), \qquad p(\mathbf{u}) = \int p(\mathbf{u}\mid t)\,p(t)\,dt
(1)

The density p(u)p(\mathbf{u}) describes noisy observations when the noise level itself is random, drawn from the training prior p(t)p(t). The energy is low where noisy samples are common. Differentiating the log of this mixture gives the posterior average of the per-level energy gradients, where Et=−log⁡p(u∣t)E_t = -\log p(\mathbf{u}\mid t) (Lemma 3):

∇uEmarg(u)=Et∣u[−∇ulog⁡p(u∣t)]\nabla_{\mathbf{u}} E_{\text{marg}}(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}\big[-\nabla_{\mathbf{u}} \log p(\mathbf{u}\mid t)\big]
(9)

Tweedie's formula, the empirical-Bayes identity of Robbins and Efron, turns each conditional score into a denoiser:

∇ulog⁡p(u∣t)=a(t) Dt∗(u)−ub(t)2\nabla_{\mathbf{u}} \log p(\mathbf{u}\mid t) = \frac{a(t)\,D^*_t(\mathbf{u}) - \mathbf{u}}{b(t)^2}
(10)

If the data were a single point x\mathbf{x}, then p(u∣t)p(\mathbf{u}\mid t) is Gaussian with mean axa\mathbf{x} and variance b2b^2, its log-density gradient is (ax−u)/b2(a\mathbf{x}-\mathbf{u})/b^2, and Dt∗=xD^*_t = \mathbf{x}, so (10) holds exactly. The score points from u\mathbf{u} toward the scaled clean guess aDt∗aD^*_t, divided by the noise variance. The a(t)a(t) factor matters for schedules that shrink the signal, such as DDPM and flow matching; only when a=1a=1, as in EDM, does (10) reduce to (D∗−u)/b2(D^*-\mathbf{u})/b^2. Substituting (10) into (9):

∇uEmarg(u)=Et∣u ⁣[ u−a(t) Dt∗(u)b(t)2 ]\nabla_{\mathbf{u}} E_{\text{marg}}(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}\!\left[\,\frac{\mathbf{u} - a(t)\,D^*_t(\mathbf{u})}{b(t)^2}\,\right]
(11)

Near a data point this blows up. The denominator b(t)2b(t)^2 goes to zero as the posterior concentrates at small tt. The numerator shrinks too, because a noisy point at level tt sits about b(t)ϵb(t)\boldsymbol{\epsilon} from the scaled data, but it shrinks only linearly in bb, so the ratio grows like ∥ϵ∥/b(t)\lVert\boldsymbol{\epsilon}\rVert/b(t): order 1/b1/b, the "1/t^p singularity" of the abstract. For a CIFAR-sized observation, ∥ϵ∥≈3072≈55.4\lVert\boldsymbol{\epsilon}\rVert\approx\sqrt{3072}\approx 55.4, at b=0.01b=0.01 the gradient has length about 5,540. The paper states the limit as

lim⁡u→xk∥∇uEmarg(u)∥=∞\lim_{\mathbf{u}\to\mathbf{x}_k} \lVert \nabla_{\mathbf{u}} E_{\text{marg}}(\mathbf{u}) \rVert = \infty
(12)

The energy itself goes to −∞-\infty at every data point, so each training example sits at the bottom of a well that is infinitely deep and has unbounded slope. A network outputs numbers of order one per coordinate, so it cannot represent this gradient near the data, the region every sampling run ends in. Stopping the noise range at some tmin⁡>0t_{\min} > 0 does not help much; the paper notes that the landscape is then stiff, with Hessian eigenvalues of order 1/tmin⁡21/t_{\min}^2 (a million for tmin⁡=0.001t_{\min}=0.001).

Figure 5 lifts three data points in a plane into a landscape. Its three buttons show the energy, the length of its gradient, and the length of the blind field f∗f^*, which the next section explains.

Figure 5 · the landscape, in three views
Three data points on a plane, drawn as a landscape you can rotate. The energy view shows a pit at every point (the floor is clipped). The gradient view shows spikes that diverge at every point, equation (12). The ‖f*‖ view shows the bounded surface of the preconditioned field, which is zero at the data. The shapes follow the paper; the constants are chosen for legibility.

Why the learned field stays finite

The blind field f∗f^* is finite everywhere (Figure 1 ran it), while the energy gradient is not. The paper connects the two by rewriting (7) in terms of energy gradients. Solving Tweedie's formula (10) for the denoiser gives Dt∗=(u−b2∇Et)/aD^*_t = (\mathbf{u} - b^2\nabla E_t)/a. Substituting into (7) and collecting terms (Appendix D), the coefficient of u\mathbf{u} collapses to c/ac/a, and the coefficient of ∇Et\nabla E_t is the effective gain

λ(t)=b(t)a(t)(d(t)a(t)−c(t)b(t)),λ‾(u)=Et∣u[λ(t)]\lambda(t) = \frac{b(t)}{a(t)}\big(d(t)a(t) - c(t)b(t)\big), \qquad \overline{\lambda}(\mathbf{u}) = \mathbb{E}_{t\mid\mathbf{u}}[\lambda(t)]
(15)

so the blind field is f∗=Et∣u[λ ∇Et]+Et∣u[c/a] uf^* = \mathbb{E}_{t\mid\mathbf{u}}[\lambda\,\nabla E_t] + \mathbb{E}_{t\mid\mathbf{u}}[c/a]\,\mathbf{u}. The mean of a product is the product of the means plus a covariance, which splits the first term in two:

f∗(u)=λ‾(u) ∇Emarg(u)⏟natural gradient+Et∣u[(λ(t)−λ‾)(∇Et−∇Emarg)]⏟transport correction+c‾scale(u) u⏟linear driftf^*(\mathbf{u}) = \underbrace{\overline{\lambda}(\mathbf{u})\,\nabla E_{\text{marg}}(\mathbf{u})}_{\text{natural gradient}} + \underbrace{\mathbb{E}_{t\mid\mathbf{u}}\big[(\lambda(t)-\overline{\lambda})(\nabla E_t - \nabla E_{\text{marg}})\big]}_{\text{transport correction}} + \underbrace{\overline{c}_{\text{scale}}(\mathbf{u})\,\mathbf{u}}_{\text{linear drift}}f∗(u)=λ‾(u) ∇Emarg(u)⏟natural gradient+Et∣u[(λ(t)−λ‾)(∇Et−∇Emarg)]⏟transport correction+c‾scale(u) u⏟linear drift\begin{aligned} f^*(\mathbf{u}) &= \underbrace{\overline{\lambda}(\mathbf{u})\,\nabla E_{\text{marg}}(\mathbf{u})}_{\text{natural gradient}} \\ &\quad + \underbrace{\mathbb{E}_{t\mid\mathbf{u}}\big[(\lambda(t)-\overline{\lambda})(\nabla E_t - \nabla E_{\text{marg}})\big]}_{\text{transport correction}} + \underbrace{\overline{c}_{\text{scale}}(\mathbf{u})\,\mathbf{u}}_{\text{linear drift}} \end{aligned}
(14)

The natural-gradient term is the marginal energy's gradient scaled by the posterior-average gain. The transport correction is the posterior covariance between the gain and the per-level gradients; a posterior that is a spike has no covariance, so the term is zero there. The drift is linear in u\mathbf{u} with coefficient c‾scale=Et∣u[c/a]\overline{c}_{\text{scale}} = \mathbb{E}_{t\mid\mathbf{u}}[c/a].

Equation (15) evaluated on Table 1 gives the gain of each model: λ=b\lambda = b for DDPM, λ=−σ2\lambda = -\sigma^2 for EDM, λ=t/(1−t)\lambda = t/(1-t) for flow matching, and λ=t2/(1−t)\lambda = t^2/(1-t) for EqM. Every one goes to zero with the noise, at least as fast as bb, which cancels the order-1/b1/b gradient.1 Flow matching at t=0.01t = 0.01, on a CIFAR-sized observation near a data point, shows the cancellation in numbers. The per-level gradient is (u−0.99 x)/0.012=ϵ/0.01(\mathbf{u}-0.99\,\mathbf{x})/0.01^2 = \boldsymbol{\epsilon}/0.01, length about 5,540. The gain is 0.01/0.99≈0.01010.01/0.99 \approx 0.0101, so the gain-scaled gradient has length about 56, which is ∥ϵ∥\lVert\boldsymbol{\epsilon}\rVert, about 1 per coordinate. The drift −u/0.99-\mathbf{u}/0.99 then turns the sum into exactly ϵ−x\boldsymbol{\epsilon}-\mathbf{x}, the flow-matching velocity, which stays finite at the data (Appendix E). For EqM the gain is of order t2t^2 and the drift vanishes, so f∗≈u−xf^* \approx \mathbf{u}-\mathbf{x} goes to zero at the data point: the stable equilibrium of Figure 1. For DDPM the gain bb gives f∗≈(u−x)/bf^* \approx (\mathbf{u}-\mathbf{x})/b, the predicted noise, also of order one.

The paper calls this a Riemannian gradient flow: gradient descent in a geometry where distances are rescaled point by point. A walker on a slope that gets infinitely steep near the bottom, whose stride shrinks to zero at the same rate, takes steps of finite length all the way down. The gain plays the role of the local rescaling, a conformal metric, which makes the singular landscape into a finite-speed descent with a resting point at the data.2

Figure 6 computes these quantities exactly, integrating over tt, for EqM on three data points that lie on a line. The line sits in D=8D=8 dimensions and the probe moves along it. Drag the probe toward a data point and compare the readouts: the gradient, the gain λ‾\overline\lambda, their product, and ∥f∗∥\lVert f^*\rVert.

Figure 6 · the singularity, and the gain that cancels it
u = 1.550gradient ‖∇E‖ = 140.00gain λ̄ = 0.00097λ̄·‖∇E‖ = 0.135field ‖f*‖ = 0.050 (bounded)
Three data points on a line. Faint amber: the marginal energy, with a deep well at each point. Red: the gradient length ∥∇E∥\|\nabla E\|, clipped where it diverges (tagged →∞). Teal: ∥f∗∥\|f^*\|, bounded and zero at each data point (it also touches zero at one unstable point between each pair of neighbors, u ≈ ±0.55 in D = 8 and ±0.26 in D = 1, where the pulls balance). Drag the probe; the buttons switch between the line embedded in D = 8 and a purely one-dimensional D = 1.

In D=8D=8, at u=1.55u=1.55 (0.05 from the data point at 1.5) the gradient is 140, the gain 0.0010, and their product 0.135; at u=1.505u = 1.505 the gradient is 1,400 and the product 0.013. The gain falls as fast as the gradient grows and the field goes to zero with them. Switch to D=1D=1 and the same probe positions give a gradient of 51 at u=1.505u=1.505 with a gain of 0.14, and the product grows (7.3 there, 16 at u=1.501u=1.501), yet ∥f∗∥\lVert f^*\rVert still goes to zero. In one dimension the posterior does not collapse near a data point (the D>2D>2 condition of Appendix B fails), so the natural-gradient term stays large and the transport correction cancels it.

Figure 7 separates the three terms of (14) over a plane, again computed exactly for EqM. The plane of data sits in DD dimensions, and every grid point is an observation whose off-plane part has the length that noise of level t=0.5t=0.5 would give it, 0.5D−20.5\sqrt{D-2}, and at that length the posterior over tt concentrates near t=0.5t=0.5 as DD grows (Regime I). Watch the amber transport arrows as you raise DD.

Figure 7 · the three terms of the blind field
D = 2
Equation (14) at a 7×7 grid of points around three data points, drawn as steps −f∗-f^* and its parts. Default view: natural gradient plus drift head to tail with the transport correction, and a dashed line for their sum. The buttons show each term alone. Drag D from 2 to 256 and read the transport share at the top.

At D=2D=2 there is no off-plane part, the posterior over tt has a spread of about 0.16 at a typical grid point, and the transport term is 83% as large as the other two combined. At D=32D=32 it is 35%, at D=128D=128 it is 6%, and the posterior spread is down to 0.03. The paper's Regime I states this in general: once the posterior concentrates, the correction vanishes,

Et∣u[(λ(t)−λ‾)(∇Et−∇Emarg)]→0\mathbb{E}_{t\mid\mathbf{u}}\big[(\lambda(t)-\overline{\lambda})(\nabla E_t - \nabla E_{\text{marg}})\big] \to \mathbf{0}
(16)

and the field is a gain-scaled gradient of one energy plus a linear drift:

f∗(u)≈λ‾(u) ∇Emarg(u)+c‾scale(u) uf^*(\mathbf{u}) \approx \overline{\lambda}(\mathbf{u})\,\nabla E_{\text{marg}}(\mathbf{u}) + \overline{c}_{\text{scale}}(\mathbf{u})\,\mathbf{u}
(17)

The natural-gradient and drift arrows in Figure 7 are often much longer than their sum and point in nearly opposite directions; for EqM the two cancel over most of the plane, and f∗f^* is the small remainder. The paper argues the same vanishing near the data (Regime II, its equation (18)) from the concentration result of Appendix B; Figure 6 in D=8D=8 is consistent with it.

Sampling: the gain ν(t) and stability

A bounded field is not yet a working sampler. Sampling integrates an ODE, and the ODE can multiply the field's small errors by a large coefficient. For any affine schedule the sampler is

dudt=μ(t) u+ν(t) f∗(u)\frac{d\mathbf{u}}{dt} = \mu(t)\,\mathbf{u} + \nu(t)\,f^*(\mathbf{u})
(19)

where the coefficients come from differentiating (2), u˙=a˙ x+b˙ ϵ\dot{\mathbf{u}} = \dot a\,\mathbf{x} + \dot b\,\boldsymbol{\epsilon}, and eliminating x\mathbf{x} and ϵ\boldsymbol{\epsilon} with the two linear equations u=ax+bϵ\mathbf{u} = a\mathbf{x}+b\boldsymbol{\epsilon} and f∗=cx+dϵf^* = c\mathbf{x}+d\boldsymbol{\epsilon} (Appendix F):

μ(t)=a˙d−b˙cad−bc,ν(t)=b˙a−a˙bad−bc\mu(t) = \frac{\dot a d - \dot b c}{ad - bc}, \qquad \nu(t) = \frac{\dot b a - \dot a b}{ad - bc}
(63)

For flow matching, ad−bc=(1−t)⋅1−t⋅(−1)=1ad-bc = (1-t)\cdot 1 - t\cdot(-1) = 1, ν=1\nu = 1 and μ=0\mu = 0, so the sampler is du/dt=f∗(u)d\mathbf{u}/dt = f^*(\mathbf{u}): the network output is the velocity. The network is blind, but μ\mu and ν\nu still depend on tt, so the sampler still uses tt.

To measure what blindness costs, the paper compares this sampler with an oracle that uses the conditioned field ft∗f^*_t in the same equation. The μu\mu\mathbf{u} terms are identical and cancel, leaving the drift perturbation error:

Δv(u,t)=∣ν(t)∣⏟gain⋅∥f∗(u)−ft∗(u)∥⏟estimation error\Delta\mathbf{v}(\mathbf{u},t) = \underbrace{|\nu(t)|}_{\text{gain}} \cdot \underbrace{\lVert f^*(\mathbf{u}) - f^*_t(\mathbf{u}) \rVert}_{\text{estimation error}}
(22)

As t→0t\to 0 the posterior sharpens and the estimation error falls, but the gain ν\nu may grow. Which one wins decides stability, and the three targets give three different outcomes (Table 2; the orders listed there hold for a schedule whose variance b2b^2 grows linearly in tt near the data, as DDPM's does3):

targetgain ν(t)error near the dataΔv as t → 0
noise ε (DDPM, DDIM)O(1/b)floors at the Jensen gap→ ∞, unstable
signal x (EDM)O(1/b²)decays like e^(−C/b²)→ 0, stable
velocity (flow matching)1boundedbounded, stable

Noise prediction. The oracle's noise estimate near a data point is (u−x)/b(t)(\mathbf{u}-\mathbf{x})/b(t); the blind estimate averages (u−x)/b(τ)(\mathbf{u}-\mathbf{x})/b(\tau) over the posterior on τ\tau. Their difference is (Appendix F):

Δvnoise≈∥u−x∥ ∣ b˙(t)b(t)(b(t) Eτ∣u[1b(τ)]−1)∣\Delta\mathbf{v}_{\text{noise}} \approx \lVert \mathbf{u}-\mathbf{x}\rVert \,\left|\, \frac{\dot b(t)}{b(t)} \Big( b(t)\,\mathbb{E}_{\tau\mid\mathbf{u}}\Big[\frac{1}{b(\tau)}\Big] - 1 \Big) \right|
(66)

The bracket is the Jensen gap: the blind model divides by the posterior's harmonic-mean noise level, 1/E[1/b(τ)]1/\mathbb{E}[1/b(\tau)], and the oracle divides by the true b(t)b(t). They agree only if the posterior is a spike at the true level. Two things keep them apart: the posterior is centered wherever this particular noise draw put u\mathbf{u}, which is rarely exactly at the true level, and even a posterior centered on the truth has a harmonic mean below its mean, by Jensen's inequality for the convex function 1/x1/x. The prefactor b˙/b\dot b/b grows like 1/t1/t for any schedule b∝tkb\propto t^k, so a gap that does not vanish is amplified without bound.

Figure 8 shows the gap for one data point in DD dimensions, with a uniform prior on the noise level. The three markers are the true level, the posterior's harmonic mean and its mean. Try a few noise draws at D=32D=32, then raise DD.

Figure 8 · the Jensen gap
D = 32
0.300
draw #1
The posterior p(σ | u) for u = σ₀ε around one data point, with the true level σ₀, the harmonic mean and the mean marked; the readout gives the bracket of (66). Drag D and σ₀, and press the button to redraw ε.

At D=32D=32 the posterior has a spread of about 12% of its mean, and the gap swings between roughly −0.13 and +0.12 for typical draws, with either sign. At D=4096D=4096, the end of the slider, the spread is about 1.1% and the gap stays within about ±0.011. It shrinks with dimension but is not zero at any finite DD, and (66) multiplies it by a factor that grows as t→0t\to 0.4

Signal prediction. The gain is worse, of order 1/b21/b^2. But for a discrete dataset the denoiser near a data point xk\mathbf{x}_k is a softmax-weighted average of the training points, and the weight on the nearest other point xj\mathbf{x}_j is suppressed by a Gaussian factor:

∥Dt∗(u)−xk∥∝exp⁡ ⁣(−∥xj−xk∥22b(t)2),lim⁡t→0e−C/b(t)2b(t)2=0\lVert D^*_t(\mathbf{u})-\mathbf{x}_k\rVert \propto \exp\!\Big(-\frac{\lVert\mathbf{x}_j-\mathbf{x}_k\rVert^2}{2b(t)^2}\Big), \qquad \lim_{t\to 0}\frac{e^{-C/b(t)^2}}{b(t)^2} = 0
(68–69)

With neighbors one unit apart and b=0.1b=0.1, the error factor is e−50≈2×10−22e^{-50}\approx 2\times 10^{-22} against a gain of 100. An exponential decay beats any power of 1/b1/b, so Δv→0\Delta\mathbf{v}\to 0. The argument needs a discrete data manifold, where each point has a nonzero distance to its nearest neighbor.

Velocity prediction. For flow matching ad−bc=1ad-bc=1, so ν=1\nu = 1 at every tt. The error is the posterior spread of a bounded velocity field and nothing multiplies it; the paper calls this parameterization inherently stable. Figure 9 draws the three cases side by side.

Figure 9 · the stability race
The drift error Δv = gain × estimation error as the noise scale b falls to zero, for each target, with the orders of Table 2 (the curves are illustrative). Faint dashed: gain and error; bold: their product. Noise diverges; signal and velocity stay bounded.

By the paper's own qualification, a divergent Δv\Delta\mathbf{v} guarantees failure, while a bounded one is necessary but not sufficient for good samples.

Results and limits

The only quantitative comparison comes from Sun et al.'s CIFAR-10 benchmark, which the paper re-reports in its Table 3. Without the noise-level input, DDIM (noise prediction) reaches an FID of 40.90, flow matching 2.61 and uEDM 2.23, both velocity-predicting. FID is the Fréchet distance between the statistics of Inception-network features on real and generated images; on CIFAR-10, values around 2 to 3 are near the best published, and 40 means visibly broken samples. The blind DDIM is 18.3 times worse than uEDM and 15.7 times worse than flow matching. The paper reads the failure as structural: "not due to a lack of expressivity, but due to the structural instability of the parameterization."

The paper's own runs are qualitative. It trains four ResNet-based U-Nets on CIFAR-10, SVHN and Fashion-MNIST for 10,000 steps (batch 128, EMA 0.999): DDPM and flow matching, each blind and conditioned. Blind DDPM samples are dominated by high-frequency artifacts and residual noise; blind flow-matching samples are sharp and look like the conditioned ones. No FIDs are reported for these runs.

A toy experiment varies the dimension directly. A 2D dataset of concentric circles is embedded in RD\mathbb{R}^D by a random orthogonal map, for D∈{2,8,32,128}D\in\{2, 8, 32, 128\}. The off-plane directions number D−2D-2, which by the estimate above gives a relative spread in the noise-level estimate of about 29% at D=8D=8, 13% at D=32D=32 and 6.3% at D=128D=128 (and no off-plane information at D=2D=2). At D=2D=2 both blind models give diffuse samples. At D=8D=8 and 3232 blind flow matching already draws tight, clean circles, while blind DDPM shows higher variance and background scatter. At D=128D=128 even blind DDPM produces clean circles, because the estimation error falls faster than its gain grows.

The conclusion is narrower than the title. A velocity- or signal-based model can drop the noise-level input, because the geometry supplies the level and the sampler does not amplify what is left of the uncertainty; a noise-prediction model run blind is structurally unstable. The paper's conclusion says velocity-based parameterizations are "mathematically necessary", but its own Section 6 proves signal prediction stable too, and its related-work section says "velocity- or signal-based targets". The argument assumes data on a low-dimensional manifold inside a high-dimensional space; the signal-prediction case assumes a discrete dataset; the image evidence is qualitative apart from Sun et al.'s FIDs; and the paper releases no code.

Provenance Verified against primary literatureHow we verify
Tweedie / Robbins / EfronThe conditional score equals (a(t)·denoiser − u)/b(t)² (Robbins 1956, Efron 2011; the denoiser-score link is Vincent 2011). The a(t) factor is needed for any schedule that scales the signal.
Sun et al. (2025)The empirical result that blind models generate, and the source of the CIFAR-10 FIDs (40.90, 2.61, 2.23) that this paper re-reports and explains. Also the source of the unified (a, b, c, d) formulation.
EDM / Flow Matching / EqMThe coefficient rows of Table 1 (Karras et al. 2022; Lipman et al. 2023; Wang & Du 2025). The EDM row is a simplified signal-prediction form, not EDM’s preconditioned network.
Concentration of measureσ̂ = r/√(D−d) is the paper’s marginal-likelihood estimate (it divides by D−d, not D); σ̂² is unbiased, and its spread shrinks like 1/√(D−d).
Kadkhodaie et al. (2026)Concurrent analysis of blind denoising diffusion for low-dimensional data; the paper treats that concentration as its Regime I. Natural gradient: Amari (1998).
caveatThe result is a touch narrower than the title suggests. Noise conditioning is dispensable only for stable (velocity- or signal-based) parameterizations; a noise-prediction model trained blind is structurally unstable. The clean argument also assumes data on a low-dimensional manifold in a high-dimensional space, the near-data concentration is proved only for D > 2 (points) or D − d > 2 (manifolds), and the exponential-stability case for signal prediction assumes a discrete manifold. The noise-prediction divergence in Appendix F is derived with the offset u − x held fixed as t → 0; the footnotes work the same bound along a sampling trajectory.

Questions you might still have

?

If the network never sees the noise level, how does it know how much to denoise?
The optimal blind network averages the noise-conditioned answers over the posterior p(t | u). In high dimensions that posterior is sharp, because Gaussian noise has a nearly fixed length: the distance r from u to the data manifold gives the estimate σ̂ = r/√(D−d), with a relative spread of about 1/√(2(D−d)), about 1.3% at CIFAR-10 size. Near the data the posterior also collapses toward t = 0. Whether a trained network actually computes something equivalent is shown empirically by Sun et al., not proved here.

?

Then why does a blind DDIM fail while blind flow matching works?
Both learn a blind average, and both averages carry a small error from the leftover spread of the posterior. The sampler multiplies that error by a coefficient ν(t). For noise prediction Table 2 lists ν of order 1/b, which grows without bound near the data, and the error does not vanish (the Jensen gap). For flow matching ν = 1 exactly, so the error is never amplified. On Sun et al.’s CIFAR-10 runs that is FID 40.90 versus 2.61.

?

Does this mean noise conditioning is useless?
No. A velocity- or signal-based model can drop the input because the geometry supplies the level and the sampler does not amplify the residual error. A noise-prediction model cannot. The theory also assumes data on a low-dimensional manifold inside a high-dimensional space, and a bounded error is necessary, not sufficient, for good samples.

?

Does the sampler still use t?
Yes. The network is time-independent, but the sampling ODE du/dt = μ(t)u + ν(t)f*(u) has schedule coefficients μ and ν that depend on t.

?

Why does signal prediction survive a worse gain than noise prediction?
Its gain is of order 1/b², but near a data point in a discrete dataset the denoiser error falls like exp(−C/b²), and an exponential decay beats any power of 1/b. With neighbors one unit apart and b = 0.1, the error factor is about e^(−50) ≈ 2×10^(−22) against a gain of 100.

?

Would a noise-prediction model work in high enough dimension?
In the paper’s toy experiment it does: at D = 128 the blind DDPM also produces clean rings, because the posterior over the noise level is narrow enough that the error falls faster than the gain grows. At D = 8 and 32 it is visibly noisier than blind flow matching.

?

What is the marginal energy, exactly?
E_marg(u) = −log p(u), where p(u) mixes the noisy-data densities of every noise level under the training prior on t. Its gradient is the posterior average of the per-level energy gradients. It has an infinitely deep well at every data point, and a blind model follows a gain-scaled version of its gradient.

Footnotes & further reading

  1. The gains are computed from (15) with Table 1's coefficients. Appendix E groups EDM with DDPM as λ≈b\lambda\approx b; with EDM's c=1,d=0c=1, d=0, (15) gives λ=−σ2\lambda = -\sigma^2, and the field is −σ2∇Et+u=Dt∗-\sigma^2\nabla E_t + \mathbf{u} = D^*_t, the clean guess, which is bounded. ↩
  2. The gain acts as a conformal metric: a scalar function times the identity, which rescales distance equally in every direction at each point. If the update is written as gain times gradient, the implied metric is the inverse gain, G=λ−1IG = \lambda^{-1}I, so "the gain is the metric" holds up to that inversion. ↩
  3. From (63): noise prediction (c=0,d=1c=0, d=1) has ν=(b˙a−a˙b)/a\nu = (\dot b a - \dot a b)/a, about b˙\dot b when a≈1a\approx 1; signal prediction (c=1,d=0c=1, d=0, a=1a=1) has ν=−b˙/b\nu = -\dot b/b. With b∝tb\propto\sqrt t these are of order 1/b1/b and 1/b21/b^2, Table 2's entries. With b=tb=t they would be of order 1 and 1/b1/b. Appendix F also says a variance-preserving schedule makes the noise-prediction singularity O(t−1.5)O(t^{-1.5}); with b∝tb\propto\sqrt t, the prefactor in (66) is b˙/b=1/(2t)\dot b/b = 1/(2t), which is O(1/t)O(1/t). ↩
  4. Equation (66) holds the offset ∥u−x∥\lVert\mathbf{u}-\mathbf{x}\rVert fixed while t→0t\to 0. Along a sampling trajectory the offset shrinks too, u−x≈b(t)ϵ\mathbf{u}-\mathbf{x}\approx b(t)\boldsymbol{\epsilon}, which cancels one factor of 1/b1/b: the error becomes about b˙ ∥ϵ∥\dot b\,\lVert\boldsymbol{\epsilon}\rVert times the gap. That still diverges for a schedule with b∝tb\propto\sqrt t near the data, where b˙→∞\dot b\to\infty, and stays finite (but not zero) for b=tb=t. ↩
  5. The paper: Sahraee-Ardakan, Delbracio, Milanfar, The Geometry of Noise: Why Diffusion Models Don't Need Noise Conditioning (Google, 2026).
  6. The empirical result it explains: Sun, Jiang, Zhao, He, Is Noise Conditioning Necessary for Denoising Generative Models? (2025), which also supplies the unified affine formulation and the CIFAR-10 benchmark.
  7. The design space and EDM conventions: Karras et al., Elucidating the Design Space of Diffusion-Based Generative Models. Flow matching: Lipman et al., Flow Matching for Generative Modeling (explained on this site as Flow Matching). Equilibrium Matching: Wang and Du, Equilibrium Matching: Generative Modeling with Implicit Energy-Based Models (2025).
  8. Tweedie's formula and the denoiser-score link: Robbins (1956), Efron (2011), and Vincent, A Connection Between Score Matching and Denoising Autoencoders (2011). The score view of diffusion: Score-Based Generative Modeling through SDEs.
  9. The concurrent analysis of blind denoising in high dimensions: Kadkhodaie, Pooladian, Chewi, Simoncelli, Blind Denoising Diffusion Models and the Blessings of Dimensionality (2026). Natural gradient: Amari (1998).