Decoupling Training-Free Guided Diffusion by ADMM

Youyuan Zhang, Zehua Liu, Zenan Li, Zhaoyu Li, James J. Clark +1 more
2/9/2026

No official code found. Best implementation: youyuan-zhang/ADMMDiff (12 stars, last commit 2024-12-17).

Abstract

In this paper, we consider the conditional generation problem by guiding off-the-shelf unconditional diffusion models with differentiable loss functions in a plug-and-play fashion. While previous research has primarily focused on balancing the unconditional diffusion model and the guided loss through a tuned weight hyperparameter, we propose a novel framework that distinctly decouples these two components. Specifically, we introduce two variables x and z, to represent the generated samples governed by the unconditional generation model and the guidance function, respectively. This decoupling reformulates conditional generation into two manageable subproblems, unified by the constraint x = z. Leveraging this setup, we develop a new algorithm based on the Alternating Direction Method of Multipliers (ADMM) to adaptively balance these components. Additionally, we establish the equivalence between the diffusion reverse step and the proximal operator of ADMM and provide a detailed convergence analysis of our algorithm under certain mild assumptions. Our experiments demonstrate that our proposed method ADMMDiff consistently generates high-quality samples while ensuring strong adherence to the conditioning criteria. It outperforms existing methods across a range of conditional generation tasks, including image generation with various guidance and controllable motion synthesis.

View on arXivView PDF

Code Implementations(1)

[CVPR 2025] Official Implementation of Decoupling Training-Free Guided Diffusion by ADMM

121Shell, PythonNov 22, 20241 years ago

Similar Papers

Cite this paper

@article{zhang2026decoupling,
  title  = {Decoupling Training-Free Guided Diffusion by ADMM},
  author = {Youyuan Zhang and Zehua Liu and Zenan Li and Zhaoyu Li and James J. Clark and Xujie Si},
  year   = {2026},
  eprint = {2411.12773},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2411.12773},
  journal = {CVPR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2411.12773.svg)](https://codeofpaper.com/paper/2411.12773)

Discussion