A Geometric Perspective on Diffusion Models

Defang Chen, Zhenyu Zhou, Jian-Ping Mei, Chunhua Shen, Chun Chen +1 more
5/31/2023
cs.CVcs.LGstat.ML

Official code: zju-pi/diff-sampler (364 stars, Apache-2.0, last commit 2025-11-25).

Abstract

Recent years have witnessed significant progress in developing effective training and fast sampling techniques for diffusion models. A remarkable advancement is the use of stochastic differential equations (SDEs) and their marginal-preserving ordinary differential equations (ODEs) to describe data perturbation and generative modeling in a unified framework. In this paper, we carefully inspect the ODE-based sampling of a popular variance-exploding SDE and reveal several intriguing structures of its sampling dynamics. We discover that the data distribution and the noise distribution are smoothly connected with a quasi-linear sampling trajectory and another implicit denoising trajectory that even converges faster. Meanwhile, the denoising trajectory governs the curvature of the corresponding sampling trajectory and its finite differences yield various second-order samplers used in practice. Furthermore, we establish a theoretical relationship between the optimal ODE-based sampling and the classic mean-shift (mode-seeking) algorithm, with which we can characterize the asymptotic behavior of diffusion models and identify the empirical score deviation. Code is available at \url{https://github.com/zju-pi/diff-sampler}.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

An open-source toolbox for fast sampling of diffusion models. Official implementations of our works published in ICML, NeurIPS, CVPR, J. Stat. Mech.

36419Shell, PythonNov 30, 202311 months agoApache-2.0
benchmarkcvpr2024diffusion-modelsicml-2024neurips-2024+2 more

Similar Papers

Cite this paper

@article{chen2023geometric,
  title  = {A Geometric Perspective on Diffusion Models},
  author = {Defang Chen and Zhenyu Zhou and Jian-Ping Mei and Chunhua Shen and Chun Chen and Can Wang},
  year   = {2023},
  eprint = {2305.19947},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.19947v3}
}

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/2305.19947.svg)](https://codeofpaper.com/paper/2305.19947)

Discussion