Modelos de difusión, explicados simplemente | Hacia la ciencia de los datos

IA generativa es uno de los términos más populares que escuchamos hoy. Recientemente, ha habido un aumento en las aplicaciones generativas de IA que involucran texto, imagen, audio y generación de videos.

Cuando se trata de creación de imágenes, Difusión Los modelos han surgido como una técnica de última generación para la generación de contenido. Aunque se introdujeron por primera vez en 2015, han visto avances significativos y ahora sirven como el mecanismo central en modelos bien conocidos como Dalle, Midjourney y Clip.

El objetivo de este artículo es introducir la idea central detrás de los modelos de difusión. Esta comprensión fundamental ayudará a comprender conceptos más avanzados utilizados en variantes de difusión compleja e en la interpretación del papel de los hiperparámetros al entrenar un modelo de difusión personalizado.

Difusión

Analogía de la física

Imaginemos un vaso transparente de agua. ¿Qué sucede si agregamos una pequeña cantidad de otro líquido con un color amarillo, por ejemplo? El líquido amarillo se extenderá gradual y uniformemente por todo el vidrio, y la mezcla resultante adquirirá un tinte amarillo ligeramente transparente.

El proceso descrito se conoce como Difusión hacia adelante: Alteramos el estado del medio ambiente agregando una pequeña cantidad de otro líquido. Sin embargo, sería igual de fácil realizar difusión inversa– ¿Para devolver la mezcla a su estado original? Resulta que no lo es. En el mejor de los casos, lograr esto requeriría mecanismos altamente sofisticados.

Aplicando la analogía al aprendizaje automático

La difusión también se puede aplicar a las imágenes. Imagina una foto de alta calidad de un perro. Podemos transformar fácilmente esta imagen agregando gradualmente ruido aleatorio. Como resultado, los valores de píxeles cambiarán, haciendo que el perro en la imagen sea menos visible o incluso irreconocible. Este proceso de transformación se conoce como Difusión hacia adelante .

Fuente: Modelos de difusión: una encuesta integral de métodos y aplicaciones

También podemos considerar la operación inversa: dada una imagen ruidosa, el objetivo es reconstruir la imagen original. Esta tarea es mucho más desafiante porque Hay muchos menos estados de imagen altamente reconocibles en comparación con el gran número de posibles variaciones ruidosas.Utilizando la misma analogía física mencionada anteriormente, este proceso se llama difusión inversa .

Arquitectura de modelos de difusión

Para comprender mejor la estructura de los modelos de difusión, examinemos ambos procesos de difusión por separado.

Difusión hacia adelante

Como se mencionó anteriormente, la difusión hacia adelante implica agregar progresivamente ruido a una imagen. En la práctica, sin embargo, el proceso es un poco más matizado.

El método más común implica el muestreo de un valor aleatorio para cada píxel desde un Distribución gaussianacon una media de 0. Este valor muestreado, que puede ser positivo o negativo, luego se agrega al valor original del píxel. Repetir esta operación en todos los píxeles da como resultado una versión ruidosa de la imagen original.

Para cada píxel en la imagen, se muestrean un valor aleatorio de una distribución gaussiana y se agrega al valor del píxel.

La distribución gaussiana elegida generalmente tiene una varianza relativamente pequeña, lo que significa que los valores muestreados suelen ser pequeños. Como resultado, solo se introducen cambios menores en la imagen en cada paso.

La difusión hacia adelante es un proceso iterativo en el que se aplica el ruido a la imagen varias veces. Con cada iteración, la imagen resultante se vuelve cada vez más diferente al original. Después de cientos de iteraciones, que es común en los modelos de difusión reales, la imagen finalmente se vuelve irreconocible del ruido puro.

Difusión inversa

Ahora podrías preguntar: ¿Cuál es el propósito de realizar todas estas transformaciones de difusión hacia adelante?? La respuesta es que las imágenes generadas en cada iteración se utilizan para entrenar una red neuronal.

Específicamente, supongamos que aplicamos 100 transformaciones de ruido secuenciales durante la difusión hacia adelante. Luego podemos tomar la imagen en cada paso y entrenar la red neuronal para reconstruir la imagen del paso anterior. La diferencia entre las imágenes predichas y reales se calcula utilizando una función de pérdida, por ejemplo, Error cuadrado medio (MSE)que mide la diferencia promedio de píxeles entre las dos imágenes.

El objetivo del modelo es detectar el ruido adicional y reconstruir la imagen anterior. La imagen prevista se compara con la imagen real para calcular la pérdida.

Este ejemplo muestra un modelo de difusión que reconstruye la imagen original. Al mismo tiempo, los modelos de difusión se pueden entrenar para predecir el ruido agregado a una imagen. En ese caso, para reconstruir la imagen original, es suficiente restar el ruido predicho de la imagen en la iteración anterior.

Si bien ambas tareas pueden parecer similares, predecir el ruido adicional es más simple en comparación con la reconstrucción de imágenes.

Diseño de modelo

Después de obtener una intuición básica sobre la técnica de difusión, es esencial explorar varios conceptos más avanzados para comprender mejor el diseño del modelo de difusión.

Número de iteraciones

El número de iteraciones es uno de los parámetros clave en los modelos de difusión:

Por un lado, usar más iteraciones significa que los pares de imágenes en los pasos adyacentes diferirán menos, lo que facilita la tarea de aprendizaje del modelo. Por otro lado, un mayor número de iteraciones aumenta el costo computacional.

Si bien menos iteraciones pueden acelerar el entrenamiento, el modelo puede no aprender transiciones suaves entre los pasos, lo que resulta en un bajo rendimiento.

Típicamente, el número de iteraciones se elige entre 50 y 1000.

Arquitectura de redes neuronales

Más comúnmente, la arquitectura de la red U se usa como la columna vertebral en los modelos de difusión. Estas son algunas de las razones por las cuales:

  • U-Net conserva las dimensiones de la imagen de entrada y salida, asegurando que el tamaño de la imagen permanezca consistente durante el proceso de difusión inversa.
  • Su arquitectura de cuello de botella permite la reconstrucción de toda la imagen después de la compresión en un espacio latente. Mientras tanto, las características de la imagen clave se conservan a través de conexiones de omisión.
  • Originalmente diseñada para la segmentación de imágenes biomédicas, donde la precisión a nivel de píxel es crucial, las fortalezas de U-Net se traducen bien en tareas de difusión que requieren una predicción precisa de los valores de píxeles individuales.
Arquitectura U-Net. Fuente: U-NET: redes convolucionales para la segmentación de imágenes biomédicas

Red compartida

A primera vista, puede parecer necesario entrenar una red neuronal separada para cada iteración en el proceso de difusión. Si bien este enfoque es factible y puede conducir a resultados de inferencia de alta calidad, es altamente ineficiente desde una perspectiva computacional. Por ejemplo, si el proceso de difusión consta de miles de pasos, necesitaríamos capacitar a mil modelos de N-Net, una tarea extremadamente lento y que intensifica los recursos.

Sin embargo, podemos observar que La configuración de la tarea en diferentes iteraciones es esencialmente la misma : En cada caso, necesitamos reconstruir una imagen de dimensiones idénticas que se haya alterado con el ruido de una magnitud similar. Esta importante idea lleva a la idea de utilizando una sola red neuronal compartida en todas las iteraciones.

En la práctica, esto significa que usamos un solo modelo de red en U con pesos compartidos, entrenados en pares de imágenes de diferentes pasos de difusión. Durante la inferencia, la imagen ruidosa se pasa a través de la misma red en U entrenada varias veces, refinando gradualmente hasta que se produce una imagen de alta calidad.

Se utiliza un solo modelo compartido para tareas de predicción de imágenes en todas las iteraciones.

Aunque la calidad de la generación podría deteriorarse ligeramente debido al uso de un solo modelo, la ganancia en la velocidad de entrenamiento se vuelve muy significativa.

Conclusión

En este artículo, exploramos los conceptos centrales de los modelos de difusión, que juegan un papel clave en Generación de imágenes. Hay muchas variaciones de estos modelos, entre ellos, difusión estableLos modelos se han vuelto particularmente populares. Si bien se basa en los mismos principios fundamentales, la difusión estable también permite la integración del texto u otros tipos de entrada para guiar y restringir las imágenes generadas.

Recursos

Todas las imágenes a menos que se indique lo contrario el autor.