Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Modèles de diffusion

Découvrez 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 des détails et une stabilité inégalés.

Les modèles de diffusion sont une classe d'algorithmes algorithmes d'IA générative qui apprennent à créer de nouveaux nouveaux échantillons de données en inversant un processus graduel d'ajout de bruit. Inspirés par les principes de la thermodynamique thermodynamique de non-équilibre, ces modèles se sont imposés comme la technologie de pointe pour générer des données de haute fidélité. technologie de pointe pour générer des images, des sons et des vidéos de haute fidélité. Contrairement aux méthodes précédentes qui qui tentent de produire un résultat complexe en une seule étape, les modèles de diffusion affinent itérativement la statique aléatoire en un contenu cohérent, ce qui permet un contrôle sans précédent des détails. cohérent, ce qui permet un contrôle sans précédent des détails et de la structure sémantique dans les tâches de vision par ordinateur. dans les tâches de vision par ordinateur.

Le mécanisme de diffusion

Le fonctionnement des modèles de diffusion peut être décomposé en deux phases distinctes : le processus aller et le processus retour. inverse.

  1. Processus en aval (diffusion) : Cette phase consiste à détruire systématiquement la structure des données. À partir d'une image claire tirée des données d'apprentissage, le modèle ajoute de petites quantités de bruit gaussien sur une période de temps donnée, le modèle ajoute de petites quantités de bruit gaussien sur une série de pas de temps. Finalement, les données se dégradent en un bruit aléatoire pur et non structuré. Ce processus est généralement fixe et suit une règle de chaîne de Markov.
  2. Processus inverse (débruitage) : Cette phase constitue le cœur de la tâche d'apprentissage automatique. de l 'apprentissage automatique réside dans cette phase. A réseau neuronal - souventune architecture U-Net - est est entraîné à prédire et à soustraire le bruit ajouté à chaque étape. En apprenant à inverser la corruption, le modèle peut partir d'un bruit pur et le "débruiter" progressivement pour obtenir une nouvelle image cohérente.

Des recherches telles que l'article fondateur sur les modèles probabilistes de diffusion de débruitage (DDPM) ont établi que le modèles probabilistes de débruitage par diffusion (DDPM) ont permis d'établir le cadre mathématique qui rend ce raffinement itératif stable et efficace.

Diffusion et GAN

Avant que les modèles de diffusion ne prennent de l'importance, réseaux adversoriels génératifs (GAN) étaient l'approche dominante pour la synthèse d'images. Bien que ces deux approches soient puissantes, elles diffèrent fondamentalement :

  • Stabilité de la formation : Les modèles de diffusion sont généralement plus faciles à entraîner. Les GANs reposent sur un jeu entre deux réseaux (le générateur et le discriminateur), ce qui conduit souvent à l'effondrement ou à l'instabilité du mode. La diffusion utilise une fonction de perte plus stable liée à la prédiction du bruit. à la prédiction du bruit.
  • Diversité des résultats : Les modèles de diffusion excellent dans la production d'échantillons diversifiés et très détaillés, alors que les GAN peuvent avoir du mal à couvrir la totalité de la distribution de l'ensemble de données. GAN peuvent avoir du mal à couvrir la totalité de la distribution de l'ensemble de données.
  • Vitesse d'inférence : Les GAN génèrent des images en un seul passage, ce qui les rend plus rapides. plus rapide. Les modèles de diffusion nécessitent plusieurs étapes pour affiner une image, ce qui entraîne une latence d'inférence plus élevée. latence d'inférence plus élevée. Cependant, les nouvelles techniques comme la diffusion latente (utilisée dans la diffusion stable) effectuent le processus dans un espace latent dans un espace latent compressé, ce qui permet d'augmenter significativement la vitesse sur les GPU grand public.

Applications concrètes

La polyvalence des modèles de diffusion s'étend à de nombreuses industries, alimentant des outils qui améliorent la créativité et les flux de travail d'ingénierie. les flux de travail de l'ingénierie.

  • Génération de données synthétiques : L'obtention de données réelles étiquetées peut s'avérer coûteuse ou sensible au respect de la vie privée. Les modèles de diffusion peuvent générer de grandes quantités de données réalistes afin d'entraîner des modèles modèles de détection d'objets robustes. Par exemple, un un ingénieur pourrait générer des milliers d'images synthétiques de défauts industriels rares pour entraîner des modèles de détection d'objets robustes. YOLO11 pour l'assurance qualité.
  • Création d'images haute fidélité : Des outils comme DALL-E 3, Midjourney et Adobe Firefly tirent parti de la diffusion pour transformer des textes en en œuvres d'art et en ressources de qualité professionnelle.
  • Imagerie médicale : Dans le domaine de la santé, les modèles de diffusion aident à la super-résolution, reconstruisant des images d'IRM ou de CT de haute qualité à partir d'entrées de résolution inférieure. IRM ou CT de haute qualité à partir d'entrées à faible résolution, ce qui contribue à une l 'analyse d'images médicales.
  • Synthèse vidéo et audio : Le concept s'étend au-delà des images statiques aux données temporelles. Des modèles comme Sora d'OpenAI et les outils de Runway ML appliquent les principes de diffusion pour générer des séquences vidéo cohérentes et des paysages sonores réalistes. des paysages sonores réalistes.

Mise en œuvre du processus prévisionnel

Pour comprendre comment les modèles de diffusion préparent les données pour la formation, il est utile de visualiser le processus de transmission. Le processus suivant PyTorch suivant montre comment un bruit gaussien est ajouté à un tenseur, simulant une seule étape de dégradation. est ajouté à un tensor, simulant une seule étape de dégradation.

import torch


def add_gaussian_noise(image_tensor, noise_level=0.1):
    """Simulates one step of the forward diffusion process by adding noise.

    Args:
        image_tensor (torch.Tensor): Input image tensor.
        noise_level (float): Standard deviation of the noise.
    """
    noise = torch.randn_like(image_tensor) * noise_level
    noisy_image = image_tensor + noise
    return noisy_image


# Create a dummy tensor representing a 640x640 image
clean_img = torch.zeros(1, 3, 640, 640)
noisy_output = add_gaussian_noise(clean_img, noise_level=0.2)

print(f"Output shape: {noisy_output.shape} | Noise added successfully.")

En inversant ce processus, le modèle apprend à récupérer le signal du bruit, ce qui permet de générer des visuels complexes qui peuvent être utilisés pour augmenter les ensembles de données. complexes qui peuvent être utilisés pour augmenter les ensembles de données pour des tâches en aval comme la segmentation ou la classification d'images.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant