Un modèle de diffusion latent (LDM) est un type de modèle génératif qui étend le cadre des modèles de diffusion en opérant dans un espace latent de dimension inférieure plutôt que directement dans l'espace des pixels. Développé par le groupe Computer Vision & Learning (CompVis) de l'Université Louis-et-Maximilien de Munich, le LDM a été introduit dans un article publié sur arXiv le 20 décembre 2021. Il améliore les modèles de diffusion standard en réduisant le coût de calcul tout en maintenant une synthèse d'images de haute qualité, et il prend en charge le conditionnement via des mécanismes d'auto-attention et d'attention croisée. Les LDM sont largement utilisés dans les modèles de diffusion pratiques ; par exemple, les versions 1.1 à 2.1 de Stable Diffusion étaient basées sur l'architecture LDM.
L'architecture LDM se compose de trois composants principaux : un autoencodeur variationnel (VAE), un U-Net modifié et un encodeur de texte. Le VAE compresse les images dans un espace latent, le U-Net effectue le débruitage dans cet espace latent, et l'encodeur de texte fournit des informations de conditionnement. Cette conception permet au modèle de générer efficacement des images à partir de invites textuelles, ce qui en fait une pierre angulaire de la génération d'images IA moderne.
Contexte et développement
Les modèles de diffusion ont été introduits pour la première fois en 2015 comme une méthode pour apprendre à échantillonner à partir de distributions de probabilité complexes, en utilisant des principes de la thermodynamique hors équilibre. Un article de 2019 a proposé le réseau de scores conditionnels au bruit (NCSN), également connu sous le nom d'appariement de scores avec dynamique de Langevin (SMLD), implémenté dans PyTorch. En 2020, le modèle probabiliste de débruitage par diffusion (DDPM) a amélioré ces méthodes en utilisant l'inférence variationnelle, avec une implémentation de référence dans TensorFlow.
L'article sur le LDM a été publié sur arXiv le 20 décembre 2021, et les dépôts Stable Diffusion et LDM ont été publiés sur GitHub. L'architecture a gagné en importance lorsque les versions 1.1 à 2.1 de Stable Diffusion l'ont adoptée. Stable Diffusion 1.1 a été entraînée sur le jeu de données LAION-2B-en, et les versions ultérieures ont été affinées pour améliorer l'esthétique et le guidage sans classifieur. Stable Diffusion 1.5 a été publiée par RunwayML en octobre 2022.
Vue d'ensemble de l'architecture
Le LDM opère dans un espace latent compressé, ce qui réduit la dimensionnalité des données et accélère l'entraînement et l'inférence. Le processus commence par un encodeur VAE qui compresse une image d'entrée de l'espace des pixels en une représentation latente. Un bruit gaussien est ensuite appliqué itérativement à cette représentation latente pendant la diffusion directe. Un U-Net, composé d'un backbone ResNet, débruite la représentation latente en sens inverse, et enfin un décodeur VAE convertit le latent débruité en espace des pixels.
L'étape de débruitage peut être conditionnée sur diverses modalités, telles que le texte, les images ou d'autres données. Pour le conditionnement par texte, un encodeur de texte CLIP ViT-L/14 pré-entraîné transforme les invites textuelles en un espace d'intégration, qui est exposé au U-Net via un mécanisme d'attention croisée. Cela permet au modèle de générer des images qui correspondent à la description textuelle fournie.
Autoencodeur variationnel
Le VAE est entraîné sur un jeu de données d'images pour apprendre une représentation latente compressée. L'encodeur prend une image RVB de forme (3, 512, 512) et produit un tenseur latent de forme (4, 64, 64), après avoir appliqué un facteur d'échelle de 0,18215 pour blanchir approximativement le vecteur latent. Le décodeur inverse ce processus, prenant un tenseur latent et produisant une image, avec un facteur d'échelle de 0,18125 et un écrasement dans la plage [0, 1].
L'encodeur est un réseau de neurones convolutionnel (CNN) avec un mécanisme d'auto-attention unique près de la fin. Il produit une concaténation de la moyenne et de la variance prédites pour le vecteur latent, chacune de forme (4, H/8, W/8). Pendant l'entraînement, la variance est utilisée, mais lors de l'inférence, seule la moyenne est généralement retenue. Le décodeur est également un CNN avec une structure d'auto-attention similaire, convertissant les tenseurs latents en images.
U-Net
Le backbone U-Net est le composant central de débruitage. Il prend en entrée un tableau d'images latentes produit par l'encodeur VAE, ainsi que des informations de conditionnement telles que des intégrations textuelles. Le U-Net est conçu pour prédire le bruit ajouté lors de la diffusion directe, permettant au modèle de supprimer itérativement le bruit et de récupérer la représentation latente d'origine. L'architecture comprend des connexions résiduelles et des mécanismes d'attention, ce qui lui permet de gérer des dépendances complexes dans les données.
Applications et impact
Les modèles de diffusion latents sont devenus la base de nombreux systèmes texte-à-image, notamment Stable Diffusion. L'efficacité gagnée en opérant dans l'espace latent permet à ces modèles de fonctionner sur du matériel grand public, démocratisant l'accès à la génération d'images par IA. L'architecture a également été adaptée à d'autres tâches, telles que l'inpainting, la super-résolution et la génération vidéo, démontrant sa polyvalence.
Limites et directions futures
Malgré leur succès, les LDM font face à des défis tels que les exigences computationnelles pour l'entraînement, les biais potentiels dans le contenu généré, et le besoin d'un réglage minutieux des mécanismes de conditionnement. La recherche continue d'améliorer l'architecture, notamment en développant des mécanismes d'attention plus efficaces et de meilleures représentations de l'espace latent. Au début des années 2020, les LDM restent un domaine d'étude clé en apprentissage automatique et en vision par ordinateur, avec des contributions continues de laboratoires académiques et industriels.