Los modelos de difusión son un uso fascinante del aprendizaje profundo para simular la evolución gradual de los datos a lo largo del tiempo. El concepto detrás de la generación mediante el modelo de difusión es transformar iterativamente un punto de datos de un ruido a una distribución objetivo, que es la distribución de datos original. Esta transformación se realiza a través de una serie de pasos discretos. La etapa de entrenamiento implica difusión hacia adelante y difusión hacia atrás.
En el proceso de difusión directa, agregamos gradualmente ruido gaussiano a los datos durante un número aleatorio de pasos de tiempo 't' ('t' menor o igual al número total de pasos de tiempo predeterminados), lo que da como resultado una imagen con ruido. En el proceso de difusión inversa, comenzamos con la imagen con ruido (con ruido para 't' pasos en la difusión directa) y entrenamos un modelo UNet, que ayuda a reducir el nivel de ruido al predecir el ruido agregado a la imagen original.
Para generar nuevas imágenes, simplemente realizamos difusión inversa de forma iterativa. Para hacer esto, primero tomamos muestras de ruido de un gaussiano estándar y predecimos y eliminamos el ruido gradualmente durante un número predeterminado de pasos de tiempo, lo que produce una imagen que se asemeja a la distribución de datos original.