Modelos de difusión
Descubra cómo los modelos de difusión revolucionan la IA generativa al crear imágenes, vídeos y datos realistas con un nivel de detalle y estabilidad inigualables.
Los modelos de difusión representan una potente clase de modelos generativos dentro del aprendizaje profundo (deep learning, DL) que han adquirido una importancia significativa, especialmente en la creación de imágenes, audio y otros tipos de datos complejos de alta calidad. Inspirados en conceptos de termodinámica, estos modelos funcionan añadiendo sistemáticamente ruido a los datos y aprendiendo después a invertir este proceso para generar nuevas muestras de datos a partir de ruido puro. Su capacidad para producir resultados diversos y realistas los ha convertido en piedra angular de la Inteligencia Artificial (IA) moderna.
Cómo funcionan los modelos de difusión
La idea central de los modelos de difusión implica dos procesos: un proceso de avance (difusión) y un proceso de retroceso (eliminación de ruido).
- Proceso hacia delante: Esta etapa toma datos reales (como una imagen de los datos de entrenamiento) y añade gradualmente pequeñas cantidades de ruido aleatorio a lo largo de muchos pasos. Al final, después de suficientes pasos, la imagen original se vuelve indistinguible del ruido puro (como la estática en una vieja pantalla de televisión). Este proceso es fijo y no implica aprendizaje.
- Proceso inverso: Aquí es donde se produce el aprendizaje. El modelo, normalmente una arquitectura de red neuronal como una U-Net, se entrena para deshacer la adición de ruido paso a paso. Partiendo de ruido aleatorio, el modelo elimina iterativamente el ruido previsto, refinando gradualmente la muestra hasta que se asemeja a los datos de la distribución de entrenamiento original. Este proceso de eliminación de ruido aprendido permite al modelo generar datos completamente nuevos. Investigaciones clave como Denoising Diffusion Probabilistic Models (DDPM ) sentaron gran parte de las bases para las implementaciones modernas.
El entrenamiento consiste en enseñar al modelo a predecir con precisión el ruido añadido en cada paso del proceso de avance. Al aprender esto, el modelo aprende implícitamente la estructura subyacente de los datos.
Conceptos clave y acondicionamiento
Varios conceptos son fundamentales en los modelos de difusión:
- Tiempos: La adición y eliminación gradual de ruido se produce a lo largo de una serie de pasos temporales discretos. A menudo, el modelo necesita saber qué paso de tiempo está procesando en ese momento.
- Programa de ruido: Define la cantidad de ruido que se añade en cada paso del proceso de avance. Diferentes programas pueden afectar a la calidad de la formación y la generación.
- Acondicionamiento: Los modelos de difusión pueden ser guiados para generar resultados específicos. Por ejemplo, en la generación de texto a imagen, el modelo se condiciona a descripciones de texto (prompts) para crear las imágenes correspondientes. Esto suele implicar mecanismos como la atención cruzada.
Modelos de difusión frente a otros modelos generativos
Los modelos de difusión difieren significativamente de otros enfoques generativos populares, como las redes generativas adversariales (GAN):
- Estabilidad del entrenamiento: Los modelos de difusión suelen ofrecer un entrenamiento más estable en comparación con los GAN, que implican un complejo juego adversarial entre un generador y un discriminador que a veces puede no converger.
- Calidad y diversidad de las muestras: Los modelos de difusión suelen sobresalir en la producción de muestras de alta fidelidad y diversidad, a veces superando a los GAN en ciertos puntos de referencia, aunque a menudo a costa de una mayor latencia de inferencia.
- Velocidad de inferencia: Tradicionalmente, generar una muestra con un modelo de difusión requiere muchos pasos de eliminación de ruido, lo que hace que la inferencia sea más lenta que con los GAN. Sin embargo, la investigación sobre técnicas de muestreo más rápidas está cerrando rápidamente esta brecha. También se están explorando técnicas como la destilación de conocimientos.
Aplicaciones reales
Los modelos de difusión están impulsando la innovación en diversos ámbitos:
- Generación de imágenes de alta fidelidad: Modelos como Stable Diffusion, Midjourney y Google's Imagen utilizan técnicas de difusión para crear imágenes asombrosamente realistas y artísticas a partir de mensajes de texto.
- Edición y repintado de imágenes: Pueden rellenar de forma inteligente las partes que faltan en las imágenes (inpainting) o modificar las imágenes existentes basándose en instrucciones (por ejemplo, cambiar estilos, añadir objetos), lo que permite utilizar potentes herramientas creativas como Adobe Firefly.
- Síntesis de audio: Los modelos de difusión se utilizan para generar voz, música y efectos de sonido realistas, como se ve en proyectos como AudioLDM.
- Descubrimiento científico: Están surgiendo aplicaciones en campos como el descubrimiento de fármacos para generar nuevas estructuras moleculares y en física para simular sistemas complejos.
- Aumento de datos: La generación de datos sintéticos mediante modelos de difusión puede complementar los datos de entrenamiento reales para tareas como la detección de objetos o la segmentación de imágenes, mejorando potencialmente la robustez de modelos como Ultralytics YOLO.
Herramientas y desarrollo
El desarrollo y uso de modelos de difusión a menudo implica marcos como PyTorch y TensorFlow. Bibliotecas como Hugging Face Diffusers proporcionan modelos preentrenados y herramientas para simplificar el trabajo con modelos de difusión. Plataformas como Ultralytics HUB agilizan el flujo de trabajo más amplio de la visión por ordenador, incluida la gestión de conjuntos de datos y el despliegue de modelos, lo que puede complementar los flujos de trabajo generativos.