Modelos de difusión explicados: las matemáticas detrás de Stable Diffusion
La idea central
Los modelos de difusión pertenecen a la familia de modelos generativos con variables latentes. Su idea es elegante: en lugar de aprender a generar datos directamente, aprenden a eliminarles el ruido.
Durante el entrenamiento, las muestras se corrompen añadiendo progresivamente ruido gaussiano a lo largo de pasos hasta que los datos son prácticamente indistinguibles de ruido puro. Después, el modelo aprende a invertir ese proceso, prediciendo y eliminando el ruido paso a paso.
El proceso directo
Dada una muestra limpia , el proceso directo define una cadena de Markov que añade ruido gradualmente:
donde es un calendario de ruido fijo. Una propiedad útil es que podemos muestrear directamente a partir de en forma cerrada. Definimos y :
O, de forma equivalente, mediante el truco de reparametrización:
Cuando , y .
El proceso inverso
El proceso inverso aprende a eliminar el ruido paso a paso:
La red se entrena para predecir el ruido añadido. El objetivo de entrenamiento se simplifica a:
Esto es simplemente un problema de regresión de denoising: predecir el ruido y minimizar el MSE.
La arquitectura de red: U-Net
La red de denoising es una U-Net, una arquitectura encoder-decoder con skip connections entre mapas de características correspondientes del encoder y el decoder.
Input x_t + timestep embedding
↓
[Conv] → [ResBlock] → [Attention] → [Downsample]
↓ ↓
[Conv] → [ResBlock] → [Attention] → [Downsample]
↓
Middle Block (ResBlock + Attention)
↓
[Upsample] → [ResBlock] → [Attention]
↓
[Upsample] → [ResBlock] → [Attention]
↓
Output (predicted noise ε)
El timestep se codifica como un embedding sinusoidal, similar a las codificaciones posicionales de los Transformers, y se inyecta en cada ResBlock mediante condicionamiento FiLM.
Calendarios de ruido
El calendario controla la rapidez con la que se acumula el ruido. Opciones habituales:
- Lineal (DDPM): aumenta linealmente desde hasta
- Coseno (DDPM mejorado): — evita añadir demasiado ruido en los primeros pasos
- Flow matching (utilizado en Stable Diffusion 3 y Flux): trayectorias rectas a través del espacio datos-ruido para acelerar el muestreo
DDIM: muestreo más rápido
El DDPM estándar requiere pasos de denoising para generar una imagen. DDIM (Denoising Diffusion Implicit Models) reformula el proceso inverso como una cadena no markoviana, permitiendo generar en 20–50 pasos con calidad comparable.
El paso de actualización DDIM es:
Modelos de difusión latente
Stable Diffusion opera en espacio latente, no en espacio de píxeles. Primero, un autoencoder variacional (VAE) comprime la imagen:
El proceso de difusión se ejecuta sobre el latente , normalmente de para una imagen de . Esto reduce el coste computacional aproximadamente 48× frente a la difusión en espacio de píxeles.
Classifier-Free Guidance
Para orientar la generación hacia un prompt de texto , classifier-free guidance interpola entre predicciones condicionales e incondicionales:
La escala de guidance controla el compromiso entre calidad de la muestra (mayor ) y diversidad (menor ). Los valores habituales son 7–15.
Ideas clave
- Los modelos de difusión plantean la generación como denoising iterativo con un objetivo de regresión sencillo
- El proceso directo define analíticamente a partir de en un solo paso, haciendo eficiente el entrenamiento
- DDIM reduce los pasos de inferencia de 1000 a aproximadamente 20–50 sin reentrenamiento
- La difusión latente de Stable Diffusion mueve el proceso a un espacio latente comprimido de un VAE para hacer viable la generación de alta resolución
- Classifier-free guidance es el principal control de fidelidad de salida y adherencia al prompt