Qu’est-ce qu’un modèle de diffusion ?

Auteurs

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Qu’est-ce qu’un modèle de diffusion ?

Les modèles de diffusion sont des modèles génératifs principalement utilisés pour la génération d’images et d’autres tâches de vision par ordinateur. Les réseaux neuronaux basés sur la diffusion sont entraînés par deep learning pour « diffuser » progressivement un bruit aléatoire dans les échantillons, puis inverser ce processus de diffusion pour générer des images de haute qualité.

Les modèles de diffusion font partie des architectures de réseaux neuronaux à l’avant-garde de l’IA générative, notamment représentés par les modèles text-to-image populaires comme Stable Diffusion de Stability AI, DALL-E d’OpenAI (à l’instar de DALL-E-2), Midjourney et Imagen de Google. Ces modèles améliorent les performances et la stabilité d’autres architectures de machine learning utilisées pour la synthèse d’images, comme les auto-encodeurs variationnels (VAE), les réseaux antagonistes génératifs (GAN) et les modèles autorégressifs tels que PixelCNN.

L’intuition derrière les modèles de diffusion s’inspire de la physique, traitant les pixels comme les molécules d’une goutte d’encre qui s’étend dans un verre d’eau au fil du temps. Tout comme le mouvement aléatoire des molécules d’encre conduit finalement à leur dispersion uniforme dans le verre, l’introduction aléatoire de bruit dans une image finit par générer ce qui ressemble à une statique télévisée. En modélisant ce processus de diffusion, puis en apprenant à l’inverser, un modèle d’intelligence artificielle peut générer de nouvelles images en « débruitant » simplement des échantillons de bruit aléatoire.

Les modèles de diffusion sont principalement associés à la génération d’images et à d’autres tâches de traitement d’images telles que l’inpainting et la super-résolution. Mais leurs applications s’étendent aussi à d’autres domaines, notamment la génération audio, la conception de médicaments et la génération de molécules. Pour plus de simplicité, cet article se concentrera sur la génération d’images.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Histoire et théorie des modèles de diffusion

Pour expliquer et comprendre les modèles de diffusion, il est important de commencer par noter que le processus génératif désormais appelé « diffusion » a été découvert indépendamment à deux reprises grâce à deux approches mathématiques distinctes. En bref, les modèles de diffusion, qui sont conceptuellement simples mais mathématiquement complexes, peuvent « fonctionner » de multiples façons.

Les développements qui ont suivi ont emprunté des idées aux deux approches, combinant les avantages de chacune pour finalement produire les modèles de diffusion modernes qui prévalent actuellement dans le domaine de la génération d’images. Un bref rappel de l’histoire et de la théorie des modèles de diffusion permet donc de comprendre non seulement comment fonctionnent les modèles de diffusion, mais aussi pourquoi ils fonctionnent.

Modèles d’apprentissage profond inspirés de la thermodynamique

Les modèles de diffusion inspirés de la physique ont été introduits pour la première fois en 2015 par Jascha Sohl-Dickstein et al dans l’étude « Deep Unsupervised Learning using Nonequilibrium Thermodynamics ». L’algorithme applique la dynamique de Langevin, une méthode permettant de modéliser le mouvement des systèmes moléculaires, pour soutenir le principe de base des modèles de diffusion : transformer les données en bruit, pour pouvoir ensuite transformer le bruit en données.

Remarque sur les fonctions de densité de probabilité

Comme la plupart des modèles génératifs, tels que les auto-encodeurs variationnels (VAE), l’algorithme de Sohl-Dickstein a modélisé la densité de probabilité : la probabilité relative qu’une variable échantillonnée aléatoirement, x, tombe dans une fourchette de valeurs particulière. En d’autres termes, la modélisation d’une fonction de densité de probabilité pour un ensemble de données d’entraînement permet ensuite à un algorithme de générer des échantillons très susceptibles de correspondre à la distribution des données d’entraînement. Lorsqu’il génère une nouvelle image, le modèle suppose une probabilité élevée selon laquelle les valeurs de pixel soient distribuées de cette manière spécifique, en fonction de la distribution de probabilité qu’il a apprise à partir des tendances au sein des données d’entraînement.

D’un point de vue logique, les fonctions de densité de probabilité exigent que la somme de toutes les possibilités soit égale à 1. En d’autres termes, le pourcentage de chance de toutes les possibilités doit s’élever à exactement 100 %. En pratique, cela nécessite souvent une constante de normalisation : une valeur incorporée dans une fonction de probabilité qui réduit la probabilité totale à 1.

Le calcul d’une constante de normalisation qui fonctionne pour toutes les valeurs de variables possibles est souvent irréalisable : techniquement soluble, mais nécessitant un temps de calcul infini. Dans ce cas, les modèles basés sur la vraisemblance doivent être restreints à des architectures de modèles spécifiques ou développer des solutions de contournement astucieuses qui permettent d’obtenir une approximation de la constante de normalisation d’une manière réalisable.

Modèles génératifs basés sur des scores

Indépendamment des travaux de Sohl-Dickstein, Yang Software et Stefano Ermon ont développé un type de modèle à base d’énergie appelé réseau de scores conditionnels de bruit, présenté en 2019 dans leur article « Generative Modeling by Estimating Gradients of the Data Distribution ». Leur algorithme a modélisé le gradient (∇x) du logarithme (log) de la fonction de densité de probabilité p(x). Le gradient de la fonction de densité de probabilité logarithmique, écrit xlogp(x), est appelé score de Stein, ou plus simplement, la « fonction de score ».

Contrairement aux fonctions de densité de probabilité conventionnelles, les fonctions de score ne nécessitent pas de constante de normalisation, car elles ne modélisent pas directement la densité de probabilité (et n’ont donc pas à normaliser la probabilité totale à 1). À l’inverse, elles sont entraînées par la correspondance des scores : les paramètres du modèle d’apprentissage, θ, qui donnent un modèle pθ(x) dont le score, en d’autres termes, son gradient, correspond à celui de la distribution de données q(x) des données d’entraînement.

Un autre avantage de ces modèles génératifs basés sur le score (SGM) est que, contrairement aux modèles basés sur des probabilités, ils n’imposent pas de nombreuses restrictions sur l’architecture du modèle de pθ(x).

En explorant les moyens d’améliorer les performances de leur modèle, Song et Ermon sont parvenus, par pure coïncidence, aux mêmes techniques que celles employées par Sohl-Dickstein et al. Selon leur article, « la perturbation des données avec un bruit gaussien aléatoire rend la distribution des données plus propice à la modélisation générative basée sur le score ». Leur modèle, conçu à l’aide de l’architecture U-Net initialement développée pour la segmentation d’image, applique également la dynamique de Langevin pour générer des échantillons.

Modèles probabilistes de débruitage par diffusion (DDPM)

En 2020, Ho et al ont proposé, dans leur article précurseur « Denoising diffusion probabilistic models » (DDPM), d’utiliser l’approche de Sohl-Dickstein pour générer des images de haute qualité en utilisant l’inférence variationnelle. Leur article a montré que l’optimisation de la limite inférieure de preuve (ELBO), une façon de réécrire les problèmes d’optimisation basés sur les probabilités pour qu’ils soient traitables, pour entraîner des modèles de diffusion est essentiellement équivalente à la combinaison d’objectifs de correspondance des scores utilisés pour entraîner les SGM.

En mettant en œuvre l’approche de Sohl-Dickstein à l’aide de la correspondance des scores, Ho et al ont démontré que les modèles probabilistes de diffusion peuvent atteindre une qualité d’image compétitive avec les GAN, qui étaient à l’époque à la pointe de la technologie. Ces liens ont été davantage explorés par Song, Ermon, Sohl-Dickstein et d’autres, y compris Diederik P. Kingma, créateur du VAE, dans l’article « Score-Based Generative Modeling through Stochastic Differential Equations » paru en 2021.

Plus tard cette même année, Dhariwal et Nichol, s’inspirant de l’article mentionné précédemment, ont publié « Diffusion Models Beat GANs on Image Synthesis », établissant fermement les modèles de diffusion comme le nouveau modèle de pointe.

Les DDPM, à l’inverse des SGM, restent généralement le mode privilégié des modèles de diffusion, bien que des améliorations aient été apportées grâce à des recherches ultérieures. Par exemple, l’article influent « High-Resolution Image Synthesis with Latent Diffusion Models » paru en 2022 a fait état d’importantes avancées en termes d’efficacité et de rentabilité.

AI Academy

L’essor de l’IA générative pour les entreprises

Découvrez l’essor historique de l’IA générative et ce que cela signifie pour les entreprises.

Comment fonctionnent les modèles de diffusion ?

Côté entraînement, les modèles de diffusion diffusent progressivement un point de données avec un bruit aléatoire, étape par étape, jusqu’à ce qu’il soit détruit, puis apprennent à inverser ce processus de diffusion et à reconstruire la distribution des données d’origine.

Un modèle de diffusion entraîné peut ensuite générer de nouveaux points de données qui ressemblent aux données d’entraînement en débruitant simplement un échantillon initial aléatoire de bruit pur. Conceptuellement, le processus est similaire à un auto-encodeur débruiteur dans lequel les images bruitées agissent comme des variables latentes.

Transformer directement un bruit aléatoire en une image cohérente est extrêmement difficile et complexe, mais transformer une image bruitée en une image légèrement moins bruitée est relativement simple. Les modèles de diffusion formulent donc le processus de diffusion inverse comme une transformation incrémentielle, étape par étape, d’une distribution simple (comme un bruit gaussien) vers une distribution plus complexe (comme une image cohérente).

Le processus d’entraînement puis de déploiement d’une diffusion peut être décomposé en trois grandes étapes :

  • Le processus de diffusion vers l’avant, dans lequel une image provenant du jeu de données d’entraînement est transformée en bruit pur, généralement une distribution gaussienne.

  • Le processus de diffusion inverse, dans lequel le modèle apprend l’inverse de chaque étape précédente du processus de diffusion vers l’avant initial.

  • La génération d’images, où le modèle entraîné échantillonne une distribution de bruit aléatoire et la transforme en une sortie de haute qualité grâce au processus de diffusion inverse appris pour débruiter un échantillon aléatoire de bruit gaussien.

Processus de diffusion vers l’avant

Le processus de diffusion vers l’avant consiste à transformer les données propres du jeu de données d’entraînement, telles qu’une image ou un échantillon audio, en bruit pur. La méthode la plus courante consiste à injecter de manière itérative un bruit gaussien jusqu’à ce que l’ensemble de la distribution des données soit gaussien.

D’un point de vue mathématique, ce processus étape par étape est formulé comme une chaîne de Markov : un type de processus stochastique (un processus aléatoire qui suit certaines règles probabilistes) pour modéliser des données de séries temporelles séquentielles. Dans une chaîne de Markov, le résultat à chaque intervalle temporel est influencé uniquement par l’intervalle temporel qui le précède. En d’autres termes, xt, l’état de la chaîne de Markov x à l’intervalle t, est directement influencé uniquement par xt-1. La fonction mathématique définissant la transition depuis n’importe quel xt vers xt+1 est appelée noyau de transition.

À chaque intervalle temporel t, une petite quantité de bruit gaussien est ajoutée à xt-1. L’image est ensuite redimensionnée pour maintenir une taille d’image constante malgré l’injection continue de pixels aléatoires. Dans cette formulation, x0 est le point de données propre d’origine ; x1 est le point de données après le premier intervalle temporel, auquel on a ajouté une petite quantité de bruit gaussien ; xT est l’état final du processus de diffusion vers l’avant. Si T est suffisamment grand, c’est-à-dire après suffisamment d’intervalles, xT convergera vers un bruit gaussien pur.

Nous définissons chaque intervalle vers l’avant comme q(xt|xt-1):prédire l’état de la distribution de données q (xt), étant donné q(xt-1). Dans un DDPM standard, ce processus vers l’avant n’implique aucun machine learning. Le résultat final de la chaîne de Markov sera toujours une distribution gaussienne. L’optimisation n’est donc pas nécessaire.

Ajout de bruit

Dans un DDPM, le bruit gaussien ajouté à chaque intervalle de la chaîne de Markov n’est ni constant ni arbitraire. Au lieu de cela, le bruit est dérivé de la structure de l’image d’origine et la vitesse à laquelle il est ajouté augmente régulièrement avec chaque intervalle consécutif.

La variation de la quantité de bruit améliore à la fois la stabilité de l’entraînement du modèle et la performance générale en équilibrant deux priorités concurrentes. Comme l’a noté Yang Song dans son article de blog sur les modèles génératifs basés sur le score :

  • Un bruit plus important améliore la capacité du modèle à apprendre avec précision dans les zones « à faible densité » des données d’entraînement – les catégories et concepts moins représentés dans les données d’entraînement – en remplissant ces régions avec des données bruyantes. Cependant, ce procédé comporte un risque d’altération des données, réduisant leur précision globale.

  • Un bruit plus faible entraîne une corruption de la distribution de données d’origine moindre, mais génère de mauvaises performances sur les régions à faible densité.

  • Par conséquent, pour obtenir le meilleur des deux mondes, les modèles de diffusion utilisent plusieurs échelles de bruit en entraînement.

N’oubliez pas que toute distribution gaussienne (normale) possède à la fois une moyenne, μ, et une variance, Σ. Un autre paramètre, β, sert de facteur d’échelle pour la moyenne et la variance du bruit gaussien dans le noyau de transition qui définit chaque intervalle de la chaîne de Markov. La modification de la valeur β dans un intervalle donné entraîne une modification du bruit gaussien ajouté à cet intervalle. β1 est la variance à l’intervalle de temps 1 ; βt est la variance à l’intervalle de temps t, et ainsi de suite, jusqu’à βT.

La valeur du taux de β à chaque intervalle est, à son tour, déterminée par la variance planifiée.

Variance planifiée

À chaque intervalle t, l’image est légèrement décalée par rapport à son itération à l’intervalle précédent (selon la moyenne) et du bruit est ajouté à cette version décalée de l’image (selon la variance). L’ampleur de chaque décalage et de chaque ajout de bruit dépend de la valeur de βt : à mesure que βt augmente conformément à la variance planifiée, le taux de diffusion augmente de manière constante. β est toujours une valeur comprise entre 0 et 1 : ainsi, 0 < β11 < β2 < ... < βT < 1.

Le choix d’une variance planifiée spécifique pour β est un élément important à prendre en compte. Elle est généralement définie à la main sous la forme d’un hyperparamètre, soit fixe sur une valeur constante, soit en procédant selon une formule avec une valeur de départ et une valeur finale prédéterminées pour β. Dans l’article DDPM, Ho et al utilisent une planification linéaire comportant 1 000 intervalles où β1 = 10-4 et βT = 0,02. Des recherches ultérieures ont constaté des améliorations en termes de performances et d’efficacité avec d’autres types de planifications, tels qu’une planification cosinus[1], ou en faisant de la planification elle-même un autre paramètre appris[2].

La valeur de βt détermine à la fois la moyenne et la variance du bruit gaussien ajouté à l’intervalle t.

  • La moyenne μ du bruit gaussien ajouté à l’intervalle temporel t, μt, est calculée comme suit : μt=(1-βt)xt-1. En langage simple, la moyenne du bruit ajouté à chaque intervalle t est en réalité une version à grande échelle de l’image de l’intervalle précédent, xt-1. La taille de βt détermine dans quelle mesure cette moyenne s’écarte de l’intervalle précédent : lorsque la valeur βt est très petite, ce décalage est minime, car (1-βt)(1-0)1et le bruit ajouté ressemblera beaucoup à l’image d’origine. À mesure que la valeur de βt augmente, ce décalage devient plus important.

  • La variance du bruit gaussien ajouté à l’intervalle de temps t est calculée comme suit : Σt=βtI, où I est la matrice d’identité. Un βt plus grand produit plus de bruit. Un très petit βt produit un bruit négligeable.

En résumé, à chaque intervalle t, l’image est légèrement décalée par rapport à son itération à l’intervalle précédent (selon la moyenne) et du bruit est ajouté à cette version décalée de l’image (selon la variance). L’ampleur de chaque décalage et de chaque ajout de bruit dépend de la valeur de βt : à mesure que βt augmente conformément à la variance planifiée, le taux de diffusion augmente de manière constante.

Étant donné que l’ajout de bruit gaussien commence progressivement et que le bruit lui-même est toujours dérivé de la structure essentielle de l’image d’origine à l’étape précédente, les qualités essentielles de l’image d’origine sont conservées pendant de nombreuses étapes. Le modèle peut ainsi mieux apprendre les schémas et la structure de la distribution des données d’origine pendant le processus de diffusion inverse.

L’astuce du reparamétrage

L’un des inconvénients de ce processus étape par étape est qu’il est fastidieux et demande énormément de calculs : pour chaque image d’un jeu de données d’entraînement pouvant contenir des milliers ou des millions d’images, le processus vers l’avant nécessiterait des dizaines ou des centaines d’intervalles individuels.

Au lieu d’ajouter du bruit de manière répétée, la formule du processus vers l’avant peut être réécrite de manière intelligente en reparamétrant l’expression de 1βt comme nouveau paramètre αt. Grâce à une « propriété agréable » des chaînes de Markov, ce nouveau paramètre peut être étendu à un paramètre supplémentaire, α¯t, dérivé de la multiplication itérative de αt à chaque étape de la chaîne jusqu’à ce point. Ce paramètre supplémentaire reflète essentiellement le rapport signal sur bruit (SNR) de xt : en d’autres termes, la quantité de l’image d’origine restante à l’intervalle temporel t.

Par exemple, sur x1, une petite quantité de bruit a été ajoutée une fois. La valeur de α¯t est proche de 1, ce qui signifie que l’image conserve la majeure partie de son signal « d’origine ». Sur un intervalle plus éloigné, par exemple x50, du bruit a été ajouté à de nombreuses reprises. Étant donné αt=1βt, la valeur de αt est toujours inférieure à 1. Étant donné α¯50=α1α2...α49α50, la valeur de α¯t à l’intervalle 50 sera beaucoup plus proche de 0, ce qui signifie qu’une plus grande partie de l’image d’origine a été remplacée par du bruit. À l’intervalle temporel T, xT est entièrement composé de bruit et la valeur de α¯t approche 0.

Bien que la dérivation complexe de l’équation dépasse le cadre de cet article, il existe deux points à retenir pour comprendre l’importance de cette astuce de reparamétrage :

  • L’état de x à n’importe quel intervalle temporel t peut désormais être défini comme suit : xt=α¯tx0+1-α¯tε0, où ε0 est le bruit ajouté lors du premier intervalle. Comme la valeur de α¯t diminue à chaque étape, l’influence de x0 diminue et l’influence de ε0 augmente.

  • Comme α¯t est dérivé de 1βt et la valeur βt est déterminée par la variance planifiée, réécrire la formule de cette manière permet le calcul direct de xt à n’importe quel intervalle, sans avoir à suivre l’ensemble du processus étape par étape.

Processus de diffusion inverse

Dans les modèles de diffusion, le processus de diffusion inverse est l’endroit où le machine learning à proprement dit a lieu. Pour apprendre à effectuer l’inverse des étapes de bruitage du processus vers l’avant, le modèle apprend essentiellement à débruiter le bruit gaussien pur dans une image propre. Une fois le réseau neuronal entraîné, cette capacité peut être utilisée pour générer de nouvelles images à partir d’un bruit gaussien grâce à la diffusion inverse étape par étape.

En théorie, la tâche du modèle peut être considérée comme une simple inversion de la diffusion vers l’avant. Le processus vers l’avant, en commençant par le point de données x0 échantillonné à partir de la distribution de données réelles q(x) du jeu de données entraîné, est défini comme suit : q(xt|xt-1): étant donné q(xt-1), calcule q(xt). Son inverse, la diffusion inverse, serait défini comme suit : q(xt-1|xt). Mais en pratique, le calcul q(xt-1|xt)est irréalisable.

Au lieu de cela, la tâche d’entraînement est formulée selon deux solutions :

  • Comme indiqué précédemment, q(x) est approximé avec un réseau neuronal pθ(x) qui constitue le modèle de diffusion actuel lui-même. L’objectif de l’entraînement est d’apprendre les paramètres de modèle θ qui font correspondre la sortie de pθ(xt-1|xt) à la sortie de q(xt-1|xt ).

  • Ce modèle, pθ(x), ne permet pas de prédire directement xt-1, ni même le bruit spécifique ajouté entre xt-1 et xt. Au lieu de cela, il prédit l’ensemble du bruit présent dans xt, puis élimine une fraction de ce bruit (en fonction de l’état de la variance planifiée à cette étape) pour obtenir xt-1. Le premier article consacré au DDPM a simplifié encore ce processus en estimant uniquement la moyenne du bruit gaussien, bien que les modèles ultérieurs prédisent souvent aussi la variance.

Rappelons à nouveau que la moyenne du bruit gaussien ajouté dans la diffusion vers l’avant n’est pas arbitraire : bien qu’elle soit en effet aléatoire, la structure du bruit est initialement dérivée de la structure de l’image d’origine x0. Par conséquent, en apprenant à prédire avec précision le bruit grâce à la diffusion inverse, le modèle apprend non seulement à débruiter l’image, mais il apprend également implicitement la structure de x0.

Fonction de perte pour l’entraînement du modèle de diffusion

L’objectif d’entraînement spécifique utilisé pour les modèles de diffusion est étroitement lié au terme de perte de reconstruction, utilisé pour optimiser les auto-encodeurs variationnels (VAE). Comme les VAE, les modèles de diffusion sont optimisés en maximisant la limite inférieure variationnelle (VLB), également appelée limite inférieure de preuve (ELBO), d’une combinaison de plusieurs termes de perte.

La maximisation de la VLB est utilisée dans l’inférence variationnelle pour approximer la fonction de score insoluble. xlog(p(x)): au lieu de minimiser directement l’erreur, on reformule l’équation en maximisant l’estimation minimale (ou la limite inférieure) de la précision des prédictions du modèle.

Les termes de perte utilisés reflètent chacun la divergence de Kullback-Leibler (ou « divergence KL », généralement notée DKL) entre les résultats des intervalles de diffusion vers l’avant de q et les intervalles inverses prédits par pθ. La divergence KL permet de mesurer la différence entre deux distributions de probabilités, par exemple, entre la distribution des valeurs de pixels dans une image et la distribution des valeurs de pixels dans une autre.

Plus précisément, la fonction de perte pour les modèles de diffusion combine trois termes de perte : LT, Lt et L0.

  •  LT reflète la divergence KL entre q(xT|x0)et pθ(xT). En d’autres termes, la différence entre le résultat final entièrement bruité du processus vers l’avant q et le point de départ du processus inverse. Ce terme peut généralement être ignoré, car xT est gaussien et q n’a pas de paramètres apprenables.

  • Lt reflète la divergence KL entre q(xt-1|xt,x0)et  pθ(xt-1|xt) à chaque étape. En d’autres termes, la précision de chacune des prédictions de débruitage de pθ pendant la diffusion inverse par rapport à chaque étape de bruitage correspondante pendant le processus de diffusion vers l’avant de l’image originale, x0.

  • L0 mesure -logpθ(x0|x1). En d’autres termes, L0 reflète le logarithme négatif de la vraisemblance de la prédiction du modèle de l’image entièrement débruitée x0. Le gradient de L0 est le terme de correspondance de score décrit plus haut dans l’article. Le terme de perte est négatif, de sorte que la minimisation de la fonction de perte équivaut à maximiser la vraisemblance des prédictions du modèle.

Bien que sa dérivation mathématique complexe dépasse le cadre de cet article, la VLB peut être simplifiée jusqu’à l’erreur quadratique moyenne (MSE) entre le bruit prédit par le modèle εθ et le véritable bruit ajouté lors du processus vers l’avant, ε, à chaque intervalle. Cela explique pourquoi la sortie du modèle est une prédiction du bruit à chaque intervalle, plutôt que l’image débruitée elle-même.

En calculant le gradient de la fonction de perte pendant la rétropropagation, puis en ajustant les pondérations du modèle pour minimiser la fonction de perte via la descente de gradient, les prédictions du modèle sur l’ensemble du jeu de données d’entraînement seront plus précises.

Génération d’images avec des modèles de diffusion

Une fois que le modèle de diffusion a appris à estimer avec précision le bruit à soustraire à chaque intervalle, il peut servir à générer de nouvelles images en échantillonnant une image aléatoire avec du bruit xT à partir de la distribution de données qu’il a apprise et en la débruitant pendant les intervalles T. Comme pour les VAE, l’introduction d’un élément légèrement aléatoire dans le processus d’échantillonnage permet aux modèles de diffusion de produire de nouvelles images qui ressemblent aux données d’entraînement, plutôt que de reproduire directement les images d’entraînement.

Contrairement au processus d’entraînement par diffusion inverse, le nombre d’intervalles au sein du processus de génération ne doit pas nécessairement correspondre au nombre d’intervalles utilisés dans le processus vers l’avant. Cela est rendu possible grâce au modèle, entraîné à prédire l’ensemble du bruit à chaque étape de l’image, plutôt que la quantité spécifique de bruit à supprimer sur cet intervalle.

Le nombre réduit d’intervalles implique une plus grande vitesse et des demandes de calcul réduites, avec un compromis potentiel sur les plus petits détails ; les intervalles supplémentaires améliorent généralement la précision, mais au prix d’une réduction de la vitesse et d’une augmentation des coûts de calcul.

Modèles de diffusion guidée

Bien qu’un modèle de diffusion standard puisse produire de manière aléatoire des variations de haute qualité des images d’entraînement, la plupart des utilisations pratiques d’un modèle de génération d’images nécessitent un certain contrôle sur les résultats du modèle. Les modèles de diffusion guidée permettent à l’utilisateur de conditionner les images générées à l’aide de guides spécifiques.

La forme la plus courante de modèle de diffusion guidé est un modèle de diffusion text-to-image grâce auquel les utilisateurs peuvent conditionner la sortie à l’aide d’un prompt textuel, comme « une girafe portant un chapeau ». Cela implique d’associer un modèle de diffusion à un grand modèle de langage (LLM) distinct pour interpréter le prompt textuel, introduit pour la première fois par Google dans l’article « Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding ».

Les modèles de diffusion Standard visent à prédire la fonction de score inconditionnelle ∇xlogp(x) : en d’autres termes, le gradient du logarithme de la probabilité que l’image générée par le modèle p corresponde aux données d’apprentissage x. Les modèles de diffusion guidée introduisent une catégorie visuelle spécifique, y, par exemple « girafe », et prédisent la fonction de score conditionnelle ∇xlogp(x|y) : en d’autres termes, la probabilité de l’image x, étant donné qu’elle doit correspondre à la catégorie y.

Les méthodes de diffusion guidée peuvent être classées en deux catégories :

  • La diffusion guidée par un classificateur nécessite un modèle de classification distinct pour apprendre les plongements vectoriels pour chaque catégorie y pour laquelle le modèle de diffusion sera entraîné à produire des visuels. Ce plongement vectoriel est ensuite utilisé pour conditionner la sortie à chaque intervalle t. Le modèle de diffusion ne nécessite pas d’entraînement supplémentaire, mais pourra uniquement conditionner les sorties sur les catégories spécifiques apprises par le classificateur.

  • Le guidage sans classificateur ne nécessite pas de modèle distinct, mais un modèle de diffusion en deux étapes à entraîner spécifiquement pour le guidage conditionnel. Cela implique généralement un modèle à deux étapes : à la première étape, un algorithme de plongement comme CLIP génère un plongement y pour le prompt. Lors de la deuxième étape, un modèle de diffusion utilise ce plongement pour conditionner sa sortie. Malgré les frais d’entraînement supplémentaires, cette méthode présente l’avantage de permettre un guidage zero-shot pour les catégories d’images invisibles.

Modèles de diffusion latente

Malgré leur capacité de pointe à générer des images de haute qualité, les modèles de diffusion classique présentent deux inconvénients importants : ils sont lents et coûteux en termes de calcul. Ces inconvénients ont été considérablement atténués par l’avènement des modèles de diffusion latente, à commencer par Stable Diffusion.

Le principe des modèles de diffusion latente est simple, car il s’appuie une fois de plus sur la connexion aux auto-encodeurs variationnels (VAE). Plutôt que d’appliquer le processus de diffusion dans un espace pixel de grande dimension, c’est-à-dire directement aux images d’entrée, le modèle pourrait d’abord projeter l’entrée dans l’espace latent de moindre dimension, puis y appliquer le processus de diffusion.

Essentiellement, les modèles de diffusion latente utilisent une architecture d’auto-encodeur de type VAE pour entraîner un encodeur à produire des représentations latentes z des données d’entrée x. Ces représentations latentes sont ensuite utilisées comme entrée d’un modèle de diffusion standard, utilisant généralement l’architecture U-Net. Étant donné que le modèle de diffusion fonctionne avec des données de dimension inférieure, sa sortie est ensuite transmise à un réseau de décodeurs pour être suréchantillonnée jusqu’à la taille d’image finale souhaitée.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Services d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct
Notes de bas de page

REMARQUE : Tous les liens sont externes au site ibm.com

[1] “Improved Denoising Diffusion Probabilistic Models,” arXiv, 18 février 2021
[2] “Variational Diffusion Models,” arXiv, dernière modification le 14 avril 2023