De la Difusión al Flow
Diffusion Policy demostró que la generación basada en denoising es poderosa para acciones robóticas. Pero DDPM tiene una ineficiencia fundamental: los caminos que toma por el espacio de datos son curvos , requiriendo muchos pasos pequeños (50-100) para producir muestras de calidad.
Flow matching plantea: ¿qué pasaría si tomáramos caminos en línea recta? Aprender un campo de velocidades que transporte muestras de ruido a datos en líneas rectas requiere muchos menos pasos.
En robótica, donde las acciones deben generarse en tiempo real (a menudo a 10+ Hz), reducir los pasos de inferencia de 50-100 a 5-10 puede ser la diferencia entre un sistema viable y uno inviable.
Conditional Flow Matching
Conditional Flow Matching (CFM) [1] [2] define una interpolación lineal entre ruido $x_0 \sim \mathcal{N}(0,I)$ y datos $x_1$:
La velocidad a lo largo de este camino es constante y trivialmente computable:
La red neuronal $v_\theta(x_t, t)$ se entrena para predecir esta velocidad. La pérdida de entrenamiento:
Compara con la pérdida de DDPM $\|\epsilon - \epsilon_\theta(x_t, t)\|^2$. Son casi idénticas, pero la diferencia es crítica: DDPM predice ruido (qué sustraer), mientras flow matching predice velocidad (hacia dónde ir). La formulación de velocidad lleva a caminos más rectos.
En inferencia, resolvemos una ODE con pasos de Euler:
Con 5-10 pasos de Euler, flow matching produce calidad comparable a DDPM con 50-100 pasos.
π₀ (pi-zero)
π₀ [3] de Physical Intelligence es el primer VLA que combina un backbone VLM grande con una cabeza de flow matching, demostrando rendimiento sólido en tareas diversas: doblar ropa, ensamblar cajas, limpiar mesas y recoger platos.
- Backbone VLM: PaLI-Gemma [4] (3B) para comprensión visual y lingüística.
- Action expert: Parámetros transformer dedicados que procesan tokens de action chunk mediante cross-attention hacia las representaciones del VLM.
- Cabeza de flow matching: Genera acciones continuas via CFM. Predice el campo de velocidades $v_\theta(A_t, t, O)$ que transporta chunks de acción ruidosos hacia limpios.
La separación del action expert del backbone VLM permite entrenamiento dual: el backbone se actualiza tanto con objetivos de lenguaje (predicción del siguiente token) como de acción (pérdida de flow matching), preservando las capacidades lingüísticas.
Proceso de generación de acciones en inferencia:
Partiendo de ruido $A^0 \sim \mathcal{N}(0,I)$ y ejecutando $N = 10$ pasos de Euler, se obtiene el chunk de acción limpio $A^N$. Se ejecutan los primeros $h$ pasos y se re-predice.
Flow vs Difusión en la Práctica
- Velocidad de inferencia: Flow matching necesita 5-10 pasos vs 20-100 para DDPM — ~5× más rápido.
- Simplicidad de entrenamiento: Flow matching evita definir un schedule de ruido ($\beta_t$), que requiere ajuste cuidadoso en DDPM.
- Calidad de muestras: Comparable o mejor, con caminos de interpolación más rectos.
- Multi-modalidad: Ambos enfoques manejan distribuciones multi-modales bien. La diferencia es principalmente en eficiencia de inferencia, no en expresividad.
La conclusión práctica: flow matching logra calidad comparable o mejor con significativamente menos pasos de inferencia . Para robótica, donde la inferencia en tiempo real es crítica, es la opción preferida para nuevos sistemas.
Quiz
Pon a prueba tu comprensión de flow matching y π₀.
¿Cuál es la ineficiencia fundamental de DDPM que flow matching aborda?
En conditional flow matching, ¿cuál es el campo de velocidades objetivo para interpolación lineal de ruido x₀ a datos x₁?
¿Qué predice la red de flow matching comparado con DDPM?
¿Por qué π₀ separa su action expert del backbone VLM?
¿Cuántos pasos ODE necesita flow matching comparado con los pasos de denoising de DDPM?