Glossaire

Modèles de diffusion

Découvre comment les modèles de diffusion révolutionnent l'IA générative en créant des images, des vidéos et des données réalistes avec un niveau de détail et de stabilité inégalé.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Les modèles de diffusion représentent une classe puissante de modèles génératifs au sein de l'apprentissage profond (DL) qui ont pris beaucoup d'importance, notamment dans la création d'images, d'audio et d'autres types de données complexes de haute qualité. Inspirés par des concepts de la thermodynamique, ces modèles fonctionnent en ajoutant systématiquement du bruit aux données, puis en apprenant à inverser ce processus pour générer de nouveaux échantillons de données à partir de bruit pur. Leur capacité à produire des résultats variés et réalistes en a fait une pierre angulaire de l'intelligence artificielle (IA) moderne.

Comment fonctionnent les modèles de diffusion

L'idée centrale des modèles de diffusion implique deux processus : un processus avant (diffusion) et un processus arrière (débruitage).

  1. Processus de progression : Cette étape prend des données réelles (comme une image provenant des données d'entraînement) et ajoute progressivement de petites quantités de bruit aléatoire sur de nombreuses étapes. Finalement, après un nombre suffisant d'étapes, l'image originale devient indiscernable du bruit pur (comme les parasites sur un vieil écran de télévision). Ce processus est fixe et n'implique pas d'apprentissage.
  2. Processus inverse : C'est ici que l'apprentissage se produit. Le modèle, généralement une architecture de réseau neuronal comme un U-Net, est entraîné à annuler l'ajout de bruit étape par étape. Partant d'un bruit aléatoire, le modèle élimine de façon itérative le bruit prédit, affinant progressivement l'échantillon jusqu'à ce qu'il ressemble aux données de la distribution d'entraînement d'origine. Ce processus de débruitage appris permet au modèle de générer des données entièrement nouvelles. Des recherches clés telles que les modèles probabilistes de débruitage par diffusion (DDPM) ont jeté les bases des implémentations modernes.

L'entraînement consiste à apprendre au modèle à prédire avec précision le bruit qui a été ajouté à chaque étape du processus de progression. En apprenant cela, le modèle apprend implicitement la structure sous-jacente des données.

Concepts clés et conditionnement

Plusieurs concepts sont au cœur des modèles de diffusion :

  • Pas de temps : L'ajout et l'élimination progressifs du bruit se produisent sur une série de pas de temps discrets. Le modèle a souvent besoin de savoir quel pas de temps il est en train de traiter.
  • Programme de bruit : Cela définit la quantité de bruit ajoutée à chaque étape du processus d'avancement. Des programmes différents peuvent avoir un impact sur la qualité de la formation et de la génération.
  • Conditionnement : Les modèles de diffusion peuvent être guidés pour générer des résultats spécifiques. Par exemple, dans la génération texte-image, le modèle est conditionné sur des descriptions de texte (invites) pour créer des images correspondantes. Cela implique souvent des mécanismes tels que l'attention croisée.

Modèles de diffusion et autres modèles génératifs

Les modèles de diffusion diffèrent considérablement d'autres approches génératives populaires telles que les réseaux adverbiaux génératifs (GAN):

  • Stabilité de la formation : Les modèles de diffusion offrent généralement une formation plus stable par rapport aux GAN, qui impliquent un jeu contradictoire complexe entre un générateur et un discriminateur qui peut parfois ne pas converger.
  • Qualité et diversité des échantillons : Les modèles de diffusion excellent souvent dans la production d'échantillons très fidèles et diversifiés, surpassant parfois les GAN dans certains benchmarks, mais souvent au prix d'une latence d'inférence plus élevée.
  • Vitesse d'inférence : Traditionnellement, la génération d'un échantillon avec un modèle de diffusion nécessite de nombreuses étapes de débruitage, ce qui rend l'inférence plus lente que les GAN. Cependant, la recherche de techniques d'échantillonnage plus rapides comble rapidement cet écart. Des techniques telles que la distillation des connaissances sont également à l'étude.

Applications dans le monde réel

Les modèles de diffusion stimulent l'innovation dans divers domaines :

  • Génération d'images haute fidélité : Des modèles comme Stable Diffusion, Midjourney et Google's Imagen utilisent des techniques de diffusion pour créer des images étonnamment réalistes et artistiques à partir d'invites textuelles.
  • Édition d'images et peinture : Ils peuvent remplir intelligemment les parties manquantes des images (inpainting) ou modifier des images existantes sur la base d'instructions (par exemple, changer les styles, ajouter des objets), ce qui permet d'utiliser des outils créatifs puissants comme Adobe Firefly.
  • Synthèse audio : Les modèles de diffusion sont utilisés pour générer des discours, de la musique et des effets sonores réalistes, comme le montrent des projets tels que AudioLDM.
  • Découverte scientifique : Des applications apparaissent dans des domaines tels que la découverte de médicaments pour générer de nouvelles structures moléculaires et en physique pour simuler des systèmes complexes.
  • Augmentation des données : La génération de données synthétiques via des modèles de diffusion peut compléter les données d'entraînement réelles pour des tâches telles que la détection d'objets ou la segmentation d'images, améliorant potentiellement la robustesse des modèles comme... Ultralytics YOLO.

Outils et développement

Le développement et l'utilisation de modèles de diffusion font souvent appel à des outils tels que PyTorch et TensorFlow. Les bibliothèques telles que la bibliothèqueHugging Face Diffusers fournissent des modèles pré-entraînés et des outils pour simplifier le travail avec les modèles de diffusion. Des plateformes comme Ultralytics HUB rationalisent le flux de travail plus large de la vision par ordinateur, notamment la gestion des ensembles de données et le déploiement des modèles, ce qui peut compléter les flux de travail génératifs.

Tout lire