Solving Linear-Gaussian Bayesian Inverse Problems with Decoupled Diffusion Sequential Monte Carlo

Authors: Filip Ekström Kelvinius, Zheng Zhao, Fredrik Lindsten

ICML 2025 | Venue PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental We contribute to this research direction by designing a sequential Monte Carlo method for linear-Gaussian inverse problems which builds on decoupled diffusion , where the generative process is designed such that larger updates to the sample are possible. The method is asymptotically exact and we demonstrate the effectiveness of our Decoupled Diffusion Sequential Monte Carlo (DDSMC) algorithm on both synthetic as well as protein and image data. Further, we demonstrate how the approach can be extended to discrete data.
Researcher Affiliation Academia 1Department of Computer and Information Science (IDA), Link oping University, Sweden. Correspondence to: Filip Ekstr om Kelvinius <EMAIL>.
Pseudocode Yes An algorithm outlining an implementation of DDSMC can be found in Algorithm 1. Algorithm 1 Decoupled Diffusion SMC (DDSMC). All operations for i = 1, . . . , N
Open Source Code Yes Code is available online1. 1https://github.com/filipekstrm/ddsmc
Open Datasets Yes We now turn our attention to the problem of image restoration, and use our method for inpainting, outpainting, and super-resolution on the FFHQ (Karras et al., 2019) dataset (downsampled to 256 256), using a pretrained model by Chung et al. (2023). We implement DDSMC in the codebase of DCPS6, and use 1k images from the validation set and compute LPIPS (Zhang et al., 2018) as a quantitative metric (see PSNR results in Appendix G.2). Data used is from the Protein Data Bank7 (Berman et al., 2000; 2003). 7www.rcsb.org/, www.wwpdb.org/ As a proof of concept of our discrete algorithm D3SMC (see detailed description in Appendix E), we try denoising on binarized MNIST (Deng, 2012) (i.e., each pixel is either 0 or 1), cropped to 24 24 pixels to remove padding.
Dataset Splits Yes We implement DDSMC in the codebase of DCPS6, and use 1k images from the validation set and compute LPIPS (Zhang et al., 2018) as a quantitative metric (see PSNR results in Appendix G.2). The mixture weights and the measurement model (A, σy) are randomly generated, and a measurement is then drawn by sampling first x 0 q(x0), then ϵ N(0, I), and finally setting y = Ax + σyϵ. From this measurement, it is possible to compute the posterior exactly, and 10k samples were drawn from the posterior. Additionally, 10k samples were generated by each of the algorithms, and the Sliced Wassertstein Distance between the exact posterior samples and the SMC samples were computed using the Python Optimal Transport (POT) package11 (Flamary et al., 2021)
Hardware Specification No Computations were enabled by the Berzelius resource provided by the Knut and Alice Wallenberg Foundation at the National Supercomputer Centre.
Software Dependencies No We used the sliced Wasserstein distance (Flamary et al., 2021) between 10k samples from the true posterior and each sampling algorithm. Python Optimal Transport (POT) package11 (Flamary et al., 2021) As a reconstruction, we compare Tweedie s formula and the DDIM ODE solver (Song et al., 2021a), see Equation (78) in the appendix, where we solve the ODE using as many steps as there are left in the diffusion process. As a backbone neural network, we used a U-Net (Ronneberger et al., 2015) trained with cross-entropy loss.
Experiment Setup Yes We run DDSMC with N = 256 particles, and use T = 20 steps in the generative process. We used 5 particles for our method, and when using the PF-ODE as reconstruction, we used 5 ODE steps. Time and σt Schedule We follow DAPS which uses a noise-schedule σti = ti where the timepoints ti (i = 1, . . . , T) are chosen as ti = t1/7 max + T i t1/7 min t1/7 max 7 (79) We used tmax = 100, tmin = 0.1 and T = 200. ρt schedule In their public implementation15, DAPS uses ρt = σ. However, we find that for when using the exact solution p(x0|xt+1, y), these values are too high. We therefore lower ρt by using a similar schedule as for σt, ρti = ρ1/7 max + T i ρ1/7 min ρ1/7 max 7 (80) but with with ρmax = 50 and ρmin = 0.03. PF-ODE Again, we followed DAPS and used an Euler solver to solve the PF-ODE by Karras et al. (2022), using 5 steps with σ according to the same procedure as for the outer diffusion process (i.e., Equation (79)), at each step ti starting with tmax = ti and ending with tmin = 0.01. For ADP-3D, we had to lower the learning rate for the higher noise levels, using 0.1 and 0.001 for σ = 0.1 and σ = 0.5, respectively. We run the algorithms with 8 different seeds.