¿Por Qué Difusión para Acciones?
El enfoque de tokenización discreta (RT-2, OpenVLA) es elegante pero hace una suposición fuerte: para cualquier observación e instrucción dada, existe esencialmente una mejor acción . En la práctica, el modelo típicamente elige el bin de mayor probabilidad para cada dimensión y continúa.
En la práctica, las tareas robóticas son frecuentemente multi-modales — hay múltiples formas igualmente válidas de lograr el mismo objetivo. Considera agarrar una taza: podrías acercarte por la izquierda, la derecha o por arriba. Podrías agarrar el asa o el cuerpo. Cada aproximación es perfectamente válida, pero son muy diferentes en el espacio de acciones.
Un modelo autoregresivo puede intentar promediar entre modos , produciendo una acción inválida que cae entre dos agarres válidos — por ejemplo, alcanzar el espacio vacío entre el asa y el cuerpo de la taza.
Los modelos de difusión manejan exactamente esto: pueden representar distribuciones complejas y multi-modales, generando acciones mediante eliminación iterativa de ruido y capturando naturalmente la distribución completa de comportamientos válidos.
Repaso de DDPM
Diffusion Policy (Chi et al., 2024) se basa en los Modelos de Difusión Probabilísticos de Denoising (DDPM) (Ho et al., 2020) . Antes de profundizar en la aplicación robótica, repasemos rápidamente cómo funciona DDPM.
La idea central tiene dos fases:
Proceso forward (añadir ruido): Partiendo de una muestra limpia de datos $x_0$ (en nuestro caso, una secuencia de acciones), añadimos ruido gaussiano progresivamente durante $T$ pasos según un schedule de varianza $\beta_1, \ldots, \beta_T$:
Una propiedad útil nos permite saltar directamente a cualquier timestep sin iterar:
donde $\bar{\alpha}_t = \prod_{s=1}^{t}(1 - \beta_s)$. Al llegar a $t = T$, $x_T$ es aproximadamente ruido gaussiano puro.
Proceso reverso (eliminar ruido): Entrenamos una red neuronal $\epsilon_\theta(x_t, t)$ para predecir el ruido $\epsilon$ añadido en cada paso. Dado un dato ruidoso $x_t$, el modelo predice el ruido y damos un pequeño paso hacia los datos limpios:
donde $z \sim \mathcal{N}(0, I)$ es ruido fresco y $\sigma_t$ es la escala de ruido para el paso $t$. Partiendo de ruido puro $x_T \sim \mathcal{N}(0, I)$, iteramos este paso reverso $T$ veces para llegar a una muestra limpia $x_0$.
El objetivo de entrenamiento minimiza el MSE entre el ruido predicho y el real:
Intuitivamente: tomamos datos limpios, los corrompemos con ruido aleatorio y entrenamos al modelo para deshacer la corrupción. El modelo se convierte en un denoiser de propósito general que puede transformar ruido aleatorio en datos.
Arquitectura de Diffusion Policy
Diffusion Policy aplica DDPM a la predicción de acciones robóticas. En lugar de generar imágenes, el modelo de difusión genera secuencias de acciones — específicamente, un chunk de $H$ acciones futuras condicionado en la observación actual.
El modelo recibe como entrada:
- Chunk de acción ruidoso: $A_t^k \in \mathbb{R}^{H \times d}$ — una secuencia de $H$ acciones, cada una de $d$ dimensiones, en el paso de difusión $k$
- Timestep de difusión: $k \in \{1, \ldots, K\}$ indicando el nivel de ruido
- Características de observación: $O_t$ — características visuales de un encoder CNN o ViT, posiblemente combinadas con estado proprioceptivo (ángulos articulares)
Y produce una predicción de ruido $\hat{\epsilon} \in \mathbb{R}^{H \times d}$. La arquitectura del denoiser puede ser:
- U-Net temporal 1D: Trata el chunk de acción como una señal 1D a lo largo del eje temporal. Capas convolucionales capturan patrones temporales locales, mientras que las skip connections preservan detalles finos. Las características de observación se inyectan vía condicionamiento FiLM. Es la opción más eficiente computacionalmente.
- Transformer: Trata cada timestep de acción como un token. Las características de observación y el timestep de difusión se anteponen como tokens adicionales. La autoatención captura dependencias temporales de largo alcance. Escala mejor pero es más costoso.
El proceso de denoising condicionado puede escribirse como:
Partiendo de $A_t^K \sim \mathcal{N}(0, I)$ e iterando $K$ veces se produce el chunk de acción limpio $A_t^0 \in \mathbb{R}^{H \times d}$.
La Idea del Action Chunk
Una de las innovaciones más importantes en Diffusion Policy es el action chunking — predecir no solo la siguiente acción individual, sino una secuencia completa de $H$ acciones futuras a la vez.
¿Por qué predecir un chunk en lugar de una sola acción?
- Consistencia temporal: Prediciendo $H$ pasos a la vez, el modelo produce trayectorias suaves y coherentes en lugar de movimientos bruscos.
- Multi-modalidad sobre trayectorias: El modelo se compromete con una estrategia completa para $H$ pasos, evitando la oscilación incoherente entre modos.
- Computación amortizada: Ejecutamos $K$ pasos de denoising una vez y obtenemos $H$ acciones. Con $H = 16$ a 10 Hz, un paso de denoising cubre 1.6 segundos de acciones futuras.
En la práctica se usa ejecución de horizonte receding : ejecutar solo los primeros $h < H$ pasos, luego re-predecir un nuevo chunk desde la observación actualizada.
Entrenamiento e Inferencia
Entrenar Diffusion Policy es directo. Dado un dataset de demostraciones con pares (observación, chunk de acción):
- 1. Muestrear un lote de chunks de acción limpios $A_t^0$ del dataset
- 2. Muestrear timesteps de difusión aleatorios $k \sim \text{Uniform}(1, K)$ y ruido $\epsilon \sim \mathcal{N}(0, I)$
- 3. Crear acciones ruidosas: $A_t^k = \sqrt{\bar{\alpha}_k}\, A_t^0 + \sqrt{1 - \bar{\alpha}_k}\, \epsilon$
- 4. Predecir ruido: $\hat{\epsilon} = \epsilon_\theta(A_t^k, k, O_t)$
- 5. Minimizar: $\mathcal{L} = \|\epsilon - \hat{\epsilon}\|^2$
En inferencia, DDPM estándar requiere $K$ pasos de denoising (típicamente $K = 100$). Para control robótico en tiempo real, esto es a menudo demasiado lento. DDIM (Denoising Diffusion Implicit Models) (Song et al., 2021) proporciona un procedimiento de muestreo determinístico y acelerado que puede producir buenos resultados con tan solo 10-20 pasos:
Esta fórmula tiene dos sub-expresiones, cada una con un papel claro. El primer término, $\sqrt{\bar{\alpha}_{k-1}} \bigl(\frac{A_t^k - \sqrt{1-\bar{\alpha}_k}\,\epsilon_\theta}{\sqrt{\bar{\alpha}_k}}\bigr)$, es la señal limpia estimada re-escalada al nivel de ruido $k{-}1$. La fracción interior elimina el ruido de $A_t^k$ usando la predicción de ruido del modelo $\epsilon_\theta$, recuperando una estimación del chunk de acción limpio $A_t^0$. Multiplicar por $\sqrt{\bar{\alpha}_{k-1}}$ re-aplica la cantidad correcta (menor) de escalado de señal para el paso $k{-}1$. El segundo término, $\sqrt{1-\bar{\alpha}_{k-1}}\,\epsilon_\theta$, re-inyecta el componente de ruido predicho al nivel de ruido objetivo. Juntos, los dos términos reconstruyen $A_t^{k-1}$ mezclando la señal limpia estimada y el ruido en las proporciones apropiadas para el paso $k{-}1$ — saltando directamente del nivel de ruido $k$ al $k{-}1$ sin necesitar los pasos intermedios que DDPM requiere. Como la predicción de ruido $\epsilon_\theta$ se reutiliza de forma determinística (no se muestrea aleatoriedad fresca $z$), DDIM es un mapeo determinístico de ruido a datos, razón por la cual puede omitir pasos de forma segura.
Diffusion Policy con DDIM logra ~50-100 ms por chunk — suficiente para control a 10 Hz combinado con action chunking.
En las evaluaciones reportadas por los autores, Diffusion Policy superó significativamente a métodos previos como IBC (Florence et al., 2022) y BeT (Shafiullah et al., 2022) , especialmente en tareas con distribuciones de acción multi-modales.
Quiz
Pon a prueba tu comprensión de Diffusion Policy y DDPM.
¿Qué problema surge cuando un modelo autoregresivo se entrena con demostraciones de múltiples estrategias de agarre válidas?
¿Qué minimiza la pérdida de entrenamiento de DDPM?
¿Cuál es la forma de la salida de Diffusion Policy en cada paso de denoising?
¿Qué es la ejecución de horizonte receding en Diffusion Policy?
¿Por qué se usa DDIM en vez de DDPM estándar en inferencia para Diffusion Policy?