Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Flow Matching

El flow matching entrena una red para predecir la velocidad que transforma el ruido en datos; es el objetivo de entrenamiento de Stable Diffusion 3, FLUX.1 y Movie Gen.

El ajuste de flujo es un método para entrenar modelos generativos que convierten ruido aleatorio en datos siguiendo un campo de velocidades aprendido. Una red neuronal aprende, para cualquier punto y cualquier instante entre 0 y 1, la dirección y la velocidad a las que debe desplazarse ese punto; generar una muestra consiste en partir de ruido gaussiano e integrar esa velocidad con un solucionador de ecuaciones diferenciales ordinarias (ODE) hasta el instante 1. Yaron Lipman y sus colaboradores de Meta AI y el Instituto Weizmann de Ciencias lo presentaron en Flow Matching for Generative Modeling en ICLR 2023, y dos artículos publicados al mismo tiempo llegaron a un objetivo casi idéntico con los nombres de flujo rectificado e interpolantes estocásticos. El ajuste de flujo entrena flujos normalizantes continuos sin simular la ODE durante el entrenamiento, abarca los modelos de difusión como caso particular y es el objetivo de entrenamiento de Stable Diffusion 3, FLUX.1, Movie Gen de Meta y muchos modelos recientes de voz y robótica.

Cómo funciona el ajuste de flujo#

El entrenamiento no genera nada. En cada paso se extrae una muestra de datos x1, una muestra de ruido x0 de una distribución gaussiana estándar y un instante t entre 0 y 1, y se sitúa un punto en la línea recta que los une: xt = (1 - t) * x0 + t * x1. Un punto de esa línea se mueve a velocidad constante x1 - x0, así que la red v(xt, t) se entrena con un error cuadrático medio simple para predecir x1 - x0. Cada par de ruido y datos define una sola trayectoria, pero muchas trayectorias pasan por un mismo punto y la velocidad del flujo completo de ruido a datos en ese punto es la media de todas ellas. El artículo demuestra que ajustar la regresión a los objetivos simples de cada par produce los mismos gradientes que ajustarla a esa media intratable; por tanto, el entrenamiento utiliza una función de pérdida de regresión simple sin simular ninguna ODE.

La generación integra dx/dt = v(x, t) desde t = 0 hasta t = 1, normalmente con pasos de Euler o de un solucionador de orden superior. Este código de PyTorch entrena una pequeña red de velocidades con dos grupos de puntos 2D y, después, genera muestras con 1, 2 y 8 pasos de Euler:

import torch
from torch import nn

torch.manual_seed(0)
# Velocity network v(x, t) for 2D points; the data are two clusters at (2, 2) and (-2, -2)
net = nn.Sequential(nn.Linear(3, 128), nn.SiLU(), nn.Linear(128, 128), nn.SiLU(), nn.Linear(128, 2))
optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)
centers = torch.tensor([[2.0, 2.0], [-2.0, -2.0]])

for step in range(2000):
    x1 = centers[torch.randint(0, 2, (256,))] + 0.2 * torch.randn(256, 2)  # data samples
    x0 = torch.randn(256, 2)  # noise samples
    t = torch.rand(256, 1)
    xt = (1 - t) * x0 + t * x1  # point on the straight path from noise to data
    loss = ((net(torch.cat([xt, t], dim=1)) - (x1 - x0)) ** 2).mean()  # regress the path's velocity
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# Generate: start from noise and follow the learned velocity field with Euler steps
for steps in (1, 2, 8):
    x = torch.randn(1000, 2)
    with torch.no_grad():
        for i in range(steps):
            x = x + net(torch.cat([x, torch.full((1000, 1), i / steps)], dim=1)) / steps
    near = (torch.cdist(x, centers).min(dim=1).values < 0.6).float().mean()
    print(f"{steps}-step sampling: {near:.0%} of samples land near a cluster")

Imprime 1-step sampling: 0% of samples land near a cluster, después un 47 % con 2 pasos y un 94 % con 8 pasos. En t = 0, todos los puntos de ruido tienen el mismo destino esperado, la media de los datos, por lo que un solo paso envía todas las muestras al espacio vacío entre los dos grupos. Cada trayectoria de entrenamiento es recta, pero las trayectorias que empiezan cerca unas de otras terminan en grupos distintos, y el flujo aprendido que las promedia sigue una curva. Por eso, los generadores de pocos pasos añaden técnicas como el flujo repetido, que vuelve a entrenar con sus propios pares de ruido y muestras para enderezar el flujo, o la destilación en modelos de consistencia.

  • Modelos de difusión: El entrenamiento por difusión corrompe los datos siguiendo un programa de ruido y enseña a una red a predecir el ruido añadido; después, genera muestras invirtiendo ese proceso. El artículo sobre ajuste de flujo demostró que su objetivo admite cualquier trayectoria de probabilidad gaussiana, incluidas las que utilizan los modelos de difusión, y determinó que era una forma más estable de entrenarlos. La trayectoria recta es una opción distinta y más sencilla. Ambas familias comparten arquitecturas como el transformador de difusión (DiT), la guía sin clasificador y los muestreadores ODE.
  • Flujo rectificado: Utiliza la misma interpolación en línea recta y la misma pérdida de velocidad, por lo que los dos nombres son prácticamente sinónimos para la trayectoria lineal. El artículo sobre flujo rectificado añade el procedimiento de flujo repetido para enderezar aún más las trayectorias.
  • Flujos normalizantes: Los flujos normalizantes discretos apilan capas invertibles y se entrenan mediante verosimilitud exacta. Los flujos normalizantes continuos, una forma de ODE neuronal, definen la transformación mediante una ODE, pero se entrenaban por máxima verosimilitud, lo que requiere resolver la ODE en cada paso de entrenamiento. El ajuste de flujo entrena el mismo tipo de modelo ODE mediante regresión, sin resolverla.
  • Flujo óptico: No guarda relación con el ajuste de flujo, pese al nombre. El flujo óptico es el movimiento aparente de los píxeles entre fotogramas de vídeo, mientras que el ajuste de flujo desplaza muestras por el espacio de datos posibles.

Usos del ajuste de flujo#

  • Generación de imágenes: Stability AI entrenó Stable Diffusion 3 con un transformador de flujo rectificado y extrajo los instantes de entrenamiento de una distribución logit-normal que favorece los niveles de ruido intermedios; FLUX.1 de Black Forest Labs es un transformador de flujo rectificado de 12.000 millones de parámetros. Las imágenes de estos modelos de texto a imagen sirven como datos sintéticos que añaden objetos poco frecuentes, condiciones meteorológicas y puntos de vista a los conjuntos de datos para entrenar modelos de detección YOLO26.
  • Generación de vídeo: Movie Gen de Meta es un transformador de 30.000 millones de parámetros entrenado con ajuste de flujo que genera vídeos de 1080p de hasta 16 segundos a 16 fotogramas por segundo.
  • Voz: Voicebox de Meta entrenó un modelo no autorregresivo de ajuste de flujo con más de 50.000 horas de voz y, en la conversión de texto a voz de cero disparos, alcanzó una tasa de error por palabra del 1,9 %, frente al 5,9 % de VALL-E, y funcionó hasta 20 veces más rápido. Más tarde, F5-TTS combinó el ajuste de flujo con un transformador de difusión.
  • Control robótico: π0 de Physical Intelligence añade un «experto en acciones» de ajuste de flujo con 300 millones de parámetros a un modelo de visión y lenguaje de 3.000 millones de parámetros. Así genera fragmentos de 50 acciones futuras con 10 pasos de integración y controla robots a una frecuencia de hasta 50 Hz.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático