Modelos de difusión: cómo una IA aprende a "pintar" eliminando ruido
La intuición detrás de la generación de imágenes por IA: ruido, denoise y el proceso inverso que aprende el modelo.
Los modelos de difusión son los que están detrás de Stable Diffusion, DALL·E o Midjourney. La idea central suena al revés de lo esperable: no le enseñas a la IA a pintar; le enseñas a limpiar ruido.
El truco: destruir para aprender a reconstruir
Toma una foto real. Añádele un poco de ruido gaussiano. Repítelo cientos de veces hasta que la imagen sea ruido puro. Eso es el proceso directo de difusión: imagen → ruido.
Ahora entrena una red neuronal para hacer lo contrario: dado un paso de ruido, predice el ruido que se añadió. Repetido millones de veces con millones de imágenes, el modelo aprende el proceso inverso: ruido → imagen.
En generación, partes de ruido puro y dejas que el modelo lo “limpie” paso a paso. Cada paso elimina un poco de ruido y revela un poco de estructura — de nada, a una nube borrosa, a una imagen nítida.
¿Por qué funciona?
Porque el ruido gaussiano es estadísticamente simple de revertir paso a paso. Ningún paso individual es difícil: “dado este ruido levemente corrupto, quita un poquito de ruido”. La magia está en repetirlo mil veces: un proceso trivial, iterado, produce resultados extraordinarios. Es la misma lógica de “caminata aleatoria” que explica el movimiento browniano.
Texto como guía: el conditioning
Un modelo de difusión puro genera imágenes aleatorias de su distribución de entrenamiento. Para que pinten “un gato astronauta”, se introduce un condicionamiento: el texto se convierte en embeddings (vía CLIP o similar) y se inyecta en la red entre capas mediante cross-attention. En cada paso de denoise, el modelo consulta al texto: “¿voy en la dirección correcta?”.
¿Qué es el latent space y por qué importa?
Denoising directo sobre píxeles es caro: una imagen 512×512 son 786,432 números a la vez. Stable Diffusion comprime primero la imagen a un espacio latente (típicamente 48×48 con 4 canales) usando un autoencoder. El proceso de difusión ocurre ahí — 4,608 números en vez de 786,432 — y un decoder reconstruye la imagen al final. Por eso corre en GPUs de consumo.
Cierre
La belleza de la difusión es su humildad: no intenta mapear ruido → imagen de un solo golpe (un salto imposible), sino que descompone lo imposible en mil pasos triviales. Si alguna vez te frustra un modelo que no converge, recuerda la lección: descompón el problema hasta que cada paso sea aburrido.