🧮 Computational Mathematics

Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL

335 — Diffusion models: reverse process

experto clase 15 de 20 4 horas demostración diffusion_reverse

La red no genera la imagen: predice el ruido, y de ahí se despeja la imagen.

Fórmulas

la red estima ε̂ = ε_θ(x_t, t)
x̂₀ = (x_t − √(1−ᾱ_t)·ε̂) / √ᾱ_t
pérdida: ‖ε − ε̂‖²

Desarrollo

El proceso inverso es donde está el aprendizaje. Dado un x_t ruidoso, una red predice qué ruido se añadió, y despejando la fórmula del proceso directo se recupera una estimación del dato original. Iterando ese paso desde ruido puro se genera una muestra nueva.

Que la red prediga el ruido en vez de la imagen es una elección de parametrización, y resultó funcionar mucho mejor. Son matemáticamente equivalentes —de una se despeja la otra— pero predecir ruido da un objetivo mejor condicionado, con escala similar en todos los pasos temporales, lo que estabiliza el entrenamiento.

La pérdida resultante es simplemente el error cuadrático entre el ruido real y el predicho. Esa simplicidad es engañosa: la formulación completa parte de un ELBO como el de la clase 332, y tras varias simplificaciones se reduce a este objetivo. La derivación es laboriosa y el resultado es una línea de código.

El coste es el número de pasos. Los primeros modelos necesitaban mil evaluaciones de la red por muestra, lo que hacía la generación lenta. Los muestreadores acelerados —DDIM, DPM-Solver— reducen a decenas de pasos aplicando lo que la parte 11 enseña sobre integradores: son métodos numéricos aplicados a la ecuación diferencial asociada al proceso.

Ejemplo trabajado

Reconstrucción exacta con un modelo perfecto.

t = 15        ᾱ_t = 0,87986861

x₀ real     =  1,000000
ruido real  = −0,198859
x_t         =  0,869089

Comprobación del proceso directo:
  √0,8799 · 1,0 + √0,1201 · (−0,198859)
  = 0,93800 − 0,06891 = 0,86909            ✓

Con un modelo perfecto (ε̂ = ε):
  x̂₀ = (0,869089 − 0,346554·(−0,198859)) / 0,937961
     = 1,000000                                      ✓

La red solo tiene que acertar el ruido;
la imagen se despeja algebraicamente.

Qué calcula el laboratorio

Proceso inverso: la red predice el ruido y se reconstruye x₀.

python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/335-diffusion-models-reverse-process/lab.py
compmath run 335

Salidas del laboratorio (12)

Muestra de la ejecución real

{
  "t": 15,
  "alpha_barra_t": 0.87986861,
  "x0_real": 1.0,
  "ruido_real": -0.198859,
  "x_t": 0.869089,
  "x0_estimado_con_modelo_perfecto": 1.0
}

Errores comunes

Dónde se usa

Generación de imágenes, inpainting, superresolución, generación de audio y modelos condicionados por texto.

Idea rectora de la parte

Bellman expresa el valor como recompensa inmediata más valor futuro descontado.

Error a evitar

Normalizar el Laplaciano de un grafo con nodos aislados sin tratar la división por cero.

Conexión con IA

Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.

Bibliografía de la clase

Archivos de la clase