Probabilistic Inversion with Flow Matching
Summary
This paper applies Flow Matching, a generative AI technique, to probabilistic inversion for seismic full-waveform inversion, demonstrating its effectiveness on synthetic datasets.
View Cached Full Text
Cached at: 07/01/26, 05:35 AM
# Probabilistic Inversion with Flow Matching
Source: [https://arxiv.org/html/2606.31288](https://arxiv.org/html/2606.31288)
###### Abstract
We demonstrate the application of Flow Matching, a technique originating from generative Artificial Intelligence, to probabilistic inversion in geophysical settings, such as seismic Full\-Waveform inversion\. We adapt the well\-established mathematical theory of Flow Matching from generative Artificial Intelligence to the context of probabilistic inversion\. We evaluate the approach with two case studies: a simple 2D velocity model to illustrate the general features of the method, and the OpenFWI dataset to show its capabilities for probabilistic inversion of more complex seismic velocity models\.
## 1Introduction
Let𝐦∈ℳ\\mathbf\{m\}\\in\\mathcal\{M\}define a geophysical model \(e\.g\. a seismic velocity model in the subsurface together with a certain acquisition geometry\)\. Let𝐝obs\\mathbf\{d\_\{\\text\{obs\}\}\}be the observed data associated with𝐦\\mathbf\{m\}\. A forward operatorf:ℳ→𝒟f:\\mathcal\{M\}\\rightarrow\\mathcal\{D\}maps the model spaceℳ\\mathcal\{M\}to the data space𝒟\\mathcal\{D\}and describes the underlying physical system, such thatf\(𝐦\)=𝐝synf\(\\mathbf\{m\}\)=\\mathbf\{d\_\{\\text\{syn\}\}\}where𝐝syn∈𝒟\\mathbf\{d\_\{\\text\{syn\}\}\}\\in\\mathcal\{D\}and𝐝obs=𝐝syn\+ε\\mathbf\{d\_\{\\text\{obs\}\}\}=\\mathbf\{d\_\{\\text\{syn\}\}\}\+\\varepsilon\. Therefore, the observed data𝐝obs\\mathbf\{d\_\{\\text\{obs\}\}\}corresponds to the synthetic data𝐝syn\\mathbf\{d\_\{\\text\{syn\}\}\}plus some small uncorrelated noiseε\>0\\varepsilon\>0from the measurement\. Theforward problemrefers to the task of determining the forward operatorff\. Theinverse problemaddresses finding the inverse operatorf−1:𝒟→ℳf^\{\-1\}:\\mathcal\{D\}\\rightarrow\\mathcal\{M\}, which maps the data space to the model space, thereby recovering the model parameters, i\.e\. the seismic velocity distribution, from the observed data\.
In deterministic physics, the forward operator has a unique solution\[[14](https://arxiv.org/html/2606.31288#bib.bib14)\]\. However, this is generally not the case for the inverse operator\. Nevertheless, most modern inversion frameworks usedeterministic inversion, which pragmatically assumesf−1f^\{\-1\}to be a unique mapping, because it is computationally easier to solve\. As the inverse problem is ill\-posed \(in contrast to a well\-posed problem, where a unique solution exists and the behavior changes continuously with respect to input changes\), deterministic inversion requires a set of simplifications to obtain a reliable method\. At first, an initial guess of the solution needs to be given as a starting point for the iterative solver\. The solver needs to use a Taylor series approximation of the non\-linear forward operator in order to compute a model update\. Furthermore, significant regularization is required, usually by enforcing smoothness constraints\. Lastly, the observed data may need to be pre\-processed, e\.g\. in Full\-Waveform Inversion of seismic data, where often multiple inversions are done on increasing frequency content to avoid cycle skipping\[[1](https://arxiv.org/html/2606.31288#bib.bib16),[15](https://arxiv.org/html/2606.31288#bib.bib4)\]\.
Probabilistic inversiontries to express the non\-uniqueness of the inverse operator by finding a probability distributionp\(𝐦\|𝐝syn\)p\(\\mathbf\{m\}\|\\mathbf\{d\_\{\\text\{syn\}\}\}\), from which samples𝐳∼p\(𝐦\|𝐝syn\)\\mathbf\{z\}\\sim p\(\\mathbf\{m\}\|\\mathbf\{d\_\{\\text\{syn\}\}\}\)are possible solutions withf\(𝐳\)=𝐝synf\(\\mathbf\{z\}\)=\\mathbf\{d\_\{\\text\{syn\}\}\}\. In probabilistic inversion, no initial guess for the solution or regularization is required and the forward operator does not need to be approximated with a Taylor series\. Although this approach is arguably more elegant and allows the assessments of uncertainty, it is not often used today\. The reason for this is, that finding the distributionp\(𝐦\|𝐝syn\)p\(\\mathbf\{m\}\|\\mathbf\{d\_\{\\text\{syn\}\}\}\)with traditional sampling\-based methods requires evaluating the forward operator in each step, which scales roughly exponentially with the amount of model parameters\[[5](https://arxiv.org/html/2606.31288#bib.bib11)\]\. This is computationally too demanding for real\-world applications with up to millions of model parameters\.
Recently, there have been significant improvements in probabilistic inversion, where the problem is reframed as an optimization problem\. This was mostly driven by research in Deep Learning methods\. Variational Inference with Normalizing Flows\[[18](https://arxiv.org/html/2606.31288#bib.bib10)\]constructs a \(discrete\) series of Normalizing Flows that convert a known initial distribution into the target distribution\. The Flows are trained by maximizing the Evidence Lower Bound and hence minimizing the Kullback\-Leibler divergence between the prior and the target distribution\. In a different area of research, Diffusion Models are used to obtain the target distribution\[[17](https://arxiv.org/html/2606.31288#bib.bib13)\]\. In Diffusion Models, a stochastic process converts a known initial distribution into the target distribution\.
Flow Matching\[[8](https://arxiv.org/html/2606.31288#bib.bib1)\]can be seen as a bridge between Variational Inference with Normalizing Flows and Diffusion Models\. It is also a Deep Learning method that iteratively transforms a known initial distribution, such as the d\-dimensional Normal distribution, into either an unconditioned target distribution, likep\(𝐦\)p\(\\mathbf\{m\}\), or a conditioned target distribution, likep\(𝐦\|𝐝syn\)p\(\\mathbf\{m\}\|\\mathbf\{d\_\{\\text\{syn\}\}\}\)\. In the literature, the first case is referred to asunguided Flow Matchingand the second case asguided Flow Matching\.
This transformation of probability distribution is achieved by learning Continuous Normalizing Flows \(CNF\) during the training process\. At inference, a simple Ordinary Differential Equation \(ODE\) is solved\. In the following, the Flow Matching theory will be described in more detail with the help of a simple case study of a 2D velocity model\. The mathematical framework to be used for that is largely based on\[[8](https://arxiv.org/html/2606.31288#bib.bib1),[6](https://arxiv.org/html/2606.31288#bib.bib12),[9](https://arxiv.org/html/2606.31288#bib.bib7)\]and adapted for the use case of probabilistic inversion of geophysical data, because Flow Matching is generally used for generative AI\[[3](https://arxiv.org/html/2606.31288#bib.bib17),[12](https://arxiv.org/html/2606.31288#bib.bib20),[16](https://arxiv.org/html/2606.31288#bib.bib18),[2](https://arxiv.org/html/2606.31288#bib.bib19),[7](https://arxiv.org/html/2606.31288#bib.bib8)\]and is not commonly used for probabilistic inversion within the geophysics community yet\.
## 2Case Study: Simple 2D Velocity Model
As a first step, we illustrate the Flow Matching method on a minimalistic probabilistic inversion scenario\. We consider a simple 2D velocity model with two layers, as shown in[Figure 1](https://arxiv.org/html/2606.31288#S2.F1)\. The first layer has a known thickness of 10 metres and the second layer is a homogeneous half space\. The velocity model can therefore be described by the two layer velocitiesv1∈\[300,700\]msv\_\{1\}\\in\[300,700\]\\frac\{\\text\{m\}\}\{\\text\{s\}\}andv2∈\[s⋅v1,5000\]msv\_\{2\}\\in\[s\\cdot v\_\{1\},5000\]\\frac\{\\text\{m\}\}\{\\text\{s\}\}wheressis the minimum factor for which the ray of the refracted wave travels at least 1 m with the speed ofv2v\_\{2\}\. To condition \(guide\) the probabilistic inversion by some observed data, the traveltime of the refracted wave is computed for a source and receiver pair in a fixed distance of 50 metres\. The forward problem \(measuring the traveltime of the refracted wave for a given velocity model\) is unique, but the inverse problem \(obtaining a possible velocity field given some observed traveltime of the refracted wave\) is not unique, because different sets ofv1,v2v\_\{1\},v\_\{2\}may result in the same traveltime of the refracted wave\.
Figure 1:Simple 2D velocity model\.### 2\.1Initial and Target distribution
While any initial distribution may be used where a Continuous Normalizing Flow to the target distribution can be constructed, the d\-dimensional Normal distribution is most popular in practice, as it is easy to sample from it and to construct the Flows\. Therefore, we will focus on the initial distributionpinit=𝒩\(0,𝐈d\)p\_\{\\text\{init\}\}=\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{d\}\)\. In the case of the current scenario, where the seismic velocity model has two parameters,d=2d=2\.
The target distribution is unknown, but we assume that we have a finite set of samples from it, which will later serve as the training dataset\. In our example case, the target distribution would be a distribution of all possible seismic velocity models \(for unguided Flow Matching\) or the joint distribution of all possible seismic velocity fields and all possible observed data points \(for guided Flow Matching\)\. We denote the target distribution withptargetp\_\{\\text\{target\}\}and its samples as𝐦∼ptarget\\mathbf\{m\}\\sim p\_\{\\text\{target\}\}with𝐦∈ℝd\\mathbf\{m\}\\in\\mathbb\{R\}^\{d\}\.
### 2\.2Continuous Normalizing Flows
In Flow Matching, samples of the initial distribution are transformed into samples of the target distribution along some time\-dependent trajectoryXt:\[0,1\]→ℝdX\_\{t\}:\[0,1\]\\rightarrow\\mathbb\{R\}^\{d\}\. For any given timet∈\[0,1\]t\\in\[0,1\],XtX\_\{t\}returns a location inℝd\\mathbb\{R\}^\{d\}\. Timettrepresents a time step on the trajectory in this case, where att=0t=0the sample on the trajectory lies in the initial distribution and att=1t=1, it lies in the target distribution\. This trajectory is the solution to the ODE
ddtXt=ut\(Xt\)\\frac\{\\text\{d\}\}\{\\text\{d\}t\}X\_\{t\}=u\_\{t\}\(X\_\{t\}\)\(1\)
whereut\(Xt\)u\_\{t\}\(X\_\{t\}\)is a time\-dependent vector fieldut:\[0,1\]×ℝd→ℝdu\_\{t\}:\[0,1\]\\times\\mathbb\{R\}^\{d\}\\rightarrow\\mathbb\{R\}^\{d\}that specifies the velocity in space, given some timettand a location𝐱∈ℝd\\mathbf\{x\}\\in\\mathbb\{R\}^\{d\}\. The initial condition of the ODE in[Equation 1](https://arxiv.org/html/2606.31288#S2.E1)isX0=ϵX\_\{0\}=\\mathbf\{\\epsilon\}whereϵ∼pinit\\mathbf\{\\epsilon\}\\sim p\_\{\\text\{init\}\}is the starting point of the trajectory\.
In general, the trajectory needs to depend on the specific sample from the initial distribution, yielding different trajectories for different samples\. For this, we use a Flowψt:\[0,1\]×ℝd→ℝd\\psi\_\{t\}:\[0,1\]\\times\\mathbb\{R\}^\{d\}\\rightarrow\\mathbb\{R\}^\{d\}, which is a function that requires a timettand some location𝐱∈ℝd\\mathbf\{x\}\\in\\mathbb\{R\}^\{d\}and returns, like the previously introduced trajectory, a location inℝd\\mathbb\{R\}^\{d\}\. Ast∈\[0,1\]t\\in\[0,1\]is continuous, we obtain a Continuous Normalizing Flow \(CNF\)\.
With this, we need to solve the ODE
ddtψt\(𝐱\)=ut\(ψt\(𝐱\)\)\\frac\{\\text\{d\}\}\{\\text\{d\}t\}\\psi\_\{t\}\(\\mathbf\{x\}\)=u\_\{t\}\(\\psi\_\{t\}\(\\mathbf\{x\}\)\)\(2\)
instead, where the initial condition isψ0\(𝐱\)=𝐱\\psi\_\{0\}\(\\mathbf\{x\}\)=\\mathbf\{x\}\. The time\-dependent vector fieldutu\_\{t\}will be approximated with a Neural Network \(NN\)utθu^\{\\theta\}\_\{t\}with the parametersθ\\theta\.
### 2\.3Gaussian Conditional Probability Path
In Flow Matching, the CNFs followProbability Paths, as they transport samples from one probability distribution to samples from another probability distribution\. First, let’s consider the \(time\-dependent\) Gaussian Conditional Probability Pathpt\(⋅\|𝐦\)p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)with𝐦∼ptarget\\mathbf\{m\}\\sim p\_\{\\text\{target\}\}\. It is conditioned on a sample of the target distribution and corresponds to the Flow from the Normal distributionpinit=𝒩\(0,𝐈d\)p\_\{\\text\{init\}\}=\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{d\}\)to the Dirac distributionδ𝐦\\delta\_\{\\mathbf\{m\}\}\(sampling fromδ𝐦\\delta\_\{\\mathbf\{m\}\}always returns𝐦\\mathbf\{m\}\)\. Thereforep0\(⋅\|𝐦\)=pinitp\_\{0\}\(\\cdot\|\\mathbf\{m\}\)=p\_\{\\text\{init\}\}andp1\(⋅\|𝐦\)=δ𝐦p\_\{1\}\(\\cdot\|\\mathbf\{m\}\)=\\delta\_\{\\mathbf\{m\}\}\.
Such a Gaussian Conditional Probability Path can be constructed with
pt\(⋅\|𝐦\)=𝒩\(αt𝐦,βt2𝐈d\)p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)=\\mathcal\{N\}\(\\alpha\_\{t\}\\mathbf\{m\},\\beta\_\{t\}^\{2\}\\mathbf\{I\}\_\{d\}\)\(3\)
whereαt\\alpha\_\{t\}andβt\\beta\_\{t\}are time\-dependent differentiable monotonic functions \(noise schedulers\) withα0=β1=0\\alpha\_\{0\}=\\beta\_\{1\}=0andα1=β0=1\\alpha\_\{1\}=\\beta\_\{0\}=1\. In the most basic form, they can be chosen asαt=t\\alpha\_\{t\}=tandβt=1−t\\beta\_\{t\}=1\-t, which we do in this work\. To sample from the distribution in[Equation 3](https://arxiv.org/html/2606.31288#S2.E3), we can use the reparametrization trick:
𝐦∼ptarget,ϵ∼pinit=𝒩\(0,𝐈d\)⇒αt𝐦\+βtϵ=𝐱∼pt\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{\\epsilon\}\\sim p\_\{\\text\{init\}\}=\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{d\}\)\\Rightarrow\\alpha\_\{t\}\\mathbf\{m\}\+\\beta\_\{t\}\\mathbf\{\\epsilon\}=\\mathbf\{x\}\\sim p\_\{t\}\(4\)
In order to train a NN to learn the vector field for the Gaussian Conditional Probability Path, the target vector fielduttargetu\_\{t\}^\{\\text\{target\}\}needs to be computed\. For this, the conditional Flow is constructed asψttarget\(𝐱\|𝐦\)=αt𝐦\+βtϵ\\psi\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)=\\alpha\_\{t\}\\mathbf\{m\}\+\\beta\_\{t\}\\mathbf\{\\epsilon\}and then the ODE is solved for the conditional vector field:
ddtψttarget\(ϵ\|𝐦\)=uttarget\(ψttarget\(ϵ\|𝐦\)\|𝐦\)ddtαt⏟=1𝐦\+ddtβt⏟=−1ϵ=uttarget\(αt⏟=t𝐦\+βt⏟=1−tϵ\|𝐦\)reparametrizing𝐱=αt𝐦\+βtϵ=t𝐦\+\(1−t\)ϵ𝐦−ϵ=uttarget\(𝐱\|𝐦\)\\begin\{split\}&\\frac\{\\text\{d\}\}\{\\text\{d\}t\}\\psi\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{\\epsilon\}\|\\mathbf\{m\}\)=u\_\{t\}^\{\\text\{target\}\}\(\\psi\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{\\epsilon\}\|\\mathbf\{m\}\)\|\\mathbf\{m\}\)\\\\ &\\underbrace\{\\frac\{\\text\{d\}\}\{\\text\{d\}t\}\\alpha\_\{t\}\}\_\{=1\}\\mathbf\{\\mathbf\{m\}\}\+\\underbrace\{\\frac\{\\text\{d\}\}\{\\text\{d\}t\}\\beta\_\{t\}\}\_\{=\-1\}\\mathbf\{\\mathbf\{\\epsilon\}\}=u\_\{t\}^\{\\text\{target\}\}\(\\underbrace\{\\alpha\_\{t\}\}\_\{=t\}\\mathbf\{m\}\+\\underbrace\{\\beta\_\{t\}\}\_\{=1\-t\}\\mathbf\{\\epsilon\}\|\\mathbf\{m\}\)\\\\ &\\text\{reparametrizing \}\\mathbf\{x\}=\\alpha\_\{t\}\\mathbf\{m\}\+\\beta\_\{t\}\\mathbf\{\\epsilon\}=t\\mathbf\{m\}\+\(1\-t\)\\mathbf\{\\epsilon\}\\\\ &\\mathbf\{m\}\-\\mathbf\{\\epsilon\}=u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\\\ \\end\{split\}\(5\)
This leads to the Conditional Flow Matching loss:
ℒCFM\(θ\)=𝔼t∼Unif\[0,1\],𝐦∼ptarget,ϵ∼𝒩\(0,𝐈d\)\[‖utθ\(𝐱\)−\(𝐦−ϵ\)‖2\]\\mathcal\{L\}\_\{\\text\{CFM\}\}\(\\theta\)=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{\\epsilon\}\\sim\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{d\}\)\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\-\(\\mathbf\{m\}\-\\mathbf\{\\epsilon\}\)\|\|^\{2\}\\right\]\(6\)
We can now implement a minimalistic function to train a NN \(in this case, a simple Multi\-Layer Perceptron was used\) on the objective function given in[Equation 6](https://arxiv.org/html/2606.31288#S2.E6)for the case when the condition is sampled from the Dirac distribution𝐦∼δ𝐦\\mathbf\{m\}\\sim\\delta\_\{\\mathbf\{m\}\}:
Algorithm 1Pseudocode for Conditional Flow Matching Loss conditioned on a single model from the target distribution\.𝐦∼δ𝐦\\mathbf\{m\}\\sim\\delta\_\{\\mathbf\{m\}\}, Neural Network
uθ\(t,𝐱\)u^\{\\theta\}\(t,\\mathbf\{x\}\), learning rate
η\\eta, amount of steps
nn, index
ii\.
i←0i\\leftarrow 0
while
i<ni<ndo
ϵ∼𝒩\(0,𝐈2\)\\mathbf\{\\epsilon\}\\sim\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{2\}\)⊳\\triangleright\(𝐦∈ℝ2⇒𝐈2\\mathbf\{m\}\\in\\mathbb\{R\}^\{2\}\\Rightarrow\\mathbf\{I\}\_\{2\}\)
t∼Unif\[0,1\]t\\sim\\text\{Unif\}\_\{\[0,1\]\}⊳\\trianglerightSample timett
𝐱←t⋅𝐦\+\(1−t\)⋅ϵ\\mathbf\{x\}\\leftarrow t\\cdot\\mathbf\{m\}\+\(1\-t\)\\cdot\\mathbf\{\\epsilon\}⊳\\triangleright𝐱∼pt\\mathbf\{x\}\\sim p\_\{t\}
uttarget←𝐦−ϵu\_\{t\}^\{\\text\{target\}\}\\leftarrow\\mathbf\{m\}\-\\mathbf\{\\epsilon\}
utprediction←uθ\(t,𝐱\)u\_\{t\}^\{\\text\{prediction\}\}\\leftarrow u^\{\\theta\}\(t,\\mathbf\{x\}\)
ℒCFM←𝔼\[‖utprediction−uttarget‖2\]\\mathcal\{L\}\_\{\\text\{CFM\}\}\\leftarrow\\mathbb\{E\}\\left\[\|\|u\_\{t\}^\{\\text\{prediction\}\}\-u\_\{t\}^\{\\text\{target\}\}\|\|^\{2\}\\right\]⊳\\trianglerightConditional Flow Matching objective
θ←θ−η∇θℒCFM\\theta\\leftarrow\\theta\-\\eta\\nabla\_\{\\theta\}\\mathcal\{L\}\_\{\\text\{CFM\}\}⊳\\trianglerightUpdate parameters via gradient descent
i←i\+1i\\leftarrow i\+1
endwhile
Sampling from the target distributionδ𝐦\\delta\_\{\\mathbf\{m\}\}is then only a matter of solving the ODE in[Equation 2](https://arxiv.org/html/2606.31288#S2.E2)with the initial condition ofψ0\(𝐱\)=ϵ∼pinit\\psi\_\{0\}\(\\mathbf\{x\}\)=\\mathbf\{\\epsilon\}\\sim p\_\{\\text\{init\}\}, which is shown in[Figure 2](https://arxiv.org/html/2606.31288#S2.F2)\.
Figure 2:Conditional Flow Matching for a Dirac distributionδ𝐦\\delta\_\{\\mathbf\{m\}\}with𝐦v1=500\\mathbf\{m\}\_\{v1\}=500and𝐦v2=750\\mathbf\{m\}\_\{v2\}=750for𝐦∼δ𝐦\\mathbf\{m\}\\sim\\delta\_\{\\mathbf\{m\}\}\. Blue dots are samples from the Normal distribution \(after projecting them into the parameter range for the velocity model\), the black lines show the Flow over timettand the orange dots are samples from the target distributionδ𝐦\\delta\_\{\\mathbf\{m\}\}\.
### 2\.4Marginal Probability Path
While the Dirac distribution is of little use in practical applications, the Conditional Flow Matching serves as a building block for Marginal Flow Matching, where the marginal distribution is learned\. A Gaussian Conditional Probability Path induces a Marginal Probability Path\. Sampling from the Marginal Probability Path can be done by first sampling from the target distribution, then using it as a condition for the Gaussian Conditional Probability Path, and finally sampling from the Gaussian Conditional Probability Path:𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)⇒𝐱∼pt\(𝐦\)\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\\Rightarrow\\mathbf\{x\}\\sim p\_\{t\}\(\\mathbf\{m\}\)\.
The density can theoretically be computed by marginalization:
pt\(𝐱\)=∫pt\(𝐱\|𝐦\)ptarget\(𝐦\)d𝐦\.p\_\{t\}\(\\mathbf\{x\}\)=\\int p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\\text\{d\}\\mathbf\{m\}\.\(7\)
However,[Equation 7](https://arxiv.org/html/2606.31288#S2.E7)is generally intractable\.
Just as for the Gaussian Conditional Probability Path, the target vector fielduttargetu\_\{t\}^\{\\text\{target\}\}needs to be computed to train the NN\. As shown in\[[6](https://arxiv.org/html/2606.31288#bib.bib12)\],uttargetu\_\{t\}^\{\\text\{target\}\}is only valid if and only if it satisfies the continuity equation:
ddtpt\(𝐱\)=−∇⋅\(ptuttarget\)\(𝐱\)∀𝐱∈ℝd,0≤t≤1\\frac\{\\text\{d\}\}\{\\text\{d\}t\}p\_\{t\}\(\\mathbf\{x\}\)=\-\\nabla\\cdot\\left\(p\_\{t\}u\_\{t\}^\{\\text\{target\}\}\\right\)\(\\mathbf\{x\}\)\\quad\\forall\\mathbf\{x\}\\in\\mathbb\{R\}^\{d\},0\\leq t\\leq 1\(8\)
where∇⋅\\nabla\\cdotis the divergence operator\. With[Equation 8](https://arxiv.org/html/2606.31288#S2.E8)and[Equation 7](https://arxiv.org/html/2606.31288#S2.E7),uttargetu\_\{t\}^\{\\text\{target\}\}can be derived as:
ddtpt\(𝐱\)=ddt∫pt\(𝐱\|𝐦\)ptarget\(𝐦\)d𝐦=∫ddtpt\(𝐱\|𝐦\)ptarget\(𝐦\)d𝐦==∫−∇⋅\(pt\(⋅\|𝐦\)uttarget\(⋅\|𝐦\)\)\(𝐱\)ptargetd𝐦==−∇⋅\(∫pt\(𝐱\|𝐦\)uttarget\(𝐱\|𝐦\)ptargetd𝐦\)==−∇⋅pt\(𝐱\)\(∫uttarget\(𝐱\|𝐦\)pt\(𝐱\|𝐦\)ptarget\(𝐦\)pt\(𝐱\)d𝐦⏟=\!uttarget\)\(𝐱\)==−∇⋅\(ptuttarget\)\(𝐱\)\\begin\{split\}\\frac\{\\text\{d\}\}\{\\text\{d\}t\}p\_\{t\}\(\\mathbf\{x\}\)&=\\frac\{\\text\{d\}\}\{\\text\{d\}t\}\\int p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\\text\{d\}\\mathbf\{m\}=\\int\\frac\{\\text\{d\}\}\{\\text\{d\}t\}p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\\text\{d\}\\mathbf\{m\}=\\\\ &=\\int\-\\nabla\\cdot\\left\(p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)u\_\{t\}^\{\\text\{target\}\}\(\\cdot\|\\mathbf\{m\}\)\\right\)\(\\mathbf\{x\}\)p\_\{\\text\{target\}\}\\text\{d\}\\mathbf\{m\}=\\\\ &=\-\\nabla\\cdot\\left\(\\int p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\\text\{d\}\\mathbf\{m\}\\right\)=\\\\ &=\-\\nabla\\cdot p\_\{t\}\(\\mathbf\{x\}\)\\left\(\\underbrace\{\\int u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\frac\{p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\}\{p\_\{t\}\(\\mathbf\{x\}\)\}\\text\{d\}\\mathbf\{m\}\}\_\{\\overset\{\!\}\{=\}u\_\{t\}^\{\\text\{target\}\}\}\\right\)\(\\mathbf\{x\}\)=\\\\ &=\-\\nabla\\cdot\\left\(p\_\{t\}u\_\{t\}^\{\\text\{target\}\}\\right\)\(\\mathbf\{x\}\)\\\\ \\end\{split\}
Therefore, the target marginal vector field is defined as:
uttarget\(𝐱\)=∫uttarget\(𝐱\|𝐦\)pt\(𝐱\|𝐦\)ptarget\(𝐦\)pt\(𝐱\)d𝐦\.u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)=\\int u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\frac\{p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\}\{p\_\{t\}\(\\mathbf\{x\}\)\}\\text\{d\}\\mathbf\{m\}\.\(9\)
With[Equation 9](https://arxiv.org/html/2606.31288#S2.E9), the Flow Matching loss for the marginal distribution can be derived:
ℒFM\(θ\)=𝔼t∼Unif\[0,1\],𝐱∼pt\[\|\|utθ\(𝐱\)−uttarget\(𝐱\)\)\|\|2\]\.\\mathcal\{L\}\_\{\\text\{FM\}\}\(\\theta\)=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{\\mathbf\{x\}\}\)\-u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\)\|\|^\{2\}\\right\]\.\(10\)
Unfortunately,uttargetu\_\{t\}^\{\\text\{target\}\}is still intractable, but as shown by\[[8](https://arxiv.org/html/2606.31288#bib.bib1)\], the \(marginal\) Flow Matching loss is equivalent to the Conditional Flow Matching Loss up to a constant, when the condition is not sampled from the Dirac distributionδ𝐦\\delta\_\{\\mathbf\{m\}\}, but fromptargetp\_\{\\text\{target\}\}:
ℒFM\(θ\)=𝔼t∼Unif\[0,1\],𝐱∼pt\[\|\|utθ\(𝐱\)−uttarget\(𝐱\)\)\|\|2\]=𝔼t∼Unif\[0,1\],𝐱∼pt\[\|\|utθ\(𝐱\)\|\|2−2utθ\(𝐱\)Tuttarget\(𝐱\)\+\|\|uttarget\(𝐱\)\)\|\|2\]=𝔼t∼Unif\[0,1\],𝐱∼pt\[‖utθ\(𝐱\)‖2\]−2𝔼t∼Unif\[0,1\],𝐱∼pt\[utθ\(𝐱\)Tuttarget\(𝐱\)\]\+\+𝔼t∼Unif\[0,1\],𝐱∼pt\[\|\|uttarget\(𝐱\)\)\|\|2\]⏟=:C1=𝔼t∼Unif\[0,1\],𝐱∼pt\[‖utθ\(𝐱\)‖2\]−2𝔼t∼Unif\[0,1\],𝐱∼pt\[utθ\(𝐱\)Tuttarget\(𝐱\)\]\+C1\\begin\{split\}\\mathcal\{L\}\_\{\\text\{FM\}\}\(\\theta\)&=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\-u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\)\|\|^\{2\}\\right\]\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\-2u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\+\|\|u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\)\|\|^\{2\}\\right\]\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\\right\]\-2\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\\right\]\+\\\\ &\\quad\+\\underbrace\{\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\)\|\|^\{2\}\\right\]\}\_\{=:C\_\{1\}\}\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\\right\]\-2\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\\right\]\+C\_\{1\}\\\\ \\end\{split\}
where the second summand is:
𝔼t∼Unif\[0,1\],𝐱∼pt\[utθ\(𝐱\)Tuttarget\(𝐱\)\]=∫01∫pt\(𝐱\)utθ\(𝐱\)Tuttarget\(𝐱\)d𝐱dt=∫01∫pt\(𝐱\)utθ\(𝐱\)T\[∫uttarget\(𝐱\|𝐦\)pt\(𝐱\|𝐦\)ptarget\(𝐦\)pt\(𝐱\)d𝐦\]d𝐱dt=∫01∫∫utθ\(𝐱\)Tuttarget\(𝐱\|𝐦\)pt\(𝐱\|𝐦\)ptarget\(𝐦\)d𝐦d𝐱dt=𝔼t∼Unif\[0,1\],𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)\[utθ\(𝐱\)Tuttarget\(𝐱\|𝐦\)\]\.\\begin\{split\}\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\\right\]&=\\int\_\{0\}^\{1\}\\int p\_\{t\}\(\\mathbf\{x\}\)u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\\text\{ d\}\\mathbf\{x\}\\text\{ d\}t\\\\ &=\\int\_\{0\}^\{1\}\\int p\_\{t\}\(\\mathbf\{x\}\)u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}\\left\[\\int u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\frac\{p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\}\{p\_\{t\}\(\\mathbf\{x\}\)\}\\text\{ d\}\\mathbf\{m\}\\right\]\\text\{ d\}\\mathbf\{x\}\\text\{ d\}t\\\\ &=\\int\_\{0\}^\{1\}\\int\\int u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)p\_\{\\text\{target\}\}\(\\mathbf\{m\}\)\\text\{ d\}\\mathbf\{m\}\\text\{ d\}\\mathbf\{x\}\\text\{ d\}t\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\right\]\.\\end\{split\}
This can be used again in the previous equation:
ℒFM\(θ\)=𝔼t∼Unif\[0,1\],𝐱∼pt\[‖utθ\(𝐱\)‖2\]−2𝔼t∼Unif\[0,1\],𝐱∼pt\[utθ\(𝐱\)Tuttarget\(𝐱\)\]\+C1=𝔼t∼Unif\[0,1\],𝐱∼pt\[‖utθ\(𝐱\)‖2\]−2𝔼t∼Unif\[0,1\],𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)\[utθ\(𝐱\)Tuttarget\(𝐱\|𝐦\)\]\+C1=𝔼t∼Unif\[03,1\],𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)\[\|\|utθ\(𝐱\)\|\|2−2utθ\(𝐱\)Tuttarget\(𝐱\|𝐦\)\+\+\|\|uttarget\(𝐱\|𝐦\)\|\|2−\|\|uttarget\(𝐱\|𝐦\)\|\|2\]\+C1=𝔼t∼Unif\[0,1\],𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)\[\|\|utθ\(𝐱\)−uttarget\(𝐱\|𝐦\)\|\|2\]\+\+𝔼t∼Unif\[0,1\],𝐦∼ptarget,𝐱∼pt\(⋅\|𝐦\)\[−\|\|uttarget\(𝐱\|𝐦\)\|\|2\]⏟=:C2\+C1=ℒCFM\(θ\)\+C2\+C1⏟=:C\.\\begin\{split\}\\mathcal\{L\}\_\{\\text\{FM\}\}\(\\theta\)&=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\\right\]\-2\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\)\\right\]\+C\_\{1\}\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\\right\]\-2\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\left\[u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\\right\]\+C\_\{1\}\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[03,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\Bigl\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\|\|^\{2\}\-2u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)^\{T\}u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\+\\\\ &\\quad\+\|\|u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\|\|^\{2\}\-\|\|u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\|\|^\{2\}\\Bigr\]\+C\_\{1\}\\\\ &=\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\-u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\|\|^\{2\}\\right\]\+\\\\ &\\quad\+\\underbrace\{\\mathbb\{E\}\_\{t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{m\}\\sim p\_\{\\text\{target\}\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\left\[\-\|\|u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\|\|^\{2\}\\right\]\}\_\{=:C\_\{2\}\}\+C\_\{1\}\\\\ &=\\mathcal\{L\}\_\{\\text\{CFM\}\}\(\\theta\)\+\\underbrace\{C\_\{2\}\+C\_\{1\}\}\_\{=:C\}\.\\end\{split\}
To train the NN, the gradient of the loss function with respect to the parameters of the NN is computed:
∇ℒFM\(θ\)=∇\(ℒCFM\(θ\)\+C\)=∇ℒCFM\(θ\)\.\\nabla\\mathcal\{L\}\_\{\\text\{FM\}\}\(\\theta\)=\\nabla\\left\(\\mathcal\{L\}\_\{\\text\{CFM\}\}\(\\theta\)\+C\\right\)=\\nabla\\mathcal\{L\}\_\{\\text\{CFM\}\}\(\\theta\)\.\(11\)
Therefore, if the NN is trained with a Stochastic Gradient Descent algorithm, minimizing the Conditional Flow Matching loss is equivalent to minimizing the \(marginal\) Flow Matching loss\.
To demonstrate this in our simple seismic velocity model example, we therefore only need to change the algorithm such that different𝐦∼ptarget\\mathbf\{m\}\\sim p\_\{\\text\{target\}\}are sampled in each training iteration, as in algorithm[2](https://arxiv.org/html/2606.31288#alg2)\.
Algorithm 2Pseudocode for Marginal Flow Matching\.Neural Network
uθ\(t,𝐱\)u^\{\\theta\}\(t,\\mathbf\{x\}\), learning rate
η\\eta, amount of steps
nn, index
ii\.
i←0i\\leftarrow 0
while
i<ni<ndo
𝐦∼ptarget\\mathbf\{m\}\\sim p\_\{\\text\{target\}\}
ϵ∼𝒩\(0,𝐈2\)\\mathbf\{\\epsilon\}\\sim\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{2\}\)⊳\\triangleright\(𝐦∈ℝ2⇒𝐈2\\mathbf\{m\}\\in\\mathbb\{R\}^\{2\}\\Rightarrow\\mathbf\{I\}\_\{2\}\)
t∼Unif\[0,1\]t\\sim\\text\{Unif\}\_\{\[0,1\]\}⊳\\trianglerightSample timett
𝐱←t⋅𝐦\+\(1−t\)⋅ϵ\\mathbf\{x\}\\leftarrow t\\cdot\\mathbf\{m\}\+\(1\-t\)\\cdot\\mathbf\{\\epsilon\}⊳\\triangleright𝐱∼pt\\mathbf\{x\}\\sim p\_\{t\}
uttarget←𝐦−ϵu\_\{t\}^\{\\text\{target\}\}\\leftarrow\\mathbf\{m\}\-\\mathbf\{\\epsilon\}
utprediction←uθ\(t,𝐱\)u\_\{t\}^\{\\text\{prediction\}\}\\leftarrow u^\{\\theta\}\(t,\\mathbf\{x\}\)
ℒCFM←𝔼\[‖utprediction−uttarget‖2\]\\mathcal\{L\}\_\{\\text\{CFM\}\}\\leftarrow\\mathbb\{E\}\\left\[\|\|u\_\{t\}^\{\\text\{prediction\}\}\-u\_\{t\}^\{\\text\{target\}\}\|\|^\{2\}\\right\]⊳\\trianglerightConditional Flow Matching objective
θ←θ−η∇θℒCFM\\theta\\leftarrow\\theta\-\\eta\\nabla\_\{\\theta\}\\mathcal\{L\}\_\{\\text\{CFM\}\}⊳\\trianglerightUpdate parameters via gradient descent
i←i\+1i\\leftarrow i\+1
endwhile
After training the NN, samples of the marginal distribution can again be obtained by sampling from the initial \(Normal\) distribution and solving the ODE with the trained NN:
Figure 3:\(Marginal\) Flow Matching\. Blue dots are samples from the Normal distribution \(after projecting them into the parameter range for the velocity model\), the black lines show the Flow over time and the orange dots are samples from the target distribution\.
### 2\.5Guided Flow Matching and Probabilistic Inversion
For probabilistic inversion, we are interested in sampling from the marginal distribution conditioned on some observed data\. To avoid confusion with the ’Conditional Flow Matching’, we refer to this scenario as ’Guided Flow Matching’, which is common in the literature\[[9](https://arxiv.org/html/2606.31288#bib.bib7),[6](https://arxiv.org/html/2606.31288#bib.bib12)\]\.
In addition to a ’model distribution’pmodelp\_\{\\text\{model\}\}\(e\.g\. a distribution of seismic velocity models\), a ’data distribution’pdatap\_\{\\text\{data\}\}exists, which represents the distribution of all possible data outputs for all models\. Until now, we only used the model distribution withptarget=pmodelp\_\{\\text\{target\}\}=p\_\{\\text\{model\}\}\. In Guided Flow Matching, we need to use the joint distributionpmodel,datap\_\{\\text\{model,data\}\}as training data\.
Each sample\(𝐦,𝐝\)∼pmodel,data\(\\mathbf\{m\},\\mathbf\{d\}\)\\sim p\_\{\\text\{model,data\}\}contains some model𝐦\\mathbf\{m\}and the synthetic or observed data𝐝=f\(𝐦\)\\mathbf\{d\}=f\(\\mathbf\{m\}\)whereffis the forward operator\. It is important to note that not even the forward operatorffneeds to be deterministic \(e\.g\. in text\-guided Flow Matching for image generation, where the same photo may have different text captions\)\.
As the probabilistic inversion result \(the model distribution, given some data\) depends on the data, the CNF, and therefore the NN, needs to depend on the data as well\. This leads to the Guided Flow Matching Loss:
ℒCFMguided\(θ\)=𝔼\(𝐦,𝐝\)∼pmodel,data,t∼Unif\[0,1\],𝐱∼pt\(⋅\|𝐦\)\[\|\|utθ\(𝐱\|𝐝\)−uttarget\(𝐱\|𝐦\)\|\|2\]\\mathcal\{L\}\_\{\\text\{CFM\}\}^\{\\text\{guided\}\}\(\\theta\)=\\mathbb\{E\}\_\{\(\\mathbf\{m\},\\mathbf\{d\}\)\\sim p\_\{\\text\{model,data\}\},t\\sim\\text\{Unif\}\_\{\[0,1\]\},\\mathbf\{x\}\\sim p\_\{t\}\(\\cdot\|\\mathbf\{m\}\)\}\\left\[\|\|u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\|\\mathbf\{d\}\)\-u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{x\}\|\\mathbf\{m\}\)\|\|^\{2\}\\right\]\(12\)
For our small seismic velocity model example, we have to update the sampling from the target distribution, which now needs to be a joint distribution and returns both the model and the corresponding data\. Then, we also need to update the NN to also take the data as an input:
Algorithm 3Pseudocode for Guided Flow Matching\.Neural Network
uθ\(t,𝐱,𝐝\)u^\{\\theta\}\(t,\\mathbf\{x\},\\mathbf\{d\}\), learning rate
η\\eta, amount of steps
nn, index
ii\.
i←0i\\leftarrow 0
while
i<ni<ndo
\(𝐦,𝐝\)∼pmodel,data\(\\mathbf\{m\},\\mathbf\{d\}\)\\sim p\_\{\\text\{model,data\}\}
ϵ∼𝒩\(0,𝐈2\)\\mathbf\{\\epsilon\}\\sim\\mathcal\{N\}\(0,\\mathbf\{I\}\_\{2\}\)⊳\\triangleright\(𝐦∈ℝ2⇒𝐈2\\mathbf\{m\}\\in\\mathbb\{R\}^\{2\}\\Rightarrow\\mathbf\{I\}\_\{2\}\)
t∼Unif\[0,1\]t\\sim\\text\{Unif\}\_\{\[0,1\]\}⊳\\trianglerightSample timett
𝐱←t⋅𝐦\+\(1−t\)⋅ϵ\\mathbf\{x\}\\leftarrow t\\cdot\\mathbf\{m\}\+\(1\-t\)\\cdot\\mathbf\{\\epsilon\}⊳\\triangleright𝐱∼pt\\mathbf\{x\}\\sim p\_\{t\}
uttarget←𝐦−ϵu\_\{t\}^\{\\text\{target\}\}\\leftarrow\\mathbf\{m\}\-\\mathbf\{\\epsilon\}
utprediction←uθ\(t,𝐱,𝐝\)u\_\{t\}^\{\\text\{prediction\}\}\\leftarrow u^\{\\theta\}\(t,\\mathbf\{x\},\\mathbf\{d\}\)
ℒCFM←𝔼\[‖utprediction−uttarget‖2\]\\mathcal\{L\}\_\{\\text\{CFM\}\}\\leftarrow\\mathbb\{E\}\\left\[\|\|u\_\{t\}^\{\\text\{prediction\}\}\-u\_\{t\}^\{\\text\{target\}\}\|\|^\{2\}\\right\]⊳\\trianglerightConditional Flow Matching objective
θ←θ−η∇θℒCFM\\theta\\leftarrow\\theta\-\\eta\\nabla\_\{\\theta\}\\mathcal\{L\}\_\{\\text\{CFM\}\}⊳\\trianglerightUpdate parameters via gradient descent
i←i\+1i\\leftarrow i\+1
endwhile
Now we can perform probabilistic inversion by sampling from the initial \(Normal\) distribution and solving the ODE, guiding the NN with the data during inference\.[Figure 4](https://arxiv.org/html/2606.31288#S2.F4)shows a probabilistic inversion result with Guided Flow Matching for a traveltime of the refracted wavet=0\.06t=0\.06s\.[Figure 5](https://arxiv.org/html/2606.31288#S2.F5)shows more results for different traveltimes\. Note that the inversion results always lie in the model distribution given in the training dataset\. Fort=0\.03t=0\.03s ort=0\.04t=0\.04s, no valid models outside the training distribution were sampled\. For practical applications, it is therefore crucial that the training dataset captures the distribution of all realistic models of interest\.
Figure 4:Probabilistic inversion result for given traveltime t = 0\.06 sFigure 5:Guided Flow Matching\. Blue dots are samples from the Normal distribution \(after projecting them into the parameter range for the velocity model\), the black lines show the Flow over time and the orange dots are probabilistic inversion results conditioned \(guided\) on the given traveltime of the refracted wave, which is shown on the bottom left corner of each image\.
### 2\.6Classifier\-Free Guidance
When Flow Matching is used in generative AI \(e\.g\. image or video generation\), usually Classifier\-Free Guidance \(CFG\) is employed\[[19](https://arxiv.org/html/2606.31288#bib.bib15)\]\. In CFG, the Neural Network is trained to accept inputs both with and without guidance\. Then, to compute the vector for the ODE during inference, the NN predicts both the vector for the guided and the unguided input\. The vector for the ODE is then computed as:
u~t\(𝐱\|𝐝\)=\(1−w\)utθ\(𝐱\)\+wutθ\(𝐱\|𝐝\)\\tilde\{u\}\_\{t\}\(\\mathbf\{x\}\|\\mathbf\{d\}\)=\(1\-w\)u\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\)\+wu\_\{t\}^\{\\theta\}\(\\mathbf\{x\}\|\\mathbf\{d\}\)\(13\)
wherewwis the guidance scale\. Forw=1w=1, CFG is equivalent to the previous Guided Flow Matching at inference\. Nevertheless, usuallyw\>1w\>1is chosen for generative, as it leads to empirically better results\. Intuitively, the output vector may then be interpreted as weighting the direction away from the marginal target distribution and the direction towards the target distribution conditioned/ guided on the observed data\. As a result, the vector points more into the direction of the target distribution \(guided on the observed data\) than when usingw=1w=1\. We can see this effect also in our seismic velocity field example in[Figure 6](https://arxiv.org/html/2606.31288#S2.F6)\.
\(\(a\)\)guidance scale = 1
\(\(b\)\)guidance scale = 2
\(\(c\)\)guidance scale = 4
\(\(d\)\)guidance scale = 8
Figure 6:Guided Flow Matching with Classifier\-Free Guidance fort=0\.05t=0\.05s\. Blue dots are samples from the Normal distribution \(after projecting them into the parameter range for the velocity model\), the black lines show the Flow over time, the orange dots are probabilistic inversion results conditioned \(guided\) on the given traveltime of the refracted wave without CFG\. The green dots are probabilistic inversion results shown for varying guidance scales\.The resulting distribution differs significantly from the one obtained without CFG\. To understand why, we can examine the data misfit of the predicted samples in the target distribution, as shown in[Figure 7](https://arxiv.org/html/2606.31288#S2.F7)\. It shows that without CFG, there is a number of samples in the range ofv1∈\[400,600\]v\_\{1\}\\in\[400,600\]andv2∈\[900,2000\]v\_\{2\}\\in\[900,2000\]that show a high absolute error compared to other samples\. In contrast, when using CFG, the vector field points more into the direction of the samples with the highest likelihood, resulting in a significantly lower absolute error of the predicted samples compared to not using CFG\.
\(\(a\)\)Errors for guidance scalew=1w=1\(no CFG\), mean error =27\.7⋅10−527\.7\\cdot 10^\{\-5\}s
\(\(b\)\)Guided Flow Matching with guidance scalew=4w=4, mean error =0\.52⋅10−50\.52\\cdot 10^\{\-5\}s
Figure 7:On the left: the absolute error of the predicted samples in the target distribution without CFG \(guided on t = 0\.05 s\)\. On the right: with guidance scalew=4w=4\.
## 3Case Study: Seismic Full\-Waveform Inversion
After showing the theory and methodology of Flow Matching for the simple 2D velocity model with seismic refraction traveltimes and only two variables, we now show the general applicability of probabilistic inversion with Flow Matching for settings with significantly more parameters\. For sampling\-based methods like Markov\-Chain Monte Carlo, this is generally infeasible due to the ”Curse of Dimensionality”\.
In this case study, we explore seismic Full\-Waveform inversion in 2D, similar to what\[[17](https://arxiv.org/html/2606.31288#bib.bib13)\]did for Diffusion models, but we only use the observed data given in the dataset\.
### 3\.1Dataset
For the training data, we use the OpenFWI FlatFaultB dataset\[[4](https://arxiv.org/html/2606.31288#bib.bib2)\], which is a collection of 54000 seismic velocity models with horizontal layers and several dipping faults\. For each velocity model, five source positions are equidistantly placed along the 700 m long profile on the surface together with 70 receivers with a 10 m spacing\. Therefore, five seismogram sections with 101 receivers each are given for each velocity model as observed data, which will serve as guidance during Flow Matching\. We use 90% of the dataset for training and 10% for validation\. A representative velocity model from the OpenFWI FlatFaultB dataset is shown in[Figure 8](https://arxiv.org/html/2606.31288#S3.F8)\. Due to the U\-Net architecture of our NN, we interpolate the seismic velocity models \(originally 70x70\) to 64x64\.
Figure 8:A representative velocity model from the FlatFaultB dataset\. Source positions are marked as red stars and receivers as green triangles on the surface\.
### 3\.2Neural Network Architecture
Figure 9:Our Flow Matching approach\. First the observed data \(seismic wavefield\) is preprocessed to obtain five three\-channeled images with the dimensions of 224x224, which is the required shape for the pretrained EfficientNet Encoder\. Then, the EfficientNet encodes the observed data into five compressed tensors in latent space\. We employ a U\-Net that takes a sample from the Gaussian Conditional Probability path and incorporates the information from the compressed observed data when predicting the output vector\.For the architecture of the NN, we were inspired by Würstchen\[[11](https://arxiv.org/html/2606.31288#bib.bib5)\], where an EfficientNet\[[13](https://arxiv.org/html/2606.31288#bib.bib3)\]was used as semantic compressor \(in our case for the observed wavefield\)\. With this, we could build upon a pretrained feature extractor for images, which only needed to be fine\-tuned for our case\. To approximate the vector fielduttarget\(𝐦\|𝐝\)u\_\{t\}^\{\\text\{target\}\}\(\\mathbf\{m\}\|\\mathbf\{d\}\), we use a U\-Net, which is also a popular architecture for Diffusion models\. We used attention blocks in the U\-Net to incorporate the information of the observed data features from the EfficientNet encoder into the prediction of the output vector\. During training, we dropped the observed data in 20% of the iterations to also learn the unguided vector field, which is necessary to do CFG at inference\.
Aside from interpolating the seismic velocity models to 64x64, we also needed to preprocess the given observed data \(i\.e\. the seismogram sections\), as the pretrained EfficientNet encoder expects three\-channel images with the spatial dimensions of 224x224\. The observed data for each source shot is given as a tensor of shape \[1000, 70\] \(recorded on 70 receivers for a duration of one second with 1ms sampling interval\)\. To obtain the required three\-channel image of shape \[3, 224, 224\], we omit the last time sample and chunk the observed data along the time dimension into \[3, 333, 70\]\. Then, we use bilinear interpolation to obtain the shape \[3, 224, 224\]\. After extracting the features of the observed data with the EfficientNet encoder, we get a compressed tensor in latent space with the shape \[16, 7, 7\] for each of the five shots\. This means, that the observed data is compressed to about 1\.1% of its original size\.
While using an EfficientNet encoder allows us to drastically compress the data size, it always requires the data to be in the same geometry\. That implies that our NN architecture will only work for seismic data where the acquisition geometry corresponds to the acquisition geometry in the training dataset\. For the case study, that does not pose any issues, as both the training and validation dataset always have the same acquisition geometry\. For real\-world applications however, more general NN architectures are required, which are subject of ongoing research\.
We trained the Neural Network using the framework of\[[9](https://arxiv.org/html/2606.31288#bib.bib7)\]\. We chose the AdamW optimizer\[[10](https://arxiv.org/html/2606.31288#bib.bib9)\]and trained for 500 epochs on a single NVIDIA A100 GPU with a batch size of 180, which resulted in a total training time of 37 hours\.
### 3\.3Results
A single probabilistic inversion result, obtained by sampling from the distribution obtained with guided Flow Matching with the trained NN, is shown in[Figure 10](https://arxiv.org/html/2606.31288#S3.F10)\. The visualization of a trajectory during probabilistic inversion is shown in[Figure 11](https://arxiv.org/html/2606.31288#S3.F11)\. More examples of inversions are given in the Appendix\.
\(\(a\)\)Ground truth
\(\(b\)\)Probabilistic inversion result
Figure 10:Probabilistic inversion of a velocity model in the validation dataset\. Left: target velocity model\. Middle: a probabilistic inversion result using the trained NN with a guidance scale ofw=4w=4\.\(\(a\)\)t=0t=0
\(\(b\)\)t=0\.2t=0\.2
\(\(c\)\)t=0\.4t=0\.4
\(\(d\)\)t=0\.6t=0\.6
\(\(e\)\)t=0\.8t=0\.8
\(\(f\)\)t=1t=1
Figure 11:Probabilistic inversion results as a function of time along the trajectory\.To better assess the quality as well as the uncertainty of the probabilistic inversion, we computed the standard deviation of 50 inversion results, as depicted in[Figure 12](https://arxiv.org/html/2606.31288#S3.F12)\. It is obvious that largest uncertainty is at the faults and layer boundaries\. This is to be expected, because when the velocity models in the training dataset were interpolated to 64x64, the sharp edges are affected by anti\-aliasing\. While the overall slope in the predicted velocity models is nearly the same, some pixels at the faults are sometimes considered to be in the left layer and some to be in the right layer\. If there is a large velocity contrast in the two layers, it therefore results in a high standard deviation\.
\(\(a\)\)Ground truth
\(\(b\)\)Average velocity model
\(\(c\)\)Standard deviation
\(\(d\)\)Standard deviation, clipped to \[0, 150\]
Figure 12:Assessing the uncertainty of a probabilistic inversion result\. Upper row: target velocity model \(left\) and average velocity model of the inversion result \(right\)\. Bottom: standard deviation of the inversion result unscaled \(left\) and clipped to \[0, 150\] \(right\)\.Overall, the probabilistic inversion results show a good agreement with the target velocity model and recover the general shape of the structures well\.
It is also apparent that the seismic velocity of the probabilistic inversion results are closer to the target velocity near the surface\. This is to be expected as there was no geometric correction on the seismogram section, which was used for guidance\. Therefore, the trace amplitude for the lower reflections is significantly smaller, and it is more difficult for the encoder to extract the information\. Still, the probabilistic inversion results show a well\-defined structure also in the lower parts \(see[Figure 13](https://arxiv.org/html/2606.31288#S5.F13)\), even though there is no or little information on this region\. The reason for this is that Flow Matching approximates the target distribution, so the Neural Network generates flows to samples that lie in this distribution\. When trained on real data \(i\.e\. geologically realistic velocity models\), this has two implications: First, that clear boundaries and geologically reasonable velocity models can be predicted without the need of smoothness or boundary constraints, which are necessary in deterministic inversion\. Even if there is no information available\. It is therefore important to sample multiple times from the predicted posterior distribution and review the standard deviation to assess which boundaries are likely true\. The second implication is, that whenever there is no guidance information \(such as in deeper regions\), the Neural Network will predict velocity values that may be likely based on the data it was trained on\. It will therefore extrapolate based on the velocity model distribution it learned during training\. Therefore, it is essential to choose the velocity models in the training dataset carefully to ensure that the training distribution is both as realistic and diverse as possible because it will directly impact how the Neural Network will predict regions with little or no information from the seismic data\.
## 4Discussion
We showed that Flow Matching can be used for probabilistic seismic velocity inversion for simple and complex models\. The Flow Matching objective is straightforward to implement in modern Deep Learning frameworks and it resolves in a simple regression problem, which is stable to train\. During inference, it is only necessary to solve the ODE\. Flow Matching may be used to perform probabilistic inversion on high\-dimensional distributions, as it does not rely on sampling\-based methods\.
Flow Matching provides a general framework for probabilistic inversion that can easily be adapted to various geophysical problem settings\. There are two key requirements: first, a training dataset must be obtained that accurately represents the target model distribution and includes observed data for each model\. Second, a Neural Network architecture has to be designed that suits the data modality\.
As an example, we performed a case study using the OpenFWI FlatFaultB dataset\. After training, multiple probabilistic inversions were obtained in just a few seconds\. However, in the FlatFaultB dataset, there is always the same acquisition geometry, which made it possible to use the pretrained EfficientNet encoder\. In real\-world scenarios, seismic surveys are generally done with varying acquisition geometry, so the architecture we used in the case study would not be suitable in that case\. We believe that it is of high interest to study and research Neural Network architectures that work for arbitrary acquisition geometries\. Once such a NN is trained, it may enable the rapid generation of a distribution of plausible high\-resolution velocity models\.
Furthermore, the fully data\-driven approach allows us to use a compressed feature representation of the full wavefield, which not only reduces computational requirements, but also avoids issues like cycle\-skipping which are common in physics\-driven deterministic inversion methods\.
## References
- \[1\]\(1995\-10\)Multiscale seismic waveform inversion\.Geophysics60\(5\)\.External Links:[Document](https://dx.doi.org/https%3A//doi.org/10.1190/1.1443880)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p2.1)\.
- \[2\]R\. T\. Q\. Chen and Y\. Lipman\(2024\-02\)Flow Matching on General Geometries\.arXiv\(en\)\.Note:arXiv:2302\.03660 \[cs\]External Links:[Link](http://arxiv.org/abs/2302.03660),[Document](https://dx.doi.org/10.48550/arXiv.2302.03660)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1)\.
- \[3\]A\. Davtyan, S\. Sameni, and P\. Favaro\(2023\-08\)Efficient Video Prediction via Sparsely Conditioned Flow Matching\.arXiv\(en\)\.Note:arXiv:2211\.14575 \[cs\]External Links:[Link](http://arxiv.org/abs/2211.14575),[Document](https://dx.doi.org/10.48550/arXiv.2211.14575)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1)\.
- \[4\]C\. Deng, S\. Feng, H\. Wang, X\. Zhang, P\. Jin, Y\. Feng, Q\. Zeng, Y\. Chen, and Y\. Lin\(2023\-06\)OpenFWI: Large\-Scale Multi\-Structural Benchmark Datasets for Seismic Full Waveform Inversion\.arXiv\(en\)\.Note:arXiv:2111\.02926 \[cs\]External Links:[Link](http://arxiv.org/abs/2111.02926),[Document](https://dx.doi.org/10.48550/arXiv.2111.02926)Cited by:[§3\.1](https://arxiv.org/html/2606.31288#S3.SS1.p1.1)\.
- \[5\]A\. Fichtner\(2011\)Full Seismic Waveform Modelling and Inversion\.Advances in Geophysical and Environmental Mechanics and Mathematics,Springer Berlin Heidelberg,Berlin, Heidelberg\(en\)\.External Links:[Link](https://link.springer.com/10.1007/978-3-642-15807-0),[Document](https://dx.doi.org/10.1007/978-3-642-15807-0)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p3.4)\.
- \[6\]P\. Holderrieth and R\. Shprints\(2026\)Introduction to Flow Matching and Diffusion Models 2026\.\(en\)\.External Links:[Link](https://diffusion.csail.mit.edu/2026/index.html)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1),[§2\.4](https://arxiv.org/html/2606.31288#S2.SS4.p5.2),[§2\.5](https://arxiv.org/html/2606.31288#S2.SS5.p1.1)\.
- \[7\]M\. Le, A\. Vyas, B\. Shi, B\. Karrer, L\. Sari, R\. Moritz, M\. Williamson, V\. Manohar, Y\. Adi, J\. Mahadeokar, and W\. Hsu\(2023\)Voicebox: Text\-Guided Multilingual Universal Speech Generation at Scale\.Note:\_eprint: 2306\.15687External Links:[Link](https://arxiv.org/abs/2306.15687)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1)\.
- \[8\]Y\. Lipman, R\. T\. Q\. Chen, H\. Ben\-Hamu, M\. Nickel, and M\. Le\(2023\-02\)Flow Matching for Generative Modeling\.arXiv\(en\)\.Note:arXiv:2210\.02747 \[cs\]External Links:[Link](http://arxiv.org/abs/2210.02747),[Document](https://dx.doi.org/10.48550/arXiv.2210.02747)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p5.2),[§1](https://arxiv.org/html/2606.31288#S1.p6.1),[§2\.4](https://arxiv.org/html/2606.31288#S2.SS4.p13.3)\.
- \[9\]Y\. Lipman, M\. Havasi, P\. Holderrieth, N\. Shaul, M\. Le, B\. Karrer, R\. T\. Q\. Chen, D\. Lopez\-Paz, H\. Ben\-Hamu, and I\. Gat\(2024\-12\)Flow Matching Guide and Code\.arXiv\(en\)\.Note:arXiv:2412\.06264 \[cs\]External Links:[Link](http://arxiv.org/abs/2412.06264),[Document](https://dx.doi.org/10.48550/arXiv.2412.06264)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1),[§2\.5](https://arxiv.org/html/2606.31288#S2.SS5.p1.1),[§3\.2](https://arxiv.org/html/2606.31288#S3.SS2.p4.1)\.
- \[10\]I\. Loshchilov and F\. Hutter\(2019\-01\)Decoupled Weight Decay Regularization\.arXiv\(en\)\.Note:arXiv:1711\.05101 \[cs\]External Links:[Link](http://arxiv.org/abs/1711.05101),[Document](https://dx.doi.org/10.48550/arXiv.1711.05101)Cited by:[§3\.2](https://arxiv.org/html/2606.31288#S3.SS2.p4.1)\.
- \[11\]P\. Pernias, D\. Rampas, M\. L\. Richter, C\. J\. Pal, and M\. Aubreville\(2023\-09\)Wuerstchen: An Efficient Architecture for Large\-Scale Text\-to\-Image Diffusion Models\.arXiv\(en\)\.Note:arXiv:2306\.00637 \[cs\]External Links:[Link](http://arxiv.org/abs/2306.00637),[Document](https://dx.doi.org/10.48550/arXiv.2306.00637)Cited by:[§3\.2](https://arxiv.org/html/2606.31288#S3.SS2.p1.1)\.
- \[12\]Y\. Song, J\. Gong, M\. Xu, Z\. Cao, Y\. Lan, S\. Ermon, H\. Zhou, and W\. Ma\(2023\)Equivariant Flow Matching with Hybrid Probability Transport for 3D Molecule Generation\.InAdvances in Neural Information Processing Systems,A\. Oh, T\. Naumann, A\. Globerson, K\. Saenko, M\. Hardt, and S\. Levine \(Eds\.\),Vol\.36,pp\. 549–568\.External Links:[Link](https://proceedings.neurips.cc/paper_files/paper/2023/file/01d64478381c33e29ed611f1719f5a37-Paper-Conference.pdf)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1)\.
- \[13\]M\. Tan and Q\. V\. Le\(2020\-09\)EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks\.arXiv\(en\)\.Note:arXiv:1905\.11946 \[cs\]External Links:[Link](http://arxiv.org/abs/1905.11946),[Document](https://dx.doi.org/10.48550/arXiv.1905.11946)Cited by:[§3\.2](https://arxiv.org/html/2606.31288#S3.SS2.p1.1)\.
- \[14\]A\. Tarantola\(2005\-01\)Inverse Problem Theory and Methods for Model Parameter Estimation\.Society for Industrial and Applied Mathematics\(en\)\.External Links:[Link](http://epubs.siam.org/doi/book/10.1137/1.9780898717921),[Document](https://dx.doi.org/10.1137/1.9780898717921)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p2.1)\.
- \[15\]J\. Virieux and S\. Operto\(2009\-11\)An overview of full\-waveform inversion in exploration geophysics\.GEOPHYSICS74\(6\),pp\. WCC1–WCC26\(en\)\.External Links:ISSN 0016\-8033, 1942\-2156,[Link](https://library.seg.org/doi/10.1190/1.3238367),[Document](https://dx.doi.org/10.1190/1.3238367)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p2.1)\.
- \[16\]L\. Wu, D\. Wang, C\. Gong, X\. Liu, Y\. Xiong, R\. Ranjan, R\. Krishnamoorthi, V\. Chandra, and Q\. Liu\(2022\-12\)Fast Point Cloud Generation with Straight Flows\.arXiv\(en\)\.Note:arXiv:2212\.01747 \[cs\]External Links:[Link](http://arxiv.org/abs/2212.01747),[Document](https://dx.doi.org/10.48550/arXiv.2212.01747)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p6.1)\.
- \[17\]H\. Zhang, Y\. Li, and J\. Huang\(2024\-10\)DiffusionVel: Multi\-Information Integrated Velocity Inversion Using Generative Diffusion Models\.arXiv\(en\)\.Note:arXiv:2410\.21776 \[physics\]External Links:[Link](http://arxiv.org/abs/2410.21776),[Document](https://dx.doi.org/10.48550/arXiv.2410.21776)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p4.1),[§3](https://arxiv.org/html/2606.31288#S3.p2.1)\.
- \[18\]X\. Zhao, A\. Curtis, and X\. Zhang\(2021\-09\)Bayesian seismic tomography using normalizing flows\.Geophysical Journal International228\(1\),pp\. 213–239\(en\)\.External Links:ISSN 0956\-540X, 1365\-246X,[Link](https://academic.oup.com/gji/article/228/1/213/6332286),[Document](https://dx.doi.org/10.1093/gji/ggab298)Cited by:[§1](https://arxiv.org/html/2606.31288#S1.p4.1)\.
- \[19\]Q\. Zheng, M\. Le, N\. Shaul, Y\. Lipman, A\. Grover, and R\. T\. Q\. Chen\(2023\-12\)Guided Flows for Generative Modeling and Decision Making\.arXiv\(en\)\.Note:arXiv:2311\.13443 \[cs\]External Links:[Link](http://arxiv.org/abs/2311.13443),[Document](https://dx.doi.org/10.48550/arXiv.2311.13443)Cited by:[§2\.6](https://arxiv.org/html/2606.31288#S2.SS6.p1.1)\.
## 5Appendix
### 5\.1More Probabilistic Inversion Results
In the following figures, the standard deviation of the inversion results has been clipped to\[0,140\]\[0,140\]for better comparison\.
\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 13:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 14:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 15:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 16:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 17:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 18:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 19:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 20:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 21:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.\(\(a\)\)Ground truth \(target\)
\(\(b\)\)Average inversion result
\(\(c\)\)Standard deviation
\(\(d\)\)Probabilistic inversion result 1
\(\(e\)\)Probabilistic inversion result 2
\(\(f\)\)Probabilistic inversion result 3
\(\(g\)\)Probabilistic inversion result 4
\(\(h\)\)Probabilistic inversion result 5
\(\(i\)\)Probabilistic inversion result 6
\(\(j\)\)Probabilistic inversion result 7
\(\(k\)\)Probabilistic inversion result 8
\(\(l\)\)Probabilistic inversion result 9
Figure 22:Probabilistic inversion results of a isotropic velocity model in the validation dataset\. Generated with guidance scalew=4w=4\.Similar Articles
Spatiotemporal Imputation with Graph-Informed Flow Matching
GiFlow is a graph-informed flow matching framework for spatiotemporal imputation that replaces Gaussian priors with a graph-informed prior, and uses a hybrid vector field model combining spatial attention, temporal attention, and spatiotemporal propagation. It outperforms state-of-the-art methods on synthetic and real-world datasets.
Capturing non-Markovian dynamics in non-equilibrium stochastic systems using flow matching
This paper develops a generative flow matching method to capture non-Markovian dynamics in non-equilibrium stochastic systems, demonstrating improved predictions for the Kramers first passage time problem compared to Markovian baselines.
(HB-ARFM) History-Bootstrapped Flow Matching for Inverse Boiling Reconstruction
This paper proposes a history-bootstrapped autoregressive flow matching method for reconstructing full spatiotemporal fields (velocity and temperature) from partial observations of boiling dynamics, addressing the ill-posed inverse problem with non-Markovian posterior.
FlowLet: Conditional 3D Brain MRI Synthesis using Wavelet Flow Matching
FlowLet is a conditional generative framework that synthesizes age-conditioned 3D brain MRIs using flow matching in an invertible wavelet domain, improving brain age prediction accuracy for underrepresented age groups with high efficiency.
Recursive Flow Matching
Introduces Recursive Flow Matching (RecFM), a generative framework for forecasting complex spatiotemporal dynamics that achieves high fidelity with fewer steps and improved accuracy and speed, including up to 20x speedup over diffusion-based emulators.