SlowGuess/NeurIPS_2023_OCR huggingface dataset:
$$
\begin{array}{l} \mathcal {L} = \sum_ {t} \| \underbrace {\mathbf {m} _ {t} + \delta_ {t} \mathbf {Z} _ {t} (\mathbf {m} _ {t})} _ {①} - \left(\mathbf {m} _ {t} + \underbrace {\mathbf {m} _ {t + \delta_ {t}} + \delta_ {t} \widehat {\mathbf {Z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t + \delta_ {t}})} _ {②} - \left(\underbrace {\mathbf {m} _ {t} + \delta_ {t} \widehat {\mathbf {Z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t})}\right)\right) \| _ {2} ^ {2} (37) \\ = \sum_ {t} \| \delta_ {t} \mathbf {Z} _ {t} (\mathbf {m} _ {t}) + \delta_ {t} \widehat {\mathbf {Z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t}) - \left(\mathbf {m} _ {t + \delta_ {t}} - \mathbf {m} _ {t} - \delta_ {t} \widehat {\mathbf {Z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t + \delta_ {t}})\right) \| _ {2} ^ {2} (38) \\ \approx \sum_ {t} \| \mathbf {Z} _ {t} (\mathbf {m} _ {t}) + \widehat {\mathbf {Z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t}) - \nabla_ {\mathbf {v}} \log p _ {t} ^ {(1 7)} \| _ {2} ^ {2} (39) \\ \end{array}
$$
$$
\text {d u e t o t h e s p e c i a l s t r u c t u r e o f} \mathbf {Z} _ {t} \text {a n d} \widehat {\mathbf {Z}} _ {t} \tag {40}
$$
$$
= \sum_ {t} \| \mathbf {z} _ {t} (\mathbf {m} _ {t}) + \widehat {\mathbf {z}} _ {t + \delta_ {t}} (\mathbf {m} _ {t}) - \nabla_ {\mathbf {v}} \log p _ {t} ^ {(1 7)} \| _ {2} ^ {2} \tag {41}
$$
Where  $(1,2,3)$  corresponds to  $F_{k},B_{k}$ , and  $B_{k + 1}$  in [15] respectively. Furthermore, we need to find a density function  $p_{t_i}(\mathbf{v}_{t_i}|\mathbf{x}_{t_i})$  which satisfies
$$
p _ {t _ {i}} \left(\mathbf {x} _ {t _ {i}}\right) p _ {t _ {i}} \left(\mathbf {v} _ {t _ {i}} \mid \mathbf {x} _ {t _ {i}}\right) \equiv p _ {t _ {i}} \left(\mathbf {x} _ {t _ {i}}\right) \hat {q} \left(\mathbf {v} _ {t _ {i}} \mid \mathbf {x} _ {t _ {i}}\right)
$$
$$
p _ {t _ {i}} \left(\mathbf {v} _ {t _ {i}} \mid \mathbf {x} _ {t _ {i}}\right) \equiv \hat {q} _ {t _ {i}} \left(\mathbf {v} _ {t _ {i}} \mid \mathbf {x} _ {t _ {i}}\right)
$$
to be the new boundary condition.
Proposition B.6 (Optimality w.r.t.  $\kappa_{\mathrm{bridge}}$ ). Given the reference path measure  $\bar{\pi}$  driven by the policy  $\widehat{\mathbf{z}}_t$  from boundary  $\mu_{t_N}$  in the reverse time direction, the optimal path measure in the forward time direction of the following problem
$$
\begin{array}{l} \min_{\pi}\mathcal{J}(\pi):= \sum_{i = 0}^{N - 1}KL\left(\pi_{t_{i}:t_{i + 1}}|\bar{\pi}_{t_{i}:t_{i + 1}}\right),\quad s.t\quad \pi \in \mathcal{K}_{bridge} = \bigl\{\cap_{i = 1}^{N - 1}\mathcal{K}_{t_{i}}^{2}\bigr \} \\ i s: \quad \pi_ {t _ {0} t _ {N}} ^ {*} = \frac {q _ {t _ {0}} \bar {\pi} _ {t _ {0} : t _ {N}}}{\int \bar {\pi} _ {t _ {0} : t _ {N}} \mathrm {d} \mathbf {m} _ {t _ {N}} \mathrm {d} \mathbf {v} _ {t _ {0}}}. \\ \end{array}
$$
when  $\pi_{t_0t_N} \equiv \pi_{t_0t_N}^*$ , the following equations need to hold  $\forall t \in [t_0, t_N]$ :
$$
\left\| \mathbf {z} _ {t} + \widehat {\mathbf {z}} _ {t} - g \nabla_ {\mathbf {v}} \log \hat {p} _ {t} \right\| _ {2} ^ {2} = 0 \tag {42a}
$$
$$
p _ {t _ {0}} \left(\mathbf {v} _ {t _ {0}}, \mathbf {x} _ {t _ {0}}\right) \equiv \hat {q} _ {t _ {0}} \left(\mathbf {v} _ {t _ {0}}, \mathbf {x} _ {t _ {0}}\right) \tag {42b}
$$
Proof. Same proof as B.5.
Remark B.7. The optimizer of such a problem can be represented as
$$
\pi^ {*} = \mu_ {t _ {N}} \bar {\pi} _ {| t _ {N}} \tag {43}
$$
which can also be represented as,
$$
\pi^ {*} = \int \bar {\pi} \mathrm {d} \mu_ {t _ {N}} \cdot \left(\bar {\pi} _ {\cdot | t _ {N}}\right) ^ {R} \tag {44}
$$
Where the notation  $R$  represents for the time reversal. The Proposition.4.4 is basically using neural network  $\mathbf{Z}_t^\theta$  to approximate eq.44.
We test DMSB on 2D synthetic datasets and realworld scRNA-seq dataset [30]. We parameterize  $\mathbf{z}(t,\mathbf{m};\theta)$  and  $\widehat{\mathbf{z}} (t,\mathbf{m};\phi)$  with residual-based networks for all datasets (see.fig.6). The network adopts position encoding and is trained with AdamW[45] on one Nvidia 3090 Ti GPU. We use constant g(t) for simplicity though the framework can adopt time varying function g(t). We set the time horizon  $T = t_{N} = 1\cdot N$  and interval  $\delta_t = 0.01$ . We use EM discretization throughout the whole paper. For scRNA-seq dataset, we split data into train and test subsets(85% and 15%). All the experiment results are simulated by all-step push forward from initial data points at time  $t = t_0$ .
MIOFlow and NLSB setup: We use the official implementation of NLSB and MIOFlow. For MIOFlow, we report the best performance for all experiments w/GAE(or AE) and w/o GAE(or AE) embedding. For NLSB, we enlarge the size of the neural network to the best of our GPU capacity for a 100-dimensional scRNA-seq dataset and report the best performance during the training.
We evaluate the velocity of NLSB, as an SDE model, by its estimated drift term at time steps  $t = \{1,2,3,4,5\}$ . Because MIOflow w/ GAE simulates trajectories in the latent space, we estimate the velocity by using the forward finite difference technique with discretization  $1E - 3$  sec after mapping from the latent code to the original space. We run the experiments of 100-D and 5-D RNAsc datasets and average the discrepancy between ground truth velocity and estimated velocity over snapshot time. The numerical values are listed in the Table.7 and Table.6. The plot of velocity and position can be found in Fig.9 and Fig.10. We do not want to underestimate any prior work and tried out best to tune the prior work. Feel free to communicate with the first author if one can reproduce better results in the experiment section, and we are willing to update it.
Metrics and Evaluations The 1-Wasserstein Distance suffers from the curse of dimensionality seriously. In the main paper, we are using Sliced-Wasserstein Distance (SWD) and Maximum Mean Distance as our criterion for 100-dim RNA dataset. An example is listed in the following toy code. One can notice that  $W_{1}$  suffers from the curse of dimensionality seriously, the distance between two gaussian samples is even larger than the distance between gaussian and zeros (See following code snapshot). Hence such a metric is not suitable for high dimension ( $\geq 100$ ) dataset evaluation even though some papers report  $W_{1}$ . In order to better evaluate our model compared with baselines, we are using  $W_{1}$ , Energy Distance, Max-sliced Wasserstein distance, Sliced-Wasserstein Distance and MMD. Our metric is adapted from Geoloss ( $W_{1}$  and  $Energy$ ), POT (Sliced Wasserstein and Maximum-Sliced Wasserstein) and this repo (MMD).
Trajectories Cache Similar to prior work [14, 15], we also need to cache the trajectories for training purposes. We cache 4096 trajectories for each Bregman Projection.
Special Clarification for NLSB
We evaluate the velocity of NLSB, as an SDE model, by its estimated drift term at time steps  $t = \{1,2,3,4,5\}$ . It may not be reasonable to consider the drift term as the real velocity, but the drift term can certainly depict a trend of SDE, so we still provide the result here.
from ot.sliced import sliced_wasserstein_distance  
a = torch.randn(1000, 100) #1000 gaussian samples with dimension 100  
b = torch.zeros(1000, 100) #1000 zeros samples with dimension 100  
c = torch.randn(1000, 100) #1000 gaussian samples with dimension 100  
Loss = sliced_wasserstein_distance  
print('SWD distance between a and b is: {}.format(Loss(a, b)))  
print('SWD distance between a and c is: {}.format(Loss(a, c)))  
#SWD distance between a and b is: 1.0433608293533325  
#SWD distance between a and c is: 0.11096614599227905
Listing 1: Distance compute by SWD distance with 1000 samples and 100 dimensions.
from geomloss import SamplesLoss  
a = torch.randn(1000, 100) #1000 gaussian samples with dimension 100  
b = torch.zeros(1000, 100) #1000 zeros samples with dimension 100  
c = torch.randn(1000, 100) #1000 gaussian samples with dimension 100  
Loss = SamplesLoss('sinkhorn', p=1)  
print('W1 distance between a and b is: {}.format(Loss(a, b)))  
print('W1 distance between a and c is: {}.format(Loss(a, c)))  
#W1 distance between a and b is: 9.781818389892578  
#W1 distance between a and c is: 11.734640121459961
Listing 2: Distance compute by  $W_{1}$  distance with 1000 samples and 100 dimensions.
Training: We use Exponential Moving Average (EMA) with a decay rate of 0.999. Table.7 details the hyperparameters used for each dataset. The learning rate for all the datasets is set to be 2e-4 and the training batching size is 256. For computation efficiency, we cache large batch size of empirical samples from reference trajectory and sample training batch size from the cache data. The hyperparameters can be found in Table.7.
Figure 6: Neural network architecture for all experiments. The network size (# parameters) are varying between different tasks.
Figure 7: Training Hyper-parameters
Dataset	time steps	# BI	g(t)	# Parameters	T	SNR	# vt Langevin
Semicircle	15	2000	0.2	1.21M	3	0.15	1
Petal	30	2000	0.2	1.21M	2	0.15	1
GMM	15	2000	0.2	1.21M	4	0.15	1
scRNA (100 dim)	15	4000	0.4	1.34M	4	0.15	1
Langevin sampling: The Langevin sampling procedure for the velocity is summarized in 2. Given some pre-defined signal-to-noise ratio  $r$  (we set  $\mathrm{snr} = 0.15$  for all experiments), the Langevin noise scale  $\sigma$  at each time step  $t$  and each corrector step  $i$  is computed by
$$
\sigma_ {t} = \frac {2 r ^ {2} g ^ {2} \| \epsilon \| ^ {2}}{\| \mathbf {z} (t , \mathbf {m} _ {t}) + \widehat {\mathbf {z}} (t , \mathbf {m} _ {t}) \| ^ {2}}, \tag {45}
$$
D Algorithms
Algorithm 1 Sampling Procedure of DMSB
Input: Policies  $\mathbf{z}(\cdot ,\cdot ;\theta)$  and  $\widehat{\mathbf{z}} (\cdot ,\cdot ;\phi)$  Total sampling step  $S = \frac{t_N}{\delta_t}$  . Data distributions  $\rho_{t_i}$  . Initializing velocity distributions  $\gamma_{t_i} = \mathcal{N}(0,\mathbf{I})$  if they are not available.   
for  $s = 0$  to  $S - 1$  do if  $s = 0$  then Sample position data  $\mathbf{x}_{t_0}$  from  $\rho_{t_0}$  if ground truth velocity distribution  $\gamma_{t_0}$  avaliable then Sample velocity data  $\mathbf{v}_{t_0}$  from  $\gamma_{t_0}$  else Sample velocity data  $\mathbf{v}_{t_0}$  by Langevin simulation conditioning on  $\mathbf{x}_{t_0}$  (Algorithm.2) end if  $\mathbf{m}_{t_0} = [\mathbf{x}_{t_0},\mathbf{v}_{t_0}]^{\mathrm{T}}$  end if Simulating dynamics:  $\mathrm{d}\mathbf{m}_t = [f(\mathbf{m}_t,t) + g(t)\mathbf{Z}_t]\mathrm{d}t + g(t)\mathrm{d}\mathbf{w}_t$  (eq.16)   
end for   
return  $\mathbf{m}_{t\in [t_0,t_N]}$
Algorithm 2 Langevin Sampler at  $t_i$  marginal constraint
Input: policies  $\mathbf{z}(\cdot ,\cdot ;\theta)$  and  $\widehat{\mathbf{z}} (\cdot ,\cdot ;\phi)$  , Previous timestep predicted velocity  $\mathbf{v}_{t_i}$  Sample position from ground truth  $\mathbf{x}_{t_i}\sim \rho_{t_i}$    
for step  $= 0$  to # Langevin steps do Sample  $\epsilon \sim \mathcal{N}(0,I)$  Construct new  $\mathbf{m}_{t_i} = [\mathbf{x}_{t_i},\mathbf{v}_{t_i}]^{\mathrm{T}}$  Compute  $\nabla_{\mathbf{v}}\log \tilde{p}_t^{\theta ,\phi}\approx [\mathbf{z}(t_i,\mathbf{m}_{t_i}) + \widehat{\mathbf{z}} (t_i,\mathbf{m}_{t_i})] / g.$  Compute  $\sigma_t$  with (45). Langevin Sampling  $\mathbf{v}_{t_i}\gets \mathbf{v}_{t_i} + \sigma_{t_i}\nabla_{\mathbf{v}}\log \tilde{p}_{t_i}^{\theta ,\phi} + \sqrt{2\sigma_t}\epsilon .$    
end for   
return  $\mathbf{m}_{t_i} = [\mathbf{x}_{t_i},\mathbf{v}_{t_i}]^{\mathrm{T}}$
Algorithm 3 DMSB Training
Input:  $N + 1$  Marginal position distribution  $\rho_{t_i},i\in [0,N]$  .Parametrized policies  $\mathbf{z}(\dots ;\theta)$  and  $\widehat{\mathbf{z}} (\dots ;\phi)$  The number of Bregman Iteration  $B$  . Initialize positron and velocity at time step  $t_i:\bar{\mathbf{m}}_{t_i}\coloneqq N o n e$  for the first iteration.   
if Use ground truth velocity then set prior velocity:  $\gamma_{t_i} = \gamma_{t_i}$    
else set initial velocity  $\gamma_{t_i} = \mathcal{N}(0,I)$    
end if   
for  $b = 0$  to  $B - 1$  do for  $k = N$  to 1 do  $\mathbf{z}^{\phi ,\_} = OptSubSet(t_k,t_{k - 1},\mathbf{z}_{ref} = \mathbf{z}^{\theta},\mathbf{z}_{opt} = \mathbf{z}^{\phi},\eta = \phi ,\bar{\mathbf{m}} = N o n e)$  [Optimize Kboundary] end for for  $k = 0$  to  $N - 1$  do  $\mathbf{z}^{\theta ,\_} = OptSubSet(t_k,t_{k + 1},\mathbf{z}_{ref} = \mathbf{z}^{\phi},\mathbf{z}_{opt} = \mathbf{z}^{\theta},\eta = \theta ,\bar{\mathbf{m}} = N o n e)$  [Optimize Kboundary] end for  $\mathbf{z}^{\phi},\widehat{\mathbf{m}} = OptSubSet(t_N,t_0,\mathbf{z}_{ref} = \mathbf{z}^{\theta},\mathbf{z}_{opt} = \mathbf{z}^{\phi},\eta = \phi ,\bar{\mathbf{m}} = \bar{\mathbf{m}})$  [Optimize Kbridge] for  $k = 0$  to  $N - 1$  do  $\mathbf{z}^{\theta ,\_} = OptSubSet(t_k,t_{k + 1},\mathbf{z}_{ref} = \mathbf{z}^{\phi},\mathbf{z}_{opt} = \mathbf{z}^{\theta},\eta = \theta ,\bar{\mathbf{m}} = \bar{\mathbf{m}})$  [Optimize Kboundary] end for for  $k = N$  to 1 do  $\mathbf{z}^{\phi ,\_} = OptSubSet(t_k,t_{k - 1},\mathbf{z}_{ref} = \mathbf{z}^{\theta},\mathbf{z}_{opt} = \mathbf{z}^{\phi},\eta = \phi ,\bar{\mathbf{m}} = N o n e)$  [Optimize K boundary] end for  $\mathbf{z}^{\phi},\widehat{\mathbf{m}} = OptSubSet(t_0,t_N,\mathbf{z}_{ref} = \mathbf{z}^{\phi},\mathbf{z}_{opt} = \mathbf{z}^{\theta},\eta = \theta ,\bar{\mathbf{m}} = \bar{\mathbf{m}})$  [Optimize Kbridge]   
end for
Algorithm 4 Function OptSubSet (Optimization for subsets)
input: Initial time  $t_i$  and terminal time  $t_j$ . Reference path measure boundary condition  $\rho_{t_i}$ . Reference path measure driver  $\mathbf{z}_{ref}$ . Policy being optimized  $\mathbf{z}_{opt}$  and corresponding parameter  $\eta$ . Empirical sample form last iteration  $\hat{\mathbf{m}}$ .  
output:  $\mathbf{z}_{opt}$ , samples  $\hat{\mathbf{m}}_{t_j}$  from reference path measure.  
if  $\hat{\mathbf{m}}$  is None then  
    Sample position data  $\mathbf{x}_{t_i}$  from  $\rho_{t_i}$ .  
    if velocity distribution  $\gamma_{t_i}$  available then  
        Sample conditional velocity data  $\mathbf{v}_{t_i}$  from  $\gamma_{t_i}$   
    else  
        Sample velocity data  $\mathbf{v}_{t_i}$  by Langevin simulation conditioning on  $\mathbf{x}_{t_i}$ . (see Algorithm.2.)  
    end if  
     $\mathbf{m}_{t_i} = [\mathbf{x}_{t_i}, \mathbf{v}_{t_i}]^T$   
else  
     $\mathbf{m}_{t_i} = \bar{\mathbf{m}}$   
end if  
Sample trajectory  $\mathbf{m}_{t \in [t_i, t_j]}$  from  $\mathbf{m}_{t_i}$  using  $\mathbf{z}_{ref}$   
Compute  $\mathcal{L} = \alpha \mathcal{L}_{\mathrm{MM}} + (1 - \alpha) \mathcal{L}_{reg}$  (Regularization of SB  $L_{reg}[29]$  is optional)  
update  $\eta$
E Additional Diagram
Figure 8: The detailed example diagram of Fig.2. We demonstrate an example of 3 marginals case. The training scheme can be extended to general N marginals easily. The figure consists of two BIs that differs by the training order. Given the reference path measure, we first run the Bregman Projection (BP) within the subset of  $\mathcal{K}_{\mathrm{boundary}}$  sequentially and end up with the constraint  $\mathcal{K}_{\mathrm{bridge}}$ .
F Additional Experiment
Table 4: Our algorithm results over 3 seeds. Numerical result of MMD and SWD on 100 dimensions single-cell RNA-seq dataset and results for leaving out margins at different observation. DMSB outperforms prior work by a large margin for both metrics and all leave-out case.
LO	Metrics	t1	t2	t3	t4	Avg
w/o LO	MMD↓	0.021±1E-3	0.029±5E-3	0.038±2E-3	0.034±2E-3	0.032±3E-3
SWD↓	0.114±5E-2	0.155±2E-2	0.19±3E-2	0.155±1E-2	0.16±2E-2
w/ LO-t1	MMD↓	0.09±1E-3	0.019±1E-2	0.032±2E-2	0.029±2E-2	0.042±2E-2
SWD↓	0.140±2E-2	0.155±1E-2	0.19±2E-2	0.155±1E-2	0.153±3E-2
w/ LO-t2	MMD↓	0.021±1E-3	0.065±5E-3	0.032±2E-3	0.02±2E-3	0.033±3E-3
SWD↓	0.100±5E-2	0.202±2E-2	0.13±3E-2	0.191±1E-2	0.155±2E-2
w/ LO-t3	MMD↓	0.025±2E-3	0.026±2E-2	0.075±1E-2	0.029±2E-2	0.040±2E-2
SWD↓	0.124±2E-2	0.14±1E-2	0.27±2E-2	0.18±1E-2	0.179±3E-2
Table 5: Numerical result of Wasserstein-1  $(W_{1})$ , MMD, energy distance and Max-sliced Wasserstein distance (MWD) on position of 5 dimensions single-cell RNA-seq dataset using 500 generative samples and 500 ground truth data.
Dim=5	Energy ↓	MMD ↓	W1 ↓	SWD↓	MWD ↓
NLSB	0.04	0.10	0.74	0.24	0.48
MIOFLOW	0.09	0.28	0.79	0.388	0.66
DMSB(ours)	0.03	0.06	0.67	0.22	0.41
Table 6: Numerical result of Wasserstein-1  $(W_{1})$ , MMD, energy distance and Max-sliced Wasserstein distance (MWD) on the velocity of 5 dimensions single-cell RNA-seq dataset using 500 generative samples and 500 ground truth data.
Dim=5	Energy ↓	MMD ↓	W1 ↓	SWD↓	MWD ↓
NLSB¹	0.44	1.37	1.75	0.83	1.40
MIOFLOW	0.68	2.11	1.88	0.94	1.54
DMSB(ours)	0.40	0.85	1.67	0.74	1.43
<sup>1</sup> See special clarification (Appendix.C) for the velocity generated NLSB
Table 7: Numerical result of Wasserstein-1  $(W_{1})$ , MMD, energy distance and Max-sliced Wasserstein distance (MWD) on the velocity of 100 dimensions single-cell RNA-seq dataset using 500 generative samples and 500 ground truth data.
Dim=100	Energy ↓	MMD ↓	SWD↓	MWD ↓
NLSB2	2.12	1.6	0.94	1.27
MIOFLOW	9.18	2.41	1.89	5.66
DMSB(ours)	0.36	0.18	0.39	0.78
Figure 9: Comparison of population-level dynamics on 5-dimensional PCA space at the moment of observation for scRNA-seq data using MIOFlow, NLSB, and DMSB. We display the plot of the first 4 principle components (PC). All method performs well under this experiment setup.
Figure 10: Comparison of estimated velocity on 5-dimensional PCA space at the moment of observation for scRNA-seq data using MIOFlow, NLSB, and DMSB. We display the plot of the first 4 principle components (PC). For the results of NLSB, see special clarification of NLSB in Appendix.C
See special clarification (Appendix.C) for the velocity generated NLSB
Figure 11: Comparison of estimated velocity on 100-dimensional PCA space at the moment of observation for scRNA-seq data using MIOFlow, NLSB, and DMSB. We display the plot of the first 6 principle components (PC). For the results of NLSB, see special clarification of NLSB in Appendix.C
Figure 12: Comparison of estimated velocity on 100-dimensional PCA space at the moment of observation for scRNA-seq data using DMSB with ground truth. We display the plot of the first 6 principle components (PC).
G Intuitions of Propositions and Theorems
1. Remark for Proposition 3.1: Within each half-bridge IPF, the variable  $\mathbf{Z}_t$  (or  $\widehat{\mathbf{Z}}_t$ ) is essentially learning the reverse-time stochastic process induced by  $\widehat{\mathbf{Z}}_t$ . This process can also be viewed as minimizing the approximated parameterized negative log-likelihood.
2. Remark for Proposition 4.2: In order to matching the reference path measure in KL divergence sense, one need to match both the intermediate path measure eq.(9a) and the boundary condition eq.(9b). In the traditional two boundary SB case, matching the boundary condition is often disregarded due to either having a predefined data distribution or a tractable prior. However, in our specific case, as the velocity is not predefined, it becomes imperative to address this issue and optimize it through the application of Langevin dynamics.
3. Remark for Proposition 4.3: Following the same argument as the remark of Proposition 4.2, it becomes evident that, in this particular scenario, there is no need to account for the data distribution since there are no position constraints when optimizing with  $K$ . Consequently, the optimal solution will inherently align faithfully with the reverse diffusion and adapt to the boundary conditions imposed by the reference path measure.
4. Remark for Proposition 4.5: We indeed underexplained an important nontrivial fact (thank you so much for catching it): the unique structure of SB leads to a beautiful fact that the score is proportional to the sum of the forward and backward drift terms. This facilitates the sampling of velocity. Specifically, the score function can be obtained using eq(11), as supported by the findings in eq(24). It can also be understood as the one realization of Nelson duality (see Lemma 1 in [46] and [28]).
H Complexity
Here we provide the complexity of our algorithm.
Table 8: Time complexity w.r.t Dimensionality ( Marginals=5)
# dimensions	5	10	50	100
Train	24min	25min	33min	44min
Sampling	1sec	1.6sec	2.0 sec	2.02sec
Table 9: Time complexity w.r.t number of marginals (Dim=100)
# Marginal	2	3	4	5
Train	32min	25min	33min	44min
Sampling	2.02sec	1.6sec	2.0 sec	2.02sec