Three-Body Scattering for Generative Modeling

Peng Sun, Zhenglin Cheng, Deyuan Liu, Jun Xie, Xinyi Shang +1 more
7/20/2026
cs.LGcs.CV

Official code: sp12138/TBSM (39 stars, Apache-2.0, last commit 2026-07-21).

Abstract

Modern generative models typically rely on an adversarial critic, a prescribed noise-to-data path, or an autoregressive factorization. Instead, we show that a proper distributional energy can induce sample-level motion and provide direct regression supervision for a one-step generator. Three-Body Scattering Modeling (TBSM) for generation turns the energy distance into a constant-size per-projectile interaction: each projectile is attracted toward one real source and repelled from one independently generated source. Conditioned on the projectile and its condition, its expectation equals the $2$-Wasserstein gradient-flow velocity of $\frac12D_E^2(P_θ,Q)$. A batch of $B$ frozen-target events yields $O(B)$ sample-level losses, each using one reference for its condition instead of the minibatch-wide all-pairs field used by methods such as Drifting Models. Tracking this conditional expectation online can reduce field noise. Using scattering in frozen image features, TBSM trains one-step generators on ImageNet-256, achieving FID${}=2.23$ with pixel-space PixelDiT-XL and FID${}=1.63$ with latent-space DiT-XL at NFE${}=1$. We provide a design map relating diffusion-related supervision, Drift-like dynamics, and GAN-like objectives. These results establish tracked scattering as a route to high-dimensional one-step generation. Code: https://github.com/sp12138/TBSM.

View on arXivView PDF

Code Implementations(1)

sp12138/TBSMOfficial100%
Apache-2.0

Official implementation of TBSM: Three-Body Scattering for Generative Modeling.

391PythonJul 20, 20263 months agoApache-2.0

Similar Papers

Cite this paper

@article{sun2026threebody,
  title  = {Three-Body Scattering for Generative Modeling},
  author = {Peng Sun and Zhenglin Cheng and Deyuan Liu and Jun Xie and Xinyi Shang and Tao Lin},
  year   = {2026},
  eprint = {2607.18198},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2607.18198v1}
}

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

Discussion