# 18_flow_matching

๐ Abstract The article discusses the use of Ordinary Differential Equations (ODEs) to define generative models, similar to how Stochastic Differential Equations (SDEs) and Probability Flow ODEs (PF-ODEs) can be used. It explores the possibility of training such ODE-based generative models using a likelihood-based approach, rather than just score matching. The article then introduces the concept of "flow matching" as an alternative to the computationally expensive continuous normalizing flows (CNFs) approach. It presents two specific forms of conditional flow matching (CFM) and discusses how to train and sample from these models.

## ๐ Q&A

### [01] About ODEs and Generative Models

**1. Questions related to the content of the section?**

- How can ODEs be used to define generative models, similar to SDEs and PF-ODEs?
- What are the challenges in training ODE-based generative models using a likelihood-based approach, compared to score matching?

**Answers:**

- ODEs can be used to define generative models, where the vector field of the ODE is parameterized by a neural network. Solving the ODE, starting from a known noise distribution, can generate samples from the resulting data distribution.
- Training ODE-based generative models using a likelihood-based approach is challenging due to the need to solve the ODE and backpropagate through the numerical solver. This is computationally expensive compared to score matching approaches.

### [02] Continuous Normalizing Flows (CNFs)

**1. How can the continuity equation be used to express the change in log-probability for CNFs?**
**2. What is the key advantage of CNFs over discrete-time normalizing flows?**

**Answers:**

- The continuity equation, which expresses the conservation of probability mass, can be used to derive an expression for the change in log-probability over time for CNFs. This involves the trace of the Jacobian matrix of the vector field.
- The key advantage of CNFs over discrete-time normalizing flows is that they do not require invertibility of the transformation, which relaxes the constraints on the model.

### [03] Flow Matching (FM)

**1. What is the main idea behind flow matching, and how does it differ from the CNF approach?**
**2. How does the conditional flow matching (CFM) problem relate to the original unconditional flow matching problem?**
**3. How can the conditional vector field be derived if the conditional probability path is assumed to be Gaussian?**

**Answers:**

- The main idea behind flow matching is to directly model the vector field of the ODE, rather than trying to model the distribution induced by the ODE. This avoids the need for computationally expensive operations required in the CNF approach.
- The conditional flow matching (CFM) problem is shown to be a proxy for the original unconditional flow matching problem, as the gradients of the two losses are equal up to a constant.
- If the conditional probability path is assumed to be Gaussian, with a mean function and a diagonal covariance matrix with a standard deviation function, the unique conditional vector field can be analytically derived using a specific theorem.

### [04] Training and Sampling with Flow Matching

**1. What are the key steps in the training algorithm for flow matching models?**
**2. How is sampling performed using a trained flow matching model?**
**3. How can the log-likelihood function be calculated for flow matching models?**

**Answers:**

- The key steps in the training algorithm for flow matching models are:
- Define the mean and standard deviation functions for the conditional Gaussian probability path
- Calculate the corresponding conditional vector field
- Optimize the conditional flow matching loss for the vector field model

- Sampling from a trained flow matching model is performed by running the forward Euler method, starting from a noise distribution and using the learned vector field model.
- The log-likelihood function for flow matching models can be calculated using a procedure similar to the CNF approach, involving running a backward Euler method and using Hutchinson's trace estimator.

### [05] Extensions and Related Work

**1. What are some of the recent extensions and related work on flow matching?**

**Answer:**
Some recent extensions and related work on flow matching include:

- Stochastic interpolants: A unifying framework for flows and diffusions (Albergo et al., 2023a, 2023b)
- Generative flows on discrete state-spaces (Campbell et al., 2024)
- Riemannian flow matching on general geometries (Chen & Lipman, 2023)
- Flow matching in latent space (Dao et al., 2023)
- Equivariant flow matching (Klein et al., 2023)
- Action matching: A variational method for learning stochastic dynamics from samples (Neklyudov et al., 2023)
- Improving and generalizing flow-based generative models with minibatch optimal transport (Tong et al., 2023)
- Flow Matching for Scalable Simulation-Based Inference (Wildberger et al., 2023)