Оптимальный транспорт

Flow matching и continuous OT

2022 год: Flow Matching (Lipman et al., Meta AI) генерирует изображения за 10 шагов вместо 1000 у диффузионных моделей. Ключ - прямолинейные траектории через оптимальный транспорт вместо случайных зигзагов.

  • **Stable Diffusion 3, Flux:** используют OT-FM как основу; SD3 генерирует за 28 шагов то, для чего SDXL нужно 50+ шагов при лучшем качестве
  • **Молекулярная генерация:** FoldFlow, FrameFlow, AlphaFlow используют flow matching для генерации 3D структур белков - прямолинейные пути в пространстве конформаций (RFDiffusion и AlphaFold 3 строятся на чистой диффузии, FM - следующее поколение)
  • **Голосовые модели:** Voicebox (Meta), E2 TTS - flow matching для генерации речи за единицы итераций вместо сотен у диффузионных

Предварительные знания

  • Теорема Брение

Непрерывные потоки и уравнение непрерывности

Генеративная модель - это отображение из простого распределения (гауссовский шум) в сложное (изображения, речь, молекулы). Вместо одного шага можно сделать непрерывное семейство отображений, параметризованное временем t ∈ [0, 1]: **поток** (flow).

**Поток** задаётся ОДУ: dx/dt = v_t(x), x(0) ~ p_0 (шум), x(1) ~ p_1 (данные). Решение ОДУ определяет карту потока φ_t: φ_t(x_0) = x_t. **Уравнение непрерывности** описывает эволюцию плотности: ∂ρ_t/∂t + div(ρ_t · v_t) = 0 Если задать v_t, плотность ρ_t определена однозначно. Если задать начало ρ_0 и конец ρ_1 - нужно найти подходящее v_t.

Уравнение непрерывности - это закон сохранения: масса не создаётся и не уничтожается, только перемещается. Если знать поле скоростей v_t, эволюция плотности определена однозначно через это уравнение. Задача обучения генеративной модели - найти v_t, который переводит p_0 в p_1.

Уравнение непрерывности ∂ρ_t/∂t + div(ρ_t · v_t) = 0 утверждает:

Flow Matching: обучение скоростного поля

Как обучить нейросеть v_θ(t, x) так, чтобы поток переводил шум в данные? Прямая минимизация расстояния между ρ_1 и p_1 требует симуляции ОДУ на каждом шаге - дорого. Lipman et al. (2022) предложили более умный подход.

**Conditional Flow Matching (CFM):** для каждой пары (x_0, x_1) строим условный путь x_t = (1-t)x_0 + t*x_1 с условной скоростью u_t(x|x_1) = x_1 - x_0. Целевой функционал: L_CFM(θ) = E_{t,x_0,x_1} ||v_θ(t, x_t) - u_t(x_t|x_1)||² Где x_t = (1-t)x_0 + t*x_1. Без симуляции ОДУ! Lipman et al. доказали: маргинальное поле скоростей, минимизирующее L_CFM, совпадает с оптимальным полем Flow Matching.

Ключевая идея CFM: вместо маргинальной скорости (трудно вычислить) учим условную скорость для конкретных пар (x_0, x_1). Математически доказано, что оба лосса имеют одинаковый оптимум. Это делает обучение Flow Matching таким же простым, как диффузионные модели - без сложных формул score matching.

В чём главное вычислительное преимущество Conditional Flow Matching перед прямой минимизацией расстояния между ρ_1 и p_1?

OT Flow Matching: прямолинейные пути

2022 год: Flow Matching (Lipman et al., Meta AI) генерирует изображения за 10 шагов вместо 1000 у диффузионных моделей. Ключ - прямолинейные траектории через оптимальный транспорт вместо случайных зигзагов.

**OT-FM:** вместо независимого coupling (x_0 ⊥ x_1) используем OT-coupling π* из теоремы Брение (минимальная стоимость транспорта). Это даёт пары (x_0, x_1) с минимальным расстоянием. Линейные пути x_t = (1-t)x_0 + t*x_1 становятся почти прямыми - минимальная кривизна. **Почему это важно:** нейросеть учит почти постоянное поле скоростей → численное интегрирование ОДУ требует мало шагов → генерация за 10 шагов (vs 1000 у DDPM).

OT-FM используется в Stable Diffusion 3 (SD3), Flux, и других production-моделях. Превосходство над DDPM не только в скорости: прямолинейные пути означают более интерпретируемую интерполяцию в latent space, что полезно для редактирования изображений и управляемой генерации.

Почему OT coupling в OT-FM даёт меньше шагов при генерации по сравнению с независимым coupling?

Итог

  • **Поток** dx/dt = v_t(x) задаёт непрерывное отображение p_0 → p_1; уравнение непрерывности ∂ρ/∂t + div(ρv) = 0 связывает поле скоростей и эволюцию плотности
  • **Conditional Flow Matching:** учим v_θ на условных скоростях u_t(x|x_1) = x_1 - x_0 без симуляции ОДУ - математически эквивалентно прямой минимизации, но на порядки быстрее
  • **OT-FM:** OT coupling сопоставляет близкие пары → прямолинейные пути → почти постоянное поле скоростей → генерация за 10-30 шагов вместо 1000 у DDPM; основа SD3, Flux, Voicebox

Связанные темы

Flow Matching соединяет OT с современными генеративными моделями:

  • Теорема Брение и OT — OT-FM использует OT coupling из теоремы Брение для получения оптимальных пар (x_0, x_1) с минимальной суммарной стоимостью
  • Диффузионные модели (DDPM) — FM - эволюция идей диффузии: тот же принцип noise→data, но через детерминированное ODE вместо SDE, что даёт прямолинейные пути и меньше шагов

Вопросы для размышления

  • Линейные пути x_t = (1-t)x_0 + t*x_1 - самые простые, но не единственные. Какие другие семейства путей можно использовать и зачем?
  • OT-FM с W_2 OT coupling даёт прямолинейные пути в исходном пространстве. Что происходит если применить OT в latent space вместо pixel space?
  • Flow Matching - детерминированное ODE. DDPM - стохастическое SDE. Есть ли задачи, где стохастичность принципиально важна и FM проиграет?

Связанные уроки

  • calc-01-sequences
Flow matching и continuous OT

0

1

Войти