Beyond Best-of-k: Prior-Consistent DAPS for Ambiguous Nonlinear Inverse Problems

1University of Tübingen, 2Zuse School ELIZA, 3Max Planck Institute for Intelligent Systems, 4Georgia Institute of Technology, 5Tübingen AI Center, 6ELLIS Institute, 7KE:SAI
*Equal contribution
DPS, DPnP, DAPS: independent run 1 of 4 · PC-DAPS: particle 1 of 4 from one run

Measurement consistency is not sufficient for reconstruction. A single Fourier magnitude measurement is shared by rotations, translations, and color-channel inversions of an image. Existing solvers may return these prior-inconsistent modes, while PC-DAPS selects reconstructions supported by the learned image prior. Each baseline column steps through four independent runs; the PC-DAPS column steps through the four particles generated in a single run.

Overview

PC-DAPS keeps multiple candidate solutions alive until the prior can distinguish them, avoiding premature mode selection and ground-truth-based best-of-k evaluation.

Diffusion models have become strong priors for solving inverse problems. However, nonlinear inverse problems such as phase retrieval remain challenging when multiple measurement-consistent solutions are distinguishable only by the prior; we call such measurements ambiguous. Existing diffusion-based samplers rely on local approximations during reconstruction. For an ambiguous measurement, these approximations can allow measurement guidance to favor a measurement-consistent mode that is close to a prior-supported mode but is itself not supported by the prior. Evaluation often masks this type of failure by reporting the best-of-k runs, where the best is selected by comparison to the ground truth. We introduce Prior-Consistent DAPS (PC-DAPS), a variant of Decoupled Annealing Posterior Sampling (DAPS) designed to address this failure case by maintaining multiple candidate solutions within a single sampling run. As annealing noise decreases, PC-DAPS prunes and replaces weaker candidates according to their prior consistency, without any ground-truth access. PC-DAPS reduces the incidence of prior-inconsistent samples and improves sample quality on nonlinear inverse problems while preserving sample quality and diversity on linear inverse problems.

Motivation

Measurement consistency is not enough. In Fourier phase retrieval, an image, its 180° rotation, its translations and its color-channel sign flips all produce the same Fourier magnitude. They have identical likelihood \(p(y\mid x)\), but very different posterior probability: an upside-down or color-flipped face fits the measurement perfectly, yet a prior concentrated on upright faces should never produce it. We call such reconstructions prior-inconsistent. They show up in classical phase-retrieval methods, deep-learning approaches, and diffusion-based solvers alike.

DAPS4 independent runs
DAPS run 1: ghost of the upright and upside-down faceghost
DAPS run 2: upright faceupright
DAPS run 3: upside-down faceupside-down
DAPS run 4: upright faceupright
Ground-truth image
ground truth

Best-of-4 compares every run with the ground truth…

PC-DAPS1 run, bag of 4
PC-DAPS particle 1upright
PC-DAPS particle 2upright
PC-DAPS particle 3upright
PC-DAPS particle 4upright
no ground truth
needed

Best-of-k hides the failure. Results on ambiguous problems are usually reported as best-of-k: run the solver k times and keep the reconstruction closest to the ground truth. This uses information that does not exist at test time, and it throws away the k−1 other samples, including the prior-consistent ones.

Premature mode selection. Diffusion solvers apply the prior along a sampling trajectory, through a local denoising approximation centred on a single clean-image estimate. At high noise several prior modes remain plausible, but a trajectory can commit early to a prior mode that does not explain the measurement. Measurement guidance then pulls it to the nearest measurement-consistent solution, which the prior may not support, and later renoising rarely lets it escape. PC-DAPS instead delays this decision until the prior is informative enough to make it, and makes it with the prior, not with the ground truth.

Method

PC-DAPS runs one DAPS annealing with a bag of \(K\) particles under the same measurement \(y\), each with its own initialization and noise. It changes two things in DAPS: the denoising distribution \(p(x_0\mid x_t)\) becomes a Gaussian mixture estimated from the bag, and a prior-based gate replaces trapped particles by copies of prior-consistent ones.

One PC-DAPS annealing step for the bag of K particles: denoise, fit a mixture prior, run Langevin dynamics, prune and replace low-scoring clusters once when the mean residual drops below the residual of the bag mean, then renoise and return to the bag at the next noise level.
One annealing step for the whole bag, repeated from \(\sigma_{\max}\) down to \(\sigma_{\min}\); all \(K\) particles are returned as samples.

Gaussian mixture approximation of the denoiser posterior

DAPS approximates \(p(x_0\mid x_t)\) by a single isotropic Gaussian \(\mathcal N(\hat x_0(x_t), r_t^2 I)\) around one point estimate, so its Langevin step only looks for measurement-consistent points close to that estimate. PC-DAPS uses the bag instead. Before pruning it is a uniform mixture centred at each particle's clean estimate with the bag's diagonal variance; after pruning, each surviving cluster \(\mathcal C_m\) contributes one component:

\[ q(x_0\mid x_t)=\sum_{m=1}^{M}\pi_m\,\mathcal N\big(x_0;\mu_m,\Sigma_m\big), \] \[ \pi_m=\frac{|\mathcal C_m|}{K},\qquad \mu_m=\frac{1}{|\mathcal C_m|}\sum_{x^{(k)}\in\mathcal C_m}\tilde x_0^{(k)},\qquad \Sigma_m=\operatorname{diag}\!\big(\operatorname{Var}_{\mathcal C_m}\tilde x_0^{(k)}\big). \]

Its score is available in closed form and drops into the DAPS Langevin update: \(\nabla_{x_0}\log q(x_0\mid x_t)=\sum_m q_m(x_0)\,\Sigma_m^{-1}(\mu_m-x_0)\). The Langevin dynamics are now discouraged from leaving the prior modes found by the bag, rather than from leaving one point, and the covariances follow the geometry of the prior instead of a heuristic radius.

Prior-consistency pruning

When. For a linear operator, Jensen's inequality gives \(\bar r \ge r^\star\), where \(\bar r=\frac1K\sum_k\|\mathcal A(x^{(k)})-y\|^2\) and \(r^\star=\|\mathcal A(\bar x)-y\|^2\) for the bag mean \(\bar x\). When \(\bar r<r^\star\), the bag occupies several wells of the likelihood, which is when mode-level pruning becomes meaningful.

Which. The bag is clustered (a BIC-selected GMM on a PCA projection of downsampled clean estimates), and each cluster is scored by how well its particles survive re-noising and denoising at several noise scales \(\mathcal S\):

\[ s(\mathcal C_m)=-\frac{1}{|\mathcal C_m|\,|\mathcal S|}\sum_{x\in\mathcal C_m}\sum_{\sigma\in\mathcal S}\big\|x-D_\theta(x+\sigma\epsilon;\sigma)\big\|^2 . \]

A sample near the data manifold denoises back to itself at every scale. Clusters scoring below \((1+\gamma)\max_m s(\mathcal C_m)\) are pruned, and their particles are replaced by copies of survivors. The threshold \(\gamma\) is calibrated once per dataset from within-cluster score variation; no ground truth and no extra classifier are involved.

Full algorithm
  1. Draw \(x_{t_{N}}^{(k)}\sim\mathcal N(0,\sigma_{t_N}^2 I)\) for \(k=1,\dots,K\); set pruned = false.
  2. For each annealing level \(i=N,\dots,1\):
    1. Clean estimates \(\tilde x_0^{(k)}\gets D_\theta(x_{t_i}^{(k)};\sigma_{t_i})\).
    2. Build \(q(x_0\mid x_t)\): uniform over particles before pruning, one component per cluster after.
    3. If \(i>1\): run \(N_L\) Langevin steps on \(q(x_0\mid x_t)\,p(y\mid x_0)\) from \(\tilde x_0^{(k)}\).
    4. If not pruned, \(\bar r<r^\star\) and clustering finds \(M>1\) clusters: score clusters with \(s(\mathcal C_m)\), replace particles of low-scoring clusters by copies of survivors, set pruned = true.
    5. Re-noise \(x_{t_{i-1}}^{(k)}\gets\hat x_0^{(k)}+\sigma_{t_{i-1}}\epsilon^{(k)}\); at the last level, solve the probability-flow ODE to \(\sigma=0\) instead.
  3. Return all \(K\) particles \(\{\hat x_0^{(k)}\}\).

Toy Example: Premature Mode Selection

A two-atom prior \(p(x_0)=\tfrac12(\delta_{-a}+\delta_{a})\) and a quadratic measurement \(\mathcal A\) that takes the same value at \(x_1=-a\) and at \(x_3=a+b\), a point the prior does not support. The exact posterior puts most mass on \(x_1\) and some on \(x_2=a\). Watch the particles as the noise level \(\sigma\) is annealed from 10 to 0.1: DAPS particles that pick the \(+\) side early slide to the hallucinated \(x_3\); PC-DAPS prunes that cluster at \(\sigma=0.3\) and moves its particles to the prior-consistent mode.

Ground truth88% at \(x_1\) · 12% at \(x_2\)
DAPS57% end near \(x_3\) (not in the prior)
PC-DAPS100% at \(x_1\) · 0% near \(x_3\)
Gate at σ = 0.3 · + cluster pruned, particles replaced
DAPS, zoom on \(+\) sideends at \(a+0.08\), not at \(a\)
noise level \(\sigma\) (sampling →)
σ = 10.0
majority posterior mode \(x_1\) minority posterior mode \(x_2\) DAPS-hallucinated mode \(x_3\) particles, colored by the mode they are headed to
The heatmaps show the distribution of \(x_\sigma\) at each noise level (max-normalized per \(\sigma\)); dots are the current particles and lines follow a few of them. The exact posterior assigns positive weight to both atoms, with majority weight on \(x_1\). DAPS assigns majority mass to the prior-inconsistent likelihood mode \(x_3\), which is not present in the true posterior. PC-DAPS's selection prunes this mode and samples only from the posterior-consistent atom. Neither sampler reaches the minority atom \(x_2\) with adequate probability, but PC-DAPS eliminates the hallucinated mode.

Toy Example: Gaussian-Mixture Langevin Refinement

One Langevin refinement at a single noise level, from the same start \(\hat x_0\) and with the same noise, under different approximations of \(p(x_0\mid x_t)\). The prior (gray) is L-shaped and the measurement observes only \(x_2\) (blue band). A Gaussian around \(\hat x_0\) makes Langevin find the nearest measurement-consistent point, which is off the prior. The mixture built from the bag already covers the vertical branch another particle found, so the run ends on the prior, as it does under the exact \(p(x_0\mid x_t)\).

DAPSGaussian approximationends off the prior
PC-DAPSGaussian approximationends off the prior
PC-DAPSGaussian mixture approximationends on the prior
Exact\(p(x_0\mid x_t)\)ends on the prior
step 0 / 200
prior \(p(x_0)\) likelihood \(p(y\mid x_0)\) approximation of \(p(x_0\mid x_t)\) bag particles Langevin run from \(\hat x_0\) ends on the prior ends off the prior (hallucination)
With the Gaussian approximation, both DAPS and PC-DAPS produce Langevin targets that are measurement-consistent yet prior-inconsistent, and the refinement ends outside the prior. The PC-DAPS Gaussian mixture represents the prior-supported regions explored by the particles in the bag, so refinement moves toward the prior-supported mode associated with the measurement. The exact denoising distribution has the same multimodal structure. Paths are smoothed for readability.

Phase Retrieval: Fewer Prior-Inconsistent Samples

Best-of-k scores hide the samples that were thrown away, so we classify every sample as faithful, upside-down / color-inverted, or failed. DAPS is run four times; PC-DAPS is run once with a bag of four.

FFHQ
DAPS 4 runs
PC-DAPS bag of 4
ImageNet
DAPS 4 runs
PC-DAPS bag of 4

Upside-down / color-inverted samples: FFHQ 14.5% → 1.5%, ImageNet 42% → 30.5%.

Quantitative evaluation on FFHQ and ImageNet over 100 test images, seven linear and three nonlinear inverse problems, measurement noise \(\beta_y=0.05\). PC-DAPS produces 4 samples per input and its metrics are averaged over them. For phase retrieval, all other methods report the oracle best of 4 runs, chosen with the ground truth. Nonlinear tasks report mean ± standard deviation over images. Bold: best, underline: second best.

TaskMethodFFHQImageNet
PSNR ↑SSIM ↑LPIPS ↓PSNR ↑SSIM ↑LPIPS ↓
Super-resolution 4×PC-DAPS30.250.8410.16626.440.7140.245
DAPS29.360.7820.17325.510.6390.281
DDNM28.010.7970.19623.920.6060.472
DPS25.860.7530.26921.130.4890.361
FPS-SMC28.450.8120.20624.790.7050.311
Super-resolution 16×PC-DAPS22.210.6230.36820.900.4540.535
DAPS22.140.5970.37320.350.4500.545
DPS21.090.5860.57018.410.3840.592
FPS-SMC22.090.6040.49618.880.4230.588
High-pass filterPC-DAPS18.840.8150.15517.330.7780.204
DAPS16.850.7020.20415.510.7320.217
DPS4.920.4370.68712.840.6060.473
FGPS18.040.7610.18414.770.7080.229
Inpaint (box)PC-DAPS24.730.8250.15221.560.7380.221
DAPS24.690.7460.16621.120.7140.229
DDNM24.440.8390.23321.670.7460.321
DPS22.510.7920.20918.940.7220.257
FPS-SMC24.860.8230.14622.160.7260.208
Inpaint (random)PC-DAPS31.830.8750.12128.180.7810.159
DAPS30.730.8010.12927.320.7250.189
DDNM29.870.8160.12331.140.8390.193
DPS25.460.8230.20323.520.7450.297
FPS-SMC28.170.8240.25824.550.6990.318
Gaussian deblurringPC-DAPS30.350.8390.16426.370.7030.250
DAPS29.600.7870.17925.940.6590.267
DDNM28.180.8050.21428.110.7010.281
DPS25.870.7640.21920.310.5980.397
FPS-SMC26.470.7710.25123.860.6030.390
Motion deblurringPC-DAPS32.130.8720.11929.060.8000.162
DAPS31.650.8370.13728.660.7700.175
DPS24.520.8010.24618.960.6290.423
FPS-SMC27.310.8250.22924.600.6450.329
Phase retrievalPC-DAPS30.09±1.770.834±0.0890.152±0.08821.75±1.100.469±0.1320.373±0.128
DAPS29.66±4.170.770±0.1000.177±0.09020.98±6.720.461±0.2260.387±0.163
DPS17.64±2.970.441±0.1290.410±0.09016.81±3.610.427±0.1430.447±0.099
PnP-DM21.70±5.500.542±0.1220.398±0.10117.68±6.700.458±0.1910.499±0.101
DPnP20.39±6.150.592±0.1390.392±0.17316.74±3.210.487±0.1960.535±0.107
RED-Diff15.72±4.410.401±0.1910.588±0.08915.11±3.680.389±0.0580.529±0.127
HIO13.53±2.500.359±0.0930.726±0.068–––
Nonlinear deblurPC-DAPS29.04±0.820.804±0.0170.180±0.02327.63±2.580.739±0.0530.211±0.032
DAPS28.49±1.520.762±0.0310.191±0.03127.25±3.180.717±0.0890.213±0.055
DPS23.39±2.010.623±0.0820.278±0.06022.49±3.200.591±0.1010.306±0.081
RED-Diff30.72±0.560.793±0.0290.162±0.03229.91±1.360.751±0.0240.214±0.080
High dynamic rangePC-DAPS28.25±1.170.839±0.0200.163±0.03926.01±2.770.822±0.0990.173±0.094
DAPS27.67±3.570.839±0.0780.165±0.06925.80±4.370.819±0.1130.177±0.106
DPS22.73±6.070.591±0.1410.264±0.15619.23±2.520.582±0.0820.503±0.106
RED-Diff21.94±3.520.508±0.0810.261±0.09121.88±5.770.598±0.0970.281±0.191
FFHQ Fourier magnitude measurementMeasurement
DAPS runs
DAPS run 1upside-down
DAPS run 2upside-down
DAPS run 3
DAPS run 4
FFHQ reference imageReference
PC-DAPS
PC-DAPS particle 1
PC-DAPS particle 2
PC-DAPS particle 3
PC-DAPS particle 4
Reference crop
Diversity
PC-DAPS particle 1 crop
PC-DAPS particle 2 crop
PC-DAPS particle 3 crop
PC-DAPS particle 4 crop
FFHQ
ImageNet Fourier magnitude measurementMeasurement
DAPS runs
DAPS run 1
DAPS run 2upside-down
DAPS run 3
DAPS run 4upside-down
ImageNet reference imageReference
PC-DAPS
PC-DAPS particle 1
PC-DAPS particle 2
PC-DAPS particle 3
PC-DAPS particle 4
Reference crop
Diversity
PC-DAPS particle 1 crop
PC-DAPS particle 2 crop
PC-DAPS particle 3 crop
PC-DAPS particle 4 crop
ImageNet

PC-DAPS resolves the upside-down orientation inconsistencies seen in independent DAPS runs. The diversity rows show that, although PC-DAPS is globally stable, it preserves subtle variation among the four particles generated in a single run.

More Samples

More PC-DAPS reconstructions; each row is one measurement. Click an image to zoom.

BibTeX (soon)