Los modelos de difusión son modelos generativos de aprendizaje automático que crean datos, como imágenes, texto o audio, invirtiendo un proceso de ruido. Aprenden a generar resultados de alta calidad al eliminar gradualmente el ruido de una señal aleatoria en datos estructurados. Estos modelos se utilizan en muchas aplicaciones, incluida la síntesis de imágenes, la generación de vídeo y el modelado 3D.
Los modelos de difusión generan datos simulando la transformación gradual de ruido aleatorio en un resultado significativo. Se inspiran en la termodinámica y los procesos estocásticos, principalmente en cómo se propagan las partículas en un fluido. Esta idea se invierte en el aprendizaje automático: en lugar de dispersar la estructura en aleatoriedad, el modelo aprende a recuperar la estructura a partir del ruido.
Los modelos de difusión se han vuelto populares porque producen de manera consistente resultados diversos, realistas y de alta calidad. Se utilizan en sistemas como DALL-E 2, Stable Diffusion y Midjourney.
Cómo funcionan los modelos de difusión
El proceso de un modelo de difusión tiene dos fases principales:
1. Proceso de difusión hacia adelante
Este proceso añade gradualmente ruido a los datos durante varios pasos. Después de suficientes pasos, los datos originales (como una imagen) se vuelven casi indistinguibles del ruido aleatorio. Este proceso se define generalmente como una cadena de Márkov.
2. Proceso de difusión inversa
El modelo aprende a invertir el ruido paso a paso, reconstruyendo los datos originales. Durante el entrenamiento, aprende a predecir y eliminar el ruido en cada paso para generar nuevos datos a partir de ruido puro en el momento de la prueba.
Cada paso implica estimar cómo era la versión menos ruidosa de los datos, y el modelo se vuelve mejor en esta tarea con el tiempo.
Componentes principales
Programa de varianza
Este componente controla la cantidad de ruido que se añade en cada paso del proceso de avance. Un programa bien diseñado asegura que los datos hagan una transición suave desde su forma original hasta un ruido casi puro, lo que facilita que el modelo aprenda los pasos inversos.
Red de predicción de ruido
La red de predicción de ruido es el modelo neuronal entrenado para estimar el ruido añadido en cualquier paso de tiempo dado. Su trabajo es aprender gradualmente cómo eliminar el ruido de una muestra, permitiendo que el sistema invierta el proceso de difusión.
Proceso de avance
El proceso de avance corrompe sistemáticamente los datos añadiendo pequeñas cantidades de ruido durante muchos pasos. Esto genera pares de datos de entrenamiento donde el modelo aprende a pasar de versiones ruidosas a la entrada limpia.
Proceso inverso
En el proceso inverso, el modelo aplica su conocimiento aprendido para eliminar el ruido de una entrada ruidosa. Comenzando desde el ruido puro, genera progresivamente datos que se asemejan a los ejemplos de entrenamiento originales.
Función de pérdida
La función de pérdida entrena el modelo penalizando las predicciones incorrectas. La mayoría de los modelos de difusión utilizan funciones de pérdida que comparan el ruido predicho con el ruido real, ayudando al modelo a mejorar en cada paso del proceso inverso.
Características esenciales de los modelos de difusión
Cadena de Márkov
Todo el proceso de difusión se modela como una cadena de Márkov, lo que significa que el estado en cada paso de tiempo depende solo del estado del paso anterior. Esta propiedad simplifica el cálculo y el modelado.
Ruido gaussiano
Se añaden pequeñas cantidades de ruido gaussiano (ruido aleatorio con una distribución en forma de campana) durante el proceso de avance. Este ruido controlado ayuda al modelo a aprender cómo recuperar la estructura original.
Pasos de tiempo
La difusión tiene lugar durante muchos pasos, típicamente cientos o miles. Cada paso hace un pequeño cambio, permitiendo que el proceso inverso reconstruya los datos con precisión poco a poco.
Predecir ruido o datos
Los modelos de difusión pueden ser entrenados para predecir el ruido añadido a los datos o los datos limpios originales en sí mismos. Predecir el ruido a menudo conduce a una mejor estabilidad y rendimiento en la práctica.
Tipos de modelos de difusión
Modelos probabilísticos de difusión de eliminación de ruido (DDPM)
Estos modelos utilizan principios probabilísticos e inferencia variacional para aprender cómo eliminar el ruido de los datos de entrada. Se entrenan para predecir el ruido añadido en cada paso y utilizan esto para reconstruir la entrada original.
Modelos basados en puntuación
En lugar de predecir directamente datos o ruido, estos modelos estiman la función de puntuación: el gradiente de la distribución de datos. Utilizan esto para guiar el proceso inverso y generar muestras.
Modelos de difusión latente (LDM)
Los LDM operan en un espacio latente de menor dimensión en lugar del espacio de píxeles. Esto hace que el entrenamiento y la generación sean mucho más eficientes al tiempo que producen resultados de alta calidad. Stable Diffusion es un ejemplo bien conocido.
Modelos de difusión condicional
Estos modelos están guiados por entradas externas como descripciones de texto, etiquetas de clase o mapas de segmentación. El condicionamiento permite controlar el contenido de salida basándose en un mensaje o restricción.
Aplicaciones
- Generación de imágenes
Una de las aplicaciones más populares de los modelos de difusión es la generación de imágenes de alta resolución. Modelos como DALL-E y Stable Diffusion convierten descripciones de texto en imágenes detalladas, haciéndolos útiles para industrias creativas, diseño de productos y narración visual. - Síntesis de vídeo
Los modelos de difusión también pueden generar videoclips cortos creando una secuencia de fotogramas coherentes. Esto permite producir contenido animado o simulaciones de vídeo a partir de datos de entrada mínimos. - Audio y voz
En aplicaciones de audio, los modelos de difusión tratan las formas de onda de forma similar a los datos de imagen. Pueden generar voz o música, ofreciendo una alternativa a los modelos tradicionales de síntesis de forma de onda. - Imagen médica
Los modelos de difusión se utilizan en la atención sanitaria para mejorar las imágenes médicas, crear escaneos sintéticos para el entrenamiento y mejorar la resolución de la imagen. Esto ayuda a fortalecer los diagnósticos y reducir la necesidad de extensos datos del mundo real. - Relleno y edición
Estos modelos se pueden utilizar para tareas como el relleno (rellenar las partes que faltan de una imagen) o la edición, donde las partes de una imagen se modifican basándose en mensajes o máscaras del usuario. Esto permite una edición de imagen flexible e intuitiva.
Cómo funciona el entrenamiento
Entrenar un modelo de difusión implica enseñarle cómo eliminar el ruido. Al modelo se le da una versión de datos ruidosa y debe predecir los datos limpios o el ruido añadido.
Función de pérdida
Normalmente, el modelo minimiza la diferencia entre el ruido predicho y el real. Esto se hace a menudo utilizando el error cuadrático medio (MSE) o una variación del límite inferior de evidencia (ELBO).
Divergencia KL
La divergencia de Kullback-Leibler (KL) mide cómo una distribución diverge de otra en modelos probabilísticos. En los modelos de difusión, ayuda a guiar el aprendizaje del proceso inverso.
Puntos fuertes de los modelos de difusión
Alta calidad de imagen
Los modelos de difusión pueden generar resultados muy realistas, detallados y diversos. Sobresalen en la captura de características sutiles, texturas y estructuras, haciéndolos muy adecuados para la síntesis de imágenes fotorrealistas y tareas de generación artística.
Estabilidad del entrenamiento
A diferencia de las redes generativas antagónicas (GAN), los modelos de difusión ofrecen dinámicas de entrenamiento más estables. Evitan problemas comunes de las GAN como el colapso de modo, donde el modelo genera solo una variedad limitada de resultados.
Arquitectura flexible
Estos modelos son versátiles en términos de diseño y se pueden construir utilizando varias arquitecturas, como U-Net, redes neuronales convolucionales (CNN) o transformadores. Esta flexibilidad los hace adaptables a diferentes tipos de datos y tareas.
Sin entrenamiento antagónico
Los modelos de difusión no requieren un modelo discriminador para el entrenamiento, simplificando la configuración y reduciendo el riesgo de pérdida antagónica inestable. Esto hace que el proceso de entrenamiento sea más sencillo y fiable.
Escalable
Los modelos de difusión escalan bien a diferentes resoluciones y modalidades de datos. Ya sea que se trate de contenido de baja resolución o de alta resolución, o que se cambie entre imágenes, audio o vídeo, la arquitectura se puede adaptar eficazmente.
Retos y limitaciones
Muestreo lento
Una de las principales desventajas de los modelos de difusión es el lento proceso de generación. Debido a que requieren cientos o incluso miles de pasos para eliminar gradualmente el ruido de la entrada, generar cada muestra lleva más tiempo que en modelos como las GAN.
Alto uso de memoria
El entrenamiento y el muestreo con modelos de difusión, especialmente a altas resoluciones, pueden exigir muchos recursos computacionales. El gran uso de memoria es común, particularmente cuando se generan múltiples muestras o se trabaja con tamaños de lote grandes.
Sensibilidad de hiperparámetros
El rendimiento de los modelos de difusión depende en gran medida de los hiperparámetros cuidadosamente elegidos, como el número de pasos de tiempo y el programa de ruido. Pequeños cambios en estos ajustes pueden afectar significativamente la calidad de los resultados.
Requiere datos de entrenamiento limpios
Estos modelos son sensibles a las inconsistencias o al ruido en los datos de entrenamiento. Los datos de baja calidad pueden hacer que sea más difícil para el modelo aprender patrones de eliminación de ruido eficaces, lo que lleva a una calidad de generación inferior.
Comparación con otros modelos generativos
Tipo de modelo | puntos fuertes | debilidades |
GAN | Muestreo rápido, alto detalle | Más difícil de entrenar, colapso de modo |
VAE | Probabilístico, interpretable | Salidas borrosas, menor fidelidad |
Modelos de difusión | Alta calidad, entrenamiento estable | Tiempo de generación más lento |
Variantes avanzadas
Modelos de difusión latente (LDM)
En lugar de aplicar ruido al espacio de píxeles, los LDM aplican ruido en un espacio latente comprimido. Esto hace que el entrenamiento y la inferencia sean más eficientes sin sacrificar la calidad. La difusión estable es un ejemplo destacado.
Guía sin clasificador
Una técnica donde el modelo se entrena con y sin entrada de condicionamiento (como un mensaje de texto), y los resultados se combinan en el momento de la generación para guiar la salida sin necesidad de un clasificador externo.
Ecuaciones diferenciales estocásticas (SDE)
Estos ofrecen una visión continua del proceso de difusión y ayudan a unificar diferentes enfoques de los modelos de difusión. Son útiles en modelos generativos basados en puntuación.
Conclusión
Los modelos de difusión son una familia poderosa y flexible de modelos generativos que producen salidas de alta calidad invirtiendo el ruido. Se han convertido en la base de herramientas de generación de imágenes, audio y vídeo de vanguardia. Su capacidad para crear de forma consistente contenido detallado y realista sin la inestabilidad del entrenamiento antagónico los convierte en una opción preferida en la IA generativa moderna.
Aunque computacionalmente caros, la investigación en curso los hace más rápidos y eficientes, allanando el camino para aplicaciones en tiempo real y una accesibilidad más amplia.