A los amantes de la saga Máquinas y Memorias nos fascina viajar por la frontera entre la ciencia ficción y la tecnología real. Lo que os voy a contar hoy se sitúa justo en esa línea: la capacidad creativa de los modelos de difusión. Además, para no aburriros con tanta teoría, os mostraré un pequeño experimento de generación de imágenes que he hecho.
¿Qué son los modelos de difusión?
Son un tipo de modelo generativo basado en redes neuronales que ha marcado un antes y un después en la generación de imágenes. Su funcionamiento se podría resumir en esta frase: “Añadir ruido y aprender a eliminarlo”. ¿Pero qué significa realmente?
A diferencia de las redes convolucionales, donde se genera un espacio latente con la información de la imagen “comprimida”, lo que hace un modelo de difusión es generar un conjunto de imágenes “ruidosas” para luego aprender a predecir ese ruido y poder eliminarlo. Seguramente se entienda mejor si lo vemos paso a paso con mi experimento:
1) Tengo un dataset con miles de imágenes de galaxias. Durante la primera fase del entrenamiento de mi modelo de difusión, lo que haré es generar ruido gaussiano para cada una de esas imágenes en “t” fases (conocidas como timestamps de difusión).

De tal forma que para cada fase e imagen tendré: (imagen_original, ruido_añadido, imagen_ruidosa, t)
2) Tras finalizar todas las fases (en mi experimento, t = 1000), tendré una colección enorme de todo el proceso (todas las imágenes originales, todas las imágenes ruidosas para cada timestamps y todos los ruidos añadidos). Fíjate cómo se va añadiendo ruido según se avanza en “t” (notarás un efecto “granulado” creciente):

3) Con ese gran dataset que he generado, entreno una red profunda para que aprenda a predecir un ruido a partir de una imagen y un “t”. En el caso de mi experimento lo he hecho con una U-Net muy simple (1.964.611 parámetros).
4) Ahora que la red sabe “predecir” el ruido de una imagen, cuando le pida una imagen similar, el modelo generará ruido (según lo aprendido), y lo irá restando “t” a “t” hasta llegar a una imagen sin ruido, la imagen final. Por ejemplo, estas son galaxias generadas a partir de un ruido total:

Tras aproximadamente 80 epochs, el modelo comenzó a generar galaxias con estructuras reconocibles. El early stopping me permitió detener el entrenamiento cuando la pérdida dejó de mejorar, ahorrando tiempo y energía. Los resultados, los scripts y un registro del entrenamiento están disponibles en el repositorio Modelo‑difusion‑galaxias para quien quiera replicar o mejorar el experimento.
¿Qué te ha parecido? Si te apasiona la inteligencia artificial y la cosmología tanto como a mí, te invito leer Máquinas y Memorias, probar el código, jugar con los hiperparámetros y compartir tus resultados.