Un modelo de difusión latente (LDM) es un tipo de modelo generativo que extiende el marco de los modelos de difusión al operar en un espacio latente de menor dimensión en lugar de directamente en el espacio de píxeles. Desarrollado por el grupo Computer Vision & Learning (CompVis) de la LMU de Múnich, el LDM se introdujo en un artículo publicado en arXiv el 20 de diciembre de 2021. Mejora los modelos de difusión estándar al reducir el costo computacional mientras mantiene una síntesis de imágenes de alta calidad, y admite condicionamiento mediante mecanismos de autoatención y atención cruzada. Los LDM se utilizan ampliamente en modelos de difusión prácticos; por ejemplo, las versiones 1.1 a 2.1 de Stable Diffusion se basaron en la arquitectura LDM.
La arquitectura LDM consta de tres componentes principales: un autoencoder variacional (VAE), un U-Net modificado y un codificador de texto. El VAE comprime las imágenes en un espacio latente, el U-Net realiza la eliminación de ruido en ese espacio latente y el codificador de texto proporciona información de condicionamiento. Este diseño permite que el modelo genere imágenes a partir de indicaciones de texto de manera eficiente, convirtiéndolo en una piedra angular de la IA moderna para la generación de imágenes.
Antecedentes y Desarrollo
Los modelos de difusión se introdujeron por primera vez en 2015 como un método para aprender a muestrear distribuciones de probabilidad complejas, utilizando principios de la termodinámica de no equilibrio. Un artículo de 2019 propuso la red de puntuación condicionada por ruido (NCSN), también conocida como emparejamiento de puntuaciones con dinámica de Langevin (SMLD), que se implementó en PyTorch. En 2020, el modelo probabilístico de difusión con eliminación de ruido (DDPM) mejoró estos métodos mediante inferencia variacional, con una implementación de referencia en TensorFlow.
El artículo del LDM se publicó en arXiv el 20 de diciembre de 2021, y tanto los repositorios de Stable Diffusion como de LDM se lanzaron en GitHub. La arquitectura ganó prominencia cuando las versiones 1.1 a 2.1 de Stable Diffusion la adoptaron. Stable Diffusion 1.1 se entrenó con el conjunto de datos LAION-2B-en, y las versiones posteriores se ajustaron para mejorar la estética y la guía sin clasificador. Stable Diffusion 1.5 fue lanzado por RunwayML en octubre de 2022.
Descripción General de la Arquitectura
El LDM opera en un espacio latente comprimido, lo que reduce la dimensionalidad de los datos y acelera el entrenamiento y la inferencia. El proceso comienza con un codificador VAE que comprime una imagen de entrada desde el espacio de píxeles a una representación latente. Luego, se aplica ruido gaussiano de manera iterativa a esta representación latente durante la difusión directa. Un U-Net, compuesto por una red troncal ResNet, elimina el ruido de la representación latente en el proceso inverso, y finalmente un decodificador VAE convierte el latente sin ruido de nuevo al espacio de píxeles.
El paso de eliminación de ruido puede condicionarse a diversas modalidades, como texto, imágenes u otros datos. Para el condicionamiento por texto, un codificador de texto CLIP ViT-L/14 preentrenado transforma las indicaciones de texto en un espacio de incrustaciones, que se expone al U-Net mediante un mecanismo de atención cruzada. Esto permite que el modelo genere imágenes que se alineen con la descripción textual proporcionada.
Autoencoder Variacional
El VAE se entrena con un conjunto de datos de imágenes para aprender una representación latente comprimida. El codificador toma una imagen RGB de forma (3, 512, 512) y produce un tensor latente de forma (4, 64, 64), después de aplicar un factor de escala de 0.18215 para blanquear aproximadamente el vector latente. El decodificador invierte este proceso, tomando un tensor latente y produciendo una imagen, con un factor de escala de 0.18125 y recortando al rango [0, 1].
El codificador es una red neuronal convolucional (CNN) con un único mecanismo de autoatención cerca del final. Produce una concatenación de la media y la varianza predichas para el vector latente, cada una de forma (4, H/8, W/8). Durante el entrenamiento se utiliza la varianza, pero en la inferencia normalmente solo se retiene la media. El decodificador también es una CNN con una estructura de autoatención similar, que convierte los tensores latentes de nuevo en imágenes.
U-Net
La red troncal U-Net es el componente central de eliminación de ruido. Toma como entrada un array de imagen latente producido por el codificador VAE, junto con información de condicionamiento como incrustaciones de texto. El U-Net está diseñado para predecir el ruido que se añadió durante la difusión directa, lo que permite al modelo eliminar ruido de manera iterativa y recuperar la representación latente original. La arquitectura incluye conexiones residuales y mecanismos de atención, lo que le permite manejar dependencias complejas en los datos.
Aplicaciones e Impacto
Los modelos de difusión latente se han convertido en la base de muchos sistemas de texto a imagen, especialmente Stable Diffusion. La eficiencia obtenida al operar en el espacio latente permite que estos modelos se ejecuten en hardware de consumo, democratizando el acceso a la generación de imágenes con IA. La arquitectura también se ha adaptado para otras tareas, como el relleno de imágenes (inpainting), la superresolución y la generación de video, lo que demuestra su versatilidad.
Limitaciones y Direcciones Futuras
A pesar de su éxito, los LDM enfrentan desafíos como los requisitos computacionales para el entrenamiento, los posibles sesgos en el contenido generado y la necesidad de un ajuste cuidadoso de los mecanismos de condicionamiento. La investigación continúa mejorando la arquitectura, incluidos mecanismos de atención más eficientes y mejores representaciones del espacio latente. A principios de la década de 2020, los LDM siguen siendo un área clave de estudio en aprendizaje automático y visión por computadora, con contribuciones continuas de laboratorios académicos e industriales.