Similar to Flow Matching, this is from that MIT course.
SDEs are constructed via a Brownian motion.
Let us define it: A Brownian motion is a stochastic process such that , the trajectories are continuous, and the following two conditions hold:
- Normal increments: for all , i.e. increments have a Gaussian distribution with variance increasing linearly in time ( is the identity matrix).
- Independent increments: For any , the increments are independent random variables.
Brownian motion is also called a Wiener process, which is why we denote it with a "". We can easily simulate a Brownian motion approximately with step size by setting and updating
Since it’s stochastic and we cannot write derivatives now, we’ll just represent it with infinitesimal updates.
or
Euler-Maruyama method is one of the simplest way to simulate it:
We can see makes it a flow model.
Score functions
Score functions = gradients of the log-likelihood: (with respect to x)
For Gaussian path, that’s , and it can be reparameterized to vector field.