PTENES
← Ruta 1 MÓDULO 1.5

🌫️ Diffusion Policy y Flow Matching

Las matemáticas que generan acciones multimodales a partir del ruido. Diffusion Policy convirtió el denoising de trayectorias en el baseline de la manipulación fina; flow matching simplificó el entrenamiento y lleva a π0 a 50Hz. Aquí entiendes el proceso inverso, el conditioning y el costo de inferencia.

6
Temas
~50
Minutos
Avanzado
Nivel
Teoría
Tipo

Contenido detallado

ruido puro paso k paso 1 acción limpia proceso inverso: cada paso predice y elimina un poco de ruido (condicionado a la observación)

Generar una acción mediante denoising: comienza con ruido gaussiano y lo refina hasta obtener una trayectoria ejecutable.

1

🎲 Por qué usar difusión para la acción

En el Módulo 1.4 vimos que MSE colapsa modos. La difusión lo resuelve modelando la acción como una muestreo de una distribución condicional: en vez de predecir un valor, aprende a transformar ruido gaussiano en una trayectoria válida mediante denoising. Como muestra, captura de forma natural distribuciones multimodales — elige un modo coherente en lugar del promedio. Y al generar toda la trayectoria (chunk), produce movimientos suaves y consistentes.

💡 Tres ventajas de la difusión

Multimodal: representa «izquierda O derecha» sin mediar. Trayectoria: genera secuencias fluidas de acciones futuras. Estable en el entrenamiento: el objetivo de denoising está bien condicionado, sin la inestabilidad de las GAN.

Denoising

Refinar el ruido para convertirlo en acción.

Multimodal

Captura varios modos.

Trajectory gen

Genera un chunk entero.

Muestreo

Acción como sample, no como promedio.

2

🌊 Diffusion Policy (2023)

Diffusion Policy (Chi et al., 2023) aplicó DDPM al control: una red (U-Net 1D o transformer) elimina el ruido de una secuencia de acciones futuras condicionada por la observación. Combina action chunking (predecir H pasos) con horizonte móvil (ejecutar una parte, volver a predecir). Superó los baselines en manipulación fina y se convirtió en el estándar de oro para tareas de destreza, incluida la cabeza de acción de Octo.

# Diffusion Policy — inferência (esboço)
A = torch.randn(H, action_dim)          # ruído inicial
for k in reversed(range(K)):            # K passos de denoising
    eps = net(A, k, obs_cond)           # prevê o ruído
    A = ddpm_step(A, eps, k)            # remove um pouco
execute(A[:exec_horizon])               # receding horizon

📊 Por qué funcionó

  • Multimodal — resuelve tareas con soluciones alternativas.
  • Estable — entrenamiento robusto a los hiperparámetros.
  • Chunking — trayectorias suaves, menos jitter.

DDPM

Modelo de difusión con eliminación de ruido.

Horizonte móvil

Ejecutar una parte y volver a predecir.

U-Net 1D

Backbone común del denoiser.

Estándar de oro

Baseline de manipulación fina.

3

📐 Score matching y proceso inverso

Por debajo, la difusión tiene un proceso directo que agrega ruido gaussiano a la acción en K pasos hasta convertirlo en ruido puro, y un proceso inverso aprendido que lo deshace. La red aprende el score — el gradiente de la log-densidad ∇log p(a) — equivalente a predecir el ruido añadido. El conditioning en la observación se integra mediante FiLM o cross-attention, haciendo que la generación dependa de lo que ve el robot.

1

Forward: agregar ruido

La acción limpia se convierte en ruido gaussiano en K pasos (definidos por un schedule).

2

Aprender el score

La red predice el ruido (≈ score) minimizando un simple error de regresión.

3

Inverso: muestrear

Partiendo del ruido, aplica el score K veces condicionado por la observación.

⚡ Consejo práctico

El conditioning es lo que hace que la política sea reactiva: sin él, muestreas acciones plausibles pero desconectadas de la escena. FiLM es ligero; cross-attention es más expresivo. Elige según el presupuesto.

Función de puntuación

Gradiente de la log-densidad.

Proceso inverso

Eliminar el ruido paso a paso.

Conditioning

FiLM / cross-attention en la obs.

Noise schedule

Cómo crece el ruido en K.

4

➡️ Flow Matching y su uso en π0

Flow Matching generaliza la difusión: en lugar de un proceso estocástico de denoising, aprende un campo vectorial que transforma ruido→acción mediante una ODE continua. Con conditional flow matching, el objetivo de entrenamiento es simplemente la velocidad a lo largo de un camino (frecuentemente recto) entre el ruido y los datos: un objetivo más simple y estable. El π0 usa exactamente esto en tu action expert para generar acciones continuas y fluidas a 50Hz.

✓ Ventajas del flow matching

  • ✓Entrenamiento más simple y estable que DDPM.
  • ✓Las rutas rectas permiten menos pasos de inferencia.
  • ✓Acción continua de alta frecuencia (π0 a 50Hz).

✗ Precauciones

  • ✗Aún exige integrar la ODE (varios NFEs).
  • ✗Sensible a la parametrización de la trayectoria.
  • ✗Requiere un experto en acciones bien condicionado.

Flow matching

Transporte de ruido a acción mediante ODE.

Vector field

Velocidad aprendida en el camino.

ODE

Proceso determinista continuo.

π0 action expert

Flow matching a 50Hz.

5

⚡ Costo de inferencia y destilación

El costo central de las políticas generativas es el número de evaluaciones de función (NFE) — cada paso de denoising/integración es un forward pass. El DDPM clásico usa de decenas a cientos de pasos, inviable a 50Hz. Soluciones: samplers rápidos (DDIM), consistency models (generan en 1-2 pasos) y destilación de un modelo lento a uno rápido. El flow matching con trayectorias rectas ya reduce el NFE de forma natural.

📊 Presupuesto de pasos

  • 50-100 NFE — DDPM ingenuo; alta calidad, alta latencia.
  • ~10 NFE — DDIM / flow con trayectoria recta; buen equilibrio.
  • 1-2 NFE — consistency models destilados; tiempo real.

💡 Latencia vs. calidad

Combina pocos NFEs con action chunking: genera un chunk de 5-10 pasos y ejecútalo mientras vuelves a muestrear. Así conservas la expresividad de la difusión dentro del presupuesto de tiempo real.

NFE

Evaluaciones por muestra.

Consistency model

Genera en 1-2 pasos.

Destilación

Lento → rápido.

DDIM

Sampler determinista rápido.

6

⚖️ Difusión vs. autorregresivo

La gran decisión de diseño de la cabeza de acción: generación por difusión/flow versus tokens autorregresivos. La difusión es más expresiva (multimodal continua), pero exige varios pasos. El modelo autorregresivo (RT-2, OpenVLA, FAST) reutiliza el backbone LLM y tiene un entrenamiento simple, pero genera token a token y la discretización puede limitar la fidelidad. No hay un ganador universal: la disyuntiva es expresividad × latencia × simplicidad de integración.

Eixo            Difusão/Flow        Autoregressivo (tokens)
expressividade  alta (multimodal)   média (depende da disc.)
latência        K passos por chunk  1 forward, N tokens
integração      action expert extra reusa o backbone LLM
exemplos        Diffusion Policy,π0 RT-2, OpenVLA, FAST

⚡ Consejo práctico

Tarea diestra y continua → difusión/flow. Integración sencilla sobre un VLM y entrenamiento autoregresivo unificado → tokens (y el Módulo 1.6 muestra cómo FAST hace que esto sea competitivo).

Expresividad

Capturar distribuciones ricas.

Latencia

Pasos vs. tokens por acción.

AR vs diffusion

Dos paradigmas de cabeza.

Integración

Reutilizar o no el backbone.

✅ Resumen del módulo

✓
Difusión para acciones — el denoising captura una multimodalidad que el MSE pierde.
✓
Diffusion Policy — DDPM + chunking + receding horizon, el baseline afinado.
✓
Flow matching — ODE con trayectoria recta, entrenamiento estable, π0 a 50Hz.
✓
Costo y trade-off — NFE/destilación controlan la latencia; la difusión y AR no tienen un único ganador.

Próximo módulo

1.6 — Tokenización de acciones: discreta, continua y FAST; cerramos la Trilha 1.