Strategy/content/flow_matching_post.md
+

flow_matching_post

review_statusnew
projectfminxyz
creation_date2026-02-25

@fminxyz — Пост: Flow Matching — прямое регрессирование поля скоростей

Серия 2 | Пост 4 из 5 | Дата: 7 марта 2026, 19:30 MSK


Текст поста (~1800 символов)

Зачем учить score, если можно напрямую выучить КУДА двигаться? 📐

DDPM и Score Matching — красиво. Но у них одна проблема: траектории кривые. Тысяча шагов по зигзагам. Flow Matching говорит: давайте сразу пойдём по прямой.

Идея:
Вместо score ∇log p(x) учим поле скоростей uₜ(x):

dx/dt = uₜ(x), x(0) ~ N(0, I), x(1) ~ p_data

Просто учим нейросеть: “в момент времени t, в точке x — вот куда надо двигаться”.

OT Flow Matching (оптимальный транспорт):
Ключевой insight: если интерполировать прямолинейно:

x(t) = (1−t)·x₀ + t·x₁

…то поле скоростей постоянно: uₜ(x) = x₁ − x₀.

Это оптимальный транспорт — минимальный путь из шума в данные. Никаких зигзагов.

Почему лучше диффузии?
• Меньше шагов сэмплирования (10-20 вместо 1000)
• Прямые траектории = ODE solvers работают точнее
• Лучше интерполяция в латентном пространстве

Кто использует:
Stable Diffusion 3, FLUX.1, Sora (вероятно) — все перешли на flow matching. DDPM остался в учебниках.

Loss:
L(θ) = 𝔼ₜ,x₀,x₁ [ ||vθ(x(t), t) − (x₁ − x₀)||² ]

Просто MSE между предсказанной скоростью и прямолинейным направлением.

В анимации: синие и розовые точки движутся от шума (N(0,I)) к двум лунам по прямым линиям. Стрелки — аппроксимация поля скоростей.

🔜 Послезавтра: CFG — как усилить “кошачесть” без классификатора


Метаданные

  • Файлы: flow_matching_animation.py → flow_matching_animation.mp4
  • Хэштеги: #нейросети #диффузия #flowMatching #OT #FLUX #deeplearning
  • CTA: “Прямые линии vs кривые пути — почему прямые лучше?”
  • Связь с каналом: OT flow = прямые траектории = аналог адаптивного шага в оптимизации
Choose icon