Papers › Diffusion Schrödinger Bridge with Applications to Score-Based Generative Modeling
Diffusion Schrödinger Bridge with Applications to Score-Based Generative Modeling
Valentin De Bortoli, James Thornton, Jeremy Heng, Arnaud Doucet
Progressively applying Gaussian noise transforms complex data distributions to approximately Gaussian. Reversing this dynamic defines a generative model. When the forward noising process is given by a Stochastic Differential Equation (SDE), Song et al. (2021) demonstrate how the time inhomogeneous drift of the associated reverse-time SDE may be estimated using score-matching. A limitation of this approach is that the forward-time SDE must be run for a sufficiently long time for the final distribution to be approximately Gaussian. In contrast, solving the Schr\"odinger Bridge problem (SB), i.e. an entropy-regularized optimal transport problem on path spaces, yields diffusions which generate samples from the data distribution in finite time. We present Diffusion SB (DSB), an original approximation of the Iterative Proportional Fitting (IPF) procedure to solve the SB problem, and provide theoretical analysis along with generative modeling experiments. The first DSB iteration recovers the methodology proposed by Song et al. (2021), with the flexibility of using shorter time intervals, as subsequent DSB iterations reduce the discrepancy between the final-time marginal of the forward (resp. backward) SDE with respect to the prior (resp. data) distribution. Beyond generative modeling, DSB offers a widely applicable computational optimal transport tool as the continuous state-space analogue of the popular Sinkhorn algorithm (Cuturi, 2013).
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2106.01357")
Code
Syntology Ran 22 of 35 code samples harvested from 2 repositories linked to this paper; 13 have no recorded run. Of those that ran: 5 ran · honoured contract; 2 ran · violated contract; 9 ran · our draft was wrong; 1 ran · fixture could not drive it; 5 ran with no contract checked.
By repository: official repository: 12 samples from 1 repository, 6 ran; community (archive-listed): 23 samples from 1 repository, 16 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
35 samples harvested; 22 ran; 5 honoured the contract we drafted; 13 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 0 of the 35 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 2 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
e4c94ae30f27ac18 · report
c88909f2cfb2fb91 · report
5537e783e5bad68a · report
55327fa0ee65d637 · report
f63e44465df9dea5 · report
8dbe5289e0087ca3 · report
3e2072a73ea85aee · report
6da2149bcace3567 · report
047f2e89ba81227d · report
b15b7368db6c2575 · report
ce40987a5f51f481 · report
a6ba07d0c9906f3c · report
dff092e26328f464 · report
621c3b5c6259b97e · report
8d8cecbcb2f02933 · report
2f94bf4947f9510a · report
07ab67e31f0a2c0e · report
2f48cf5e340d5036 · report
f5b271662945056a · report
7542200a9ef8296f · report
d602cc73ac0424e5 · report
1365335a7bfbbec5 · report
446d5ae9b2d8c92a · report
77e8834da5dd3a78 · report
774e6c73d0322778 · report
9b452f0316038a1c · report
dd8c818eaa83ebdb · report
b1412751e093dbe6 · report
2053b848ea398325 · report
5fa86b3b59f03ef2 · report
462bbf0816d5e3bf · report
30064cd4e8da4011 · report
61f03451a0338d12 · report
06eaaa03d0e243e5 · report
24255e007571b204 · report
Results from the paper archive 2025-07-28
No leaderboard rows for this paper in the archive.
Methods
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections