DMPlug: A Plug-in Method for Solving Inverse Problems with Diffusion Models

Authors: Hengkang Wang, Xu Zhang, Taihui Li, Yuxiang Wan, Tiancong Chen, Ju Sun

NeurIPS 2024 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Through extensive experiments across various IP tasks, including two linear and three nonlinear IPs, we demonstrate that DMPlug consistently outperforms state-of-the-art methods, often by large margins especially for nonlinear IPs.
Researcher Affiliation Collaboration Hengkang Wang1 Xu Zhang2 Taihui Li1 Yuxiang Wan1 Tiancong Chen1 Ju Sun1 1Department of Computer Science and Engineering, University of Minnesota {wang9881,lixx5027,wan01530,chen6271,jusun}@umn.edu 2Amazon.com Inc., spongezhang@gmail.com
Pseudocode Yes Algorithm 1 Template for interleaving methods, Algorithm 2 Proposed plug-in method, DMPlug, Algorithm 3 DMPlug+ES WMV for solving general IPs
Open Source Code Yes The code is available at https://github.com/sun-umn/DMPlug.
Open Datasets Yes Following [20], we construct the evaluation sets by sampling 100 images from Celeb A [62], FFHQ [63] and LSUNbedroom [64], respectively, and resizing all images to 256 256
Dataset Splits No Following [20], we construct the evaluation sets by sampling 100 images from Celeb A [62], FFHQ [63] and LSUNbedroom [64], respectively, and resizing all images to 256 256 - This describes the evaluation set, which serves as a test set. There's no explicit mention of training or validation splits for their own method's reproduction, as it relies on pretrained DMs.
Hardware Specification Yes We perform all experiments on NVIDIA A100 GPUs with 40GB memory each.
Software Dependencies No The default optimizer is ADAM and the learning rate (LR) for z is 1 10 2; for BID (with turbulence), the LRs for blur kernel and the tilt map are 1 10 1 and 1 10 7, respectively. For the maximum numbers of iterations, we set 5,000 and 10,000 for linear and nonlinear IPs, respectively, which empirically allow good convergence. We choose ADAM as the default optimizer because in Py Torch, optimizing multiple groups of variables with different learning rates as for the case of BID (with turbulence) is easy to program with ADAM but tricky for L-BFGS. - While it mentions PyTorch and ADAM, it does not provide version numbers for any software dependencies.
Experiment Setup Yes The default optimizer is ADAM and the learning rate (LR) for z is 1 10 2; for BID (with turbulence), the LRs for blur kernel and the tilt map are 1 10 1 and 1 10 7, respectively. For the maximum numbers of iterations, we set 5,000 and 10,000 for linear and nonlinear IPs, respectively, which empirically allow good convergence.