Les modèles de diffusion, également connus sous le nom de modèles génératifs basés sur la diffusion ou modèles génératifs basés sur le score, sont une classe de modèles génératifs à variables latentes dans Machine learning. Ils se composent de deux éléments principaux : un processus de diffusion avant qui ajoute progressivement du bruit aux données, et un processus de diffusion inverse qui apprend à débruiter. L'objectif est d'apprendre un processus de diffusion pour un ensemble de données donné afin que de nouveaux éléments puissent être générés, distribués de manière similaire aux données d'origine. Un modèle de diffusion entraîné peut être échantillonné de différentes manières, avec des compromis variés en termes d'efficacité et de qualité.
Les modèles de diffusion ont été introduits en 2015, s'appuyant sur des techniques issues de la thermodynamique hors équilibre. L'idée centrale est de modéliser la distribution des données comme un « nuage » dans un espace de haute dimension. En ajoutant du bruit de manière répétée, ce nuage se diffuse vers l'extérieur jusqu'à devenir presque indistinguable d'une distribution gaussienne. Un modèle entraîné à inverser approximativement cette diffusion peut alors générer de nouveaux échantillons à partir de la distribution d'origine, en partant d'un bruit aléatoire et en itérant le débruitage.
Formalismes et entraînement
Il existe plusieurs formalismes équivalents pour les modèles de diffusion, notamment les chaînes de Markov, les modèles de débruitage par diffusion probabiliste (DDPM), les réseaux de score conditionnés par le bruit et les équations différentielles stochastiques. Ils sont généralement entraînés à l'aide de l'inférence variationnelle. Le modèle responsable du débruitage est appelé le « backbone », qui peut être n'importe quelle architecture, mais est couramment un U-Net ou un Transformer (architecture). L'article sur les DDPM de 2020 a amélioré les méthodes antérieures en appliquant l'inférence variationnelle au processus de diffusion.
Applications en vision par ordinateur
En 2024, les modèles de diffusion sont principalement utilisés pour des tâches de vision par ordinateur, notamment le débruitage d'images, l'inpainting, la super-résolution, la génération d'images et la génération de vidéos. Ces tâches impliquent généralement l'entraînement d'un réseau de neurones à débruiter séquentiellement des images floutées par du bruit gaussien. Après entraînement jusqu'à convergence, le modèle peut générer des images en partant d'un bruit aléatoire et en appliquant itérativement le réseau pour éliminer le bruit. Les générateurs d'images basés sur la diffusion ont connu un intérêt commercial considérable, avec des exemples notables comme Stable Diffusion et DALL-E. Ces systèmes combinent souvent les modèles de diffusion avec des encodeurs de texte et des modules d'attention croisée pour permettre une génération conditionnée par le texte.
Autres domaines
Au-delà de la vision par ordinateur, les modèles de diffusion ont trouvé des applications dans le traitement du langage naturel, comme la génération de texte et le résumé, ainsi que dans la génération audio et l'apprentissage par renforcement. Leur polyvalence en fait un domaine de recherche clé dans Generative AI.
Relation avec d'autres modèles génératifs
Les modèles de diffusion font partie d'un paysage plus large de modèles génératifs, qui inclut également les Large language models et d'autres approches. Alors que les grands modèles de langage reposent souvent sur des architectures autorégressives ou basées sur des transformeurs, les modèles de diffusion offrent un paradigme alternatif particulièrement efficace pour les données continues comme les images et l'audio. Le choix du backbone, qu'il s'agisse d'un U-Net ou d'un transformeur, permet aux modèles de diffusion de tirer parti des avancées en recherche sur Deep learning et Neural network.
Orientations futures
La recherche continue d'améliorer l'efficacité et la qualité des modèles de diffusion, en explorant de nouvelles méthodes d'échantillonnage, des architectures de backbone et des applications. L'intégration des modèles de diffusion avec d'autres systèmes d'IA, tels que ceux développés par OpenAI, Google DeepMind et Anthropic, devrait stimuler davantage l'innovation dans Artificial intelligence.