Flow Matching

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM Gemini 3.1 Pro и проверена участником Renal Gazizullin 18:50, 25 июня 2026 (MSD)


Flow Matching (Сопоставление потоков) — метод обучения генеративных моделей, основанный на непрерывных нормализующих потоках (Continuous Normalizing Flows, CNF), который позволяет аппроксимировать распределения данных с помощью детерминированных обыкновенных дифференциальных уравнений (ОДУ). В отличие от классических диффузионных моделей, использующих стохастические дифференциальные уравнения, Flow Matching работает напрямую с векторными полями, обеспечивая построение прямолинейных траекторий генерации, что существенно снижает вычислительные затраты на этапе сэмплинга[1].

Содержание

Введение и концепция пуш-аут распределений

В основе метода лежит концепция пуш-аут (push-forward) распределения вероятностей. Пусть задано простое базовое распределение p_0(x) (как правило, стандартное гауссово распределение \mathcal{N}(0, \mathbf{I})) в пространстве \mathbb{R}^d, и целевое распределение данных p_1(x). Задача непрерывных нормализующих потоков заключается в поиске зависящего от времени векторного поля v_t(x): [0, 1] \times \mathbb{R}^d \to \mathbb{R}^d, которое определяет траектории диффеоморфизма \phi_t(x) посредством автономного ОДУ:

\frac{d}{dt}\phi_t(x) = v_t(\phi_t(x)), \quad \phi_0(x) = x.

Диффеоморфизм \phi_t переносит базовую плотность в зависящий от времени путь плотностей p_t(x). В момент времени t=1 распределение p_1(x) должно аппроксимировать эмпирическое распределение данных q(x).

Математическая постановка задачи Flow Matching

Пусть задан фиксированный путь плотностей p_t(x) для t \in [0, 1] и соответствующее ему векторное поле v_t(x). Связь между плотностью и векторным полем жестко задается уравнением непрерывности (continuity equation):

\frac{\partial p_t(x)}{\partial t} + \nabla \cdot (p_t(x) v_t(x)) = 0,

где \nabla \cdot обозначает дивергенцию векторного поля.

Если бы целевое векторное поле v_t(x) было известно, то задача аппроксимации сводилась бы к минимизации функционала Flow Matching:

\mathcal{L}_{\text{FM}}(\theta) = \mathbb{E}_{t \sim \mathcal{U}[0, 1], x \sim p_t(x)} \left[ \| v_\theta(t, x) - v_t(x) \|^2 \right],

где v_\theta(t, x) — параметризованная нейросеть (векторное поле). Однако данный лосс невычислим в практических задачах, поскольку истинный путь плотностей p_t(x) и соответствующее поле v_t(x), порождающие распределение данных, неизвестны.

Conditional Flow Matching (CFM)

Для преодоления проблемы невычислимости вводится метод условного сопоставления потоков (Conditional Flow Matching, CFM)[1]. Вместо работы с маргинальными распределениями, траектории строятся относительно конкретного обуславливающего объекта (например, объекта выборки x_1 \sim q(x_1)).

Определим условный путь плотностей p_t(x|x_1) и условное векторное поле v_t(x|x_1), удовлетворяющие условному уравнению непрерывности:

\frac{\partial p_t(x|x_1)}{\partial t} + \nabla \cdot (p_t(x|x_1) v_t(x|x_1)) = 0.

Маргинальные величины выражаются через условные с помощью интегрирования по распределению данных:

p_t(x) = \int p_t(x|x_1) q(x_1) dx_1,
v_t(x) = \frac{1}{p_t(x)} \int v_t(x|x_1) p_t(x|x_1) q(x_1) dx_1.

Функционал Conditional Flow Matching имеет вид:

\mathcal{L}_{\text{CFM}}(\theta) = \mathbb{E}_{t \sim \mathcal{U}[0, 1], x_1 \sim q(x_1), x \sim p_t(x|x_1)} \left[ \| v_\theta(t, x) - v_t(x|x_1) \|^2 \right].

Важнейший теоретический результат Flow Matching состоит в том, что условный лосс и исходный лосс эквивалентны с точностью до константы, независимой от параметров модели, и их градиенты по \theta совпадают:

\nabla_\theta \mathcal{L}_{\text{FM}}(\theta) = \nabla_\theta \mathcal{L}_{\text{CFM}}(\theta).

Поскольку условные формы p_t(x|x_1) и v_t(x|x_1) выбираются аналитически (например, в виде гауссовских переходов), функционал \mathcal{L}_{\text{CFM}}(\theta) становится полностью вычислимым.

Оптимальный транспорт во Flow Matching (OT-FM)

Выбор условного пути распределений определяет геометрические свойства траекторий ОДУ. В стандартном случае гауссовских условных путей, с обусловливанием как на начальную точку x_0 \sim p_0(x_0), так и на конечную x_1 \sim q(x_1), условная плотность задается как:

p_t(x|x_0, x_1) = \mathcal{N}(x | \mu_t(x_0, x_1), \sigma_t^2 \mathbf{I}).

Для реализации концепции оптимального транспорта (Optimal Transport Flow Matching, OT-FM) выбираются линейная интерполяция средних значений и постоянная дисперсия[1]:

\mu_t(x_0, x_1) = t x_1 + (1 - t) x_0,
\sigma_t(x_0, x_1) = \sigma_0,

где \sigma_0 — малое скалярное значение, гарантирующее регуляризацию шума.

Тогда условное векторное поле принимает максимально простой вид, не зависящий от времени напрямую:

v_t(x|x_0, x_1) = x_1 - x_0.

Использование OT-FM гарантирует, что индивидуальные условные траектории представляют собой прямые линии, соединяющие x_0 и x_1. Это минимизирует полную кинетическую энергию потока:

\int_0^1 \mathbb{E}_{p_t(x)} [\|v_t(x)\|^2] dt \to \min,

что математически связывает данный подход с Монжевской задачей оптимального транспорта. На практике прямолинейность траекторий минимизирует кривизну маргинального векторного поля v_t(x).

Сравнение с диффузионными моделями

Flow Matching обладает рядом преимуществ перед классическими диффузионными моделями (такими как DDPM или SDE-подходы Сонга):

  1. Детерминированность траекторий: Вместо стохастических дифференциальных уравнений, требующих добавления шума на каждом шаге, генерация во Flow Matching реализуется через ОДУ (Probability Flow ODE). Это исключает случайность в процессе сэмплинга при фиксированном начальном шуме.
  2. Прямолинейность и скорость сэмплинга: В диффузионных моделях траектории сильно искривлены из-за дисперсионного расписания (variance schedule). Для их интегрирования требуются десятки и сотни шагов. Траектории OT-FM близки к прямым линиям, что позволяет использовать простейшие численные методы (например, метод Эйлера) с малым количеством шагов (вплоть до 4–10 шагов без потери качества).
  3. Отсутствие сингулярности в решении: Метод не требует бесконечного уровня шума или бесконечной скорости изменения в начальный момент времени, что стабилизирует процесс обучения численными методами.

Литература