🧪 Demo interactiva

Explorador de Modelos de Difusión

Observa paso a paso cómo los modelos de difusión destruyen una imagen añadiendo ruido y aprenden a reconstruirla — desde el proceso forward hasta el sampling con guía de texto.

Fundamentos matemáticos

Un modelo de difusión consta de dos procesos. El proceso forward añade ruido gaussiano gradualmente hasta destruir la señal original. Gracias al truco de reparametrización, podemos saltar directamente a cualquier paso \(t\):

\[ q(\mathbf{x}_t \mid \mathbf{x}_0) = \mathcal{N}\!\left(\mathbf{x}_t;\;\sqrt{\bar\alpha_t}\,\mathbf{x}_0,\;(1-\bar\alpha_t)\mathbf{I}\right) \]

\[ \mathbf{x}_t = \sqrt{\bar\alpha_t}\;\mathbf{x}_0 + \sqrt{1-\bar\alpha_t}\;\boldsymbol{\varepsilon}, \qquad \boldsymbol{\varepsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) \]

El proceso reverse aprende a invertir cada paso. La red neuronal \(\boldsymbol{\varepsilon}_\theta\) predice el ruido añadido, y la pérdida simplificada es:

\[ \mathcal{L}_{\text{simple}} = \mathbb{E}_{t,\,\mathbf{x}_0,\,\boldsymbol\varepsilon}\!\left[\,\left\lVert\boldsymbol\varepsilon - \boldsymbol\varepsilon_\theta(\mathbf{x}_t, t)\right\rVert^2\,\right] \]

Para guiar la generación, se usa Classifier-Free Guidance (CFG): \(\tilde{\boldsymbol\varepsilon} = \boldsymbol\varepsilon_\theta(\mathbf{x}_t) + w\bigl(\boldsymbol\varepsilon_\theta(\mathbf{x}_t, c) - \boldsymbol\varepsilon_\theta(\mathbf{x}_t)\bigr)\), donde \(w\) es la escala de guía y \(c\) es el embedding de la condición (p.ej., texto).

1 Elige una imagen

Selecciona una de las imágenes 8×8 RGB para explorar cómo el modelo de difusión la destruye y reconstruye.

2 Proceso forward: añadir ruido

Observa cómo la imagen se degrada paso a paso. Usa el slider para navegar por el proceso forward y ver la relación señal/ruido en cada \(t\).

0

3 Noise schedules: \(\beta_t\) y \(\bar\alpha_t\)

El schedule controla cuánto ruido se añade en cada paso. Compara el schedule lineal con el coseno y observa cómo afecta a las curvas de señal y ruido.

50

4 Proceso reverse: denoising

El proceso inverso parte de ruido puro y va eliminándolo paso a paso. La red predice \(\boldsymbol{\varepsilon}\) y usamos la fórmula de actualización para obtener \(\mathbf{x}_{t-1}\). Pulsa el botón para ver la reconstrucción.

5 Simulación de entrenamiento

Simula un bucle de entrenamiento: en cada epoch se muestrea una imagen, un paso temporal, se añade ruido, la red predice \(\hat{\boldsymbol\varepsilon}\) y se minimiza el MSE. Observa cómo desciende la pérdida.

60

6 Condicionamiento y guía (CFG)

En Classifier-Free Guidance se interpolan las predicciones condicionada e incondicionada. Elige un prompt, ajusta la escala de guía \(w\) y compara los resultados.

7.5

7 Sampling: DDPM vs DDIM

DDPM usa un proceso estocástico completo (más lento, más diverso). DDIM es determinista y puede saltar pasos para generar más rápido. Compara ambos con el mismo número de pasos.

20