Les générateurs d’images comme DALL·E, Midjourney ou Stable Diffusion ont bouleversé le paysage de la création visuelle. En quelques secondes, ils transforment une simple description textuelle en une image d’un réalisme saisissant. Vous pouvez demander une « carotte en train de faire du ski » et voir apparaître une illustration crédible de cette scène improbable.






Stable Diffusion pousse encore plus loin les capacités de génération en permettant la modification d’une image existante. À partir d’une photo de référence, il peut en produire des variations automatiques, ou encore remplir des parties manquantes grâce à une technique appelée inpainting. Cette méthode permet, par exemple, de reconstituer une image partiellement effacée tout en respectant sa cohérence visuelle.



Mais comment ces modèles d’intelligence artificielle parviennent-ils à de tels résultats ? Tout repose sur un principe fondamental : les Latent Diffusion Models (LDM). Derrière la simplicité apparente de la génération d’images se cache un processus mathématique rigoureux, inspiré de concepts issus de la physique et des statistiques.
Cet article vous propose d’explorer en détail le fonctionnement de ces modèles et de comprendre pourquoi ils ont révolutionné la génération d’images assistée par IA.
Introduction aux Modèle de Diffusion
L’histoire des modèles de diffusion remonte à 2015, avec la publication de l’article fondateur Deep Unsupervised Learning Using Nonequilibrium Thermodynamics. Ce travail s’inspire de la physique statistique hors équilibre, une branche qui étudie les systèmes dynamiques qui évoluent dans le temps sans atteindre un état stable.
Prenons un exemple simple : imaginez un fluide qui se réchauffe lentement. La distribution de ses particules ne cesse de changer sous l’effet de la chaleur, suivant un comportement complexe. Les auteurs de cet article ont appliqué ce concept à l’intelligence artificielle pour créer un modèle capable de transformer progressivement une image jusqu’à ce qu’elle devienne totalement méconnaissable – avant d’inverser ce processus pour en générer une nouvelle.
L’idée centrale est résumée ainsi :
L’idée essentielle consiste à « détruire » de façon progressive et systématique la structure présente dans une distribution de données, au moyen d’un processus de diffusion itératif. Ensuite, on apprend un processus de diffusion inversé qui restaure la structure dans les données, donnant ainsi naissance à un modèle génératif à la fois très flexible et facile à manipuler.
Deep Unsupervised Learning Using Nonequilibrium Thermodynamics (Jascha Sohl-Dickstein, Eric A. Weiss, Niru Maheswaranathan, Surya Ganguli)
Processus de diffusion avant
Ce processus de dégradation est appelé forward diffusion process. Il repose sur une idée simple : injecter du bruit étape par étape, jusqu’à ce que l’image initiale soit complètement détruite (voir figure 3). Concrètement, chaque pixel se voit progressivement remplacé par du bruit aléatoire, jusqu’à obtenir une image uniformément bruitée, sans aucune structure reconnaissable.





Ce phénomène peut être comparé à ce qui se passe lorsqu’on verse lentement une goutte d’encre dans un verre d’eau claire. Si on mélange, l’encre finit par se disperser uniformément dans l’eau, rendant impossible la reconstitution de la goutte initiale (voir vidéo ci-dessous). De la même manière, au fil des itérations, l’image d’origine se dilue dans un bruit aléatoire, perdant progressivement toute information visuelle.
Une fois l’image entièrement bruitée, la deuxième étape consiste à inverser le processus pour retrouver une image exploitable. C’est ici qu’intervient le backward diffusion process, où un réseau de neurones apprend à prédire et à supprimer progressivement le bruit injecté. L’originalité et la puissance de cette méthode résident dans sa nature probabiliste. Contrairement à d’autres approches qui reconstruisent une image de manière rigide, le modèle de diffusion inverse génère à chaque étape une nouvelle possibilité, en sélectionnant celle qui semble la plus vraisemblable selon sa connaissance des données.
Ainsi, plutôt que de simplement restaurer l’image originale, ce procédé permet de créer de nouvelles images totalement inédites, tout en conservant une cohérence visuelle impressionnante. C’est ce mécanisme qui est à la base de la génération d’images par IA telles que celles produites par DALL·E, Midjourney ou Stable Diffusion.
Ce modèle repose sur le principe des chaînes de Markov, où chaque état ne dépend que de l’état précédent. Cette propriété est essentielle au fonctionnement des Diffusion Models, car elle permet de transformer progressivement une distribution simple en une distribution bien plus complexe, correspondant aux images réelles.
L’idée est de partir d’une distribution initiale très simple, généralement une distribution gaussienne, car elle est facile à manipuler et à échantillonner. À l’inverse, la distribution des images réelles est bien plus difficile à modéliser directement. Plutôt que de tenter de la capturer d’un seul coup, le modèle suit une approche itérative, en appliquant de petites modifications progressives à la distribution initiale pour la transformer peu à peu en une image réaliste (voir figure 4).

Ce processus repose sur des calculs analytiques, c’est-à-dire des formules mathématiques précises plutôt que des approximations numériques. Cette rigueur permet de contrôler finement la manière dont le bruit est ajouté ou supprimé, garantissant ainsi une reconstruction fiable des images. Pas après pas, la cloche gaussienne initiale se déforme jusqu’à épouser la structure complexe des données réelles, offrant une génération d’images à la fois flexible et efficace.
Dans ce processus, $x_0$ représente l’image d’origine, tandis que $x_T$ correspond à une image entièrement bruitée après un certain nombre d’itérations (voir figure 5). L’indice $t$ symbolise le temps dans le processus de diffusion : plus $t$ augmente, plus l’image se dégrade. Chaque état $x_t$ dépend uniquement de l’état précédent $x_{t-1}$, ce qui reflète bien la nature markovienne du modèle.

Par exemple, après 21 itérations, $x_{21}$ correspond à une image ayant subi 21 étapes de bruitage. Plus l’indice est faible, plus l’image est encore reconnaissable, tandis que plus on s’approche de $x_T$, plus l’image devient indistincte, submergée dans du bruit aléatoire.
Le processus de diffusion avant (forward diffusion process) est formellement décrit par une fonction $q$, qui exprime la probabilité de chaque image intermédiaire, depuis l’image originale jusqu’à l’image totalement bruitée.
$$\Large q(x_t|x_{t-1})$$
Cette équation décrit la transition entre deux étapes successives : elle indique comment l’image à l’instant $t$ est générée à partir de l’image de l’étape précédente. L’objectif est de transformer la distribution complexe des images réelles en une distribution plus simple, comme une distribution gaussienne, qui est bien mieux maîtrisée en mathématiques et facile à échantillonner. On peut donc définir $q$ comme ceci,
$$\Large q(x_t|x_{t-1}) = \mathcal{N}(x_t, \sqrt{1-\beta_t}x_{t-1}, \beta_t I)$$
Ici, $N$ est une distribution normale, où le terme sous la racine carrée correspond à la moyenne de la distribution, et où le paramètre $\beta_t$ représente la variance, c’est-à-dire l’intensité du bruit ajouté à chaque étape. En ajustant $\beta_t$, on contrôle la rapidité avec laquelle l’image se détériore au fil des itérations.
Si l’on applique cette opération plusieurs fois, on peut se demander comment caractériser l’évolution de la distribution des images tout au long du processus de diffusion. Pour cela, on utilise une notation qui représente la suite d’images générées, de $x_0$ (l’image initiale) à $x_T$ (l’image entièrement bruitée).
$$\Large x_{0:T}$$
Les images générées au fil du processus de diffusion peuvent être décrites comme une suite, allant de $x_0$ (l’image originale) à $x_T$ (l’image totalement bruitée). On peut alors décrire la distribution de notre suite d’image par cette formule.
$$\Large q(x_{0:T}) = q(x_0)q(x_1|x_0) \cdot q(x_T | x_{T-1})$$
La distribution globale de cette suite d’images est déterminée par la distribution initiale $q(x_0)$, qui correspond aux images d’origine, et par les distributions conditionnelles successives $q(x_t | x_{t-1})$, qui modélisent l’ajout progressif du bruit, jusqu’à atteindre un état final presque entièrement aléatoire. On retrouve de nouveau notre chaîne de Markov. Et comme nos distributions conditionnelles sont des gaussiennes, on peut réécrire notre équation précédente comme ceci.
$$\large q(x_{0:T}) = q(x_0) \mathcal{N}(x_1|\sqrt{\alpha_1}x_0, \beta_1 I) \cdot \mathcal{N}(x_T | \sqrt{\alpha_T}x_{T-1}, \beta_T I)$$
Ainsi, pour obtenir une image à une étape $t$, on prend une fraction de l’image précédente et on lui ajoute un certain bruit gaussien.
$$\Large x_t = \sqrt{1-\beta_1}x_{t_1} + \sqrt{\beta_t}z_t$$
Ce processus est contrôlé par le paramètre $\beta_t$, qui ajuste la quantité de bruit injectée à chaque itération. Selon la manière dont $\beta_t$ est défini, on peut choisir d’ajouter du bruit de façon linéaire (augmentation régulière du bruit) ou de façon non linéaire (préservant certaines informations plus longtemps).
Au fur et à mesure des itérations, l’image se dissout progressivement dans le bruit. Lorsque $t$ atteint $T$, on obtient une image complètement bruitée, sans aucune structure reconnaissable.
Inverser la diffusion : le backward diffusion process
Une fois ce processus terminé, une question essentielle se pose : comment restaurer l’image d’origine ? C’est là qu’intervient le processus de diffusion inversé (backward diffusion process). Alors que la phase de diffusion avant (forward diffusion process) était définie par la fonction $q(x_t | x_{t-1})$, nous avons maintenant besoin d’une fonction $p(x_{t-1} | x_t)$ (voir figure 6), qui permet de reconstruire $x_{t-1}$ à partir de $x_t$.
$$\Large p(x_{t-1}|x_t)$$
Comme la diffusion avant repose sur une distribution gaussienne, il est naturel de supposer que l’inverse du processus peut aussi être modélisé par une gaussienne.
$$\large p_{\theta}(x_T) = \mathcal{N}(x_T|0,I),\hspace{15pt}p_{\theta}(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}|\mu_{\theta}(x_t, t), \Sigma_{\theta}(x_t, t))$$
Toutefois, il y a un problème majeur : nous ne connaissons pas directement la moyenne et la variance du bruit à retirer.

C’est ici que le machine learning intervient. Un réseau de neurones, noté $p_{\theta}$, est entraîné pour prédire ces paramètres à chaque étape du processus inverse. En d’autres termes, plutôt que de retirer arbitrairement du bruit, le modèle apprend à estimer comment remonter progressivement vers une image nette.
$$\Large x_{t-1} \sim \mathcal{N}(\mu_{\theta}(x_t, t), \Sigma_{\theta}(x_t, t))$$
À chaque étape $t$, le réseau utilise l’image bruitée $x_t$ pour échantillonner une version moins bruitée $x_{t-1}$, en se basant sur la distribution gaussienne qu’il a apprise. Cela signifie que si $q(x_t | x_{t-1})$ ajoutait du bruit dans la phase avant, alors $p_{\theta}(x_{t-1} | x_t)$ retire du bruit dans la phase inverse, permettant ainsi la reconstruction progressive d’une image réaliste (voir figure 7).

Pour modéliser le processus de diffusion inverse, on utilise souvent l’architecture U-Net, initialement développée en 2015 pour la segmentation d’images biomédicales. Sa force réside dans sa capacité à capturer et à restaurer progressivement les détails d’une image grâce à une structure en deux étapes :
Dans la phase de downsampling, l’image est réduite progressivement en résolution. Chaque étape applique des convolutions suivies d’un sous-échantillonnage, réduisant ainsi la taille de l’image tout en augmentant le nombre de canaux de caractéristiques. Ce processus aboutit à un goulot d’étranglement, où l’image est compressée au maximum, ne conservant que les informations les plus abstraites et essentielles.
Ensuite, dans la phase d’upsampling, l’image est reconstruite couche par couche en utilisant des blocs de suréchantillonnage. À chaque étape, la résolution augmente progressivement et les informations perdues dans la compression sont réinjectées grâce à des connexions entre les couches initiales et finales. Ce mécanisme de connexion entre différentes échelles permet de récupérer et de fusionner efficacement les détails essentiels pour reconstruire une image cohérente.

Ce principe fait du U-Net un élément clé dans les premiers modèles de diffusion, car il excelle dans le débruitage progressif. Il permet au modèle de supprimer le bruit injecté lors du processus de diffusion avant, tout en maintenant une reconstruction fidèle et fluide de l’image.
Aujourd’hui, l’évolution des modèles de diffusion a donné naissance aux Diffusion Transformers, qui tirent parti de l’architecture Transformer pour améliorer encore la qualité et la rapidité de la génération d’images. Des modèles avancés comme Imagen de Google ou Stable Diffusion 3 combinent désormais la puissance des Transformers et les principes de la diffusion pour produire des images encore plus détaillées et réalistes.
Latent Diffusion Models
L’apparition des modèles de diffusion latents (Latent Diffusion Models, LDM) en 2022, décrits dans l’article High-Resolution Image Synthesis with Latent Diffusion Models, a marqué un tournant majeur dans la génération d’images par IA. Contrairement aux modèles précédents qui appliquaient la diffusion directement dans l’espace des pixels, les LDM opèrent dans un espace latent, une représentation de dimension réduite qui condense l’information visuelle essentielle.
L’intérêt de cette approche est simple : réduire la complexité de la tâche. Travailler directement sur des images haute résolution demande des ressources considérables, car chaque pixel doit être traité individuellement. En passant par un espace latent, on simplifie la manipulation des données tout en conservant les structures visuelles importantes.
Pour encoder une image $x$ dans cet espace plus compact, on utilise un auto-encodeur pré-entraîné. Dans un auto-encodeur classique, chaque image est transformée en un vecteur latent $z$, qui agit comme une version résumée de l’image. Mais plutôt que d’avoir un encodage strictement déterministe, les Variational Autoencoders (VAE) modélisent cette représentation sous forme d’une distribution gaussienne, décrite par une moyenne $\mu(x)$ et une déviation standard $\sigma(x)$, ce qui permet d’introduire une certaine variabilité dans la génération d’images. Mathématiquement, cela s’écrit :
$$\large z \sim \mathcal{N}(\mu(x), \sigma^2(x))$$
Ce choix permet de mieux capturer les variations possibles dans les données et d’améliorer la diversité des échantillons générés.

Une fois l’image convertie en vecteur latent, le processus de diffusion est appliqué non plus sur l’image elle-même, mais sur son représentation latente. Le bruit est progressivement ajouté à $z$, le rendant méconnaissable, et l’apprentissage du modèle consiste ensuite à inverser cette diffusion pour reconstruire une image exploitable.
Pour assurer un contrôle précis de la génération, on enrichit l’architecture avec un mécanisme de cross-attention, qui permet d’intégrer des instructions conditionnelles comme un texte descriptif ou une carte sémantique. Concrètement, le U-Net reçoit des “clés”, “valeurs” et “requêtes” provenant à la fois de la représentation textuelle et du vecteur latent. Cette combinaison d’informations guide le processus de débruitage, permettant ainsi de générer des images qui respectent fidèlement les contraintes imposées par un prompt textuel ou d’autres conditions spécifiques.
C’est cette avancée qui a rendu possible la génération d’images conditionnelle, où l’utilisateur peut spécifier précisément ce qu’il souhaite obtenir, ouvrant ainsi la voie aux modèles modernes comme Stable Diffusion, DALL·E et Imagen.
Denoising Diffusion Probabilistic Models
L’article Denoising Diffusion Probabilistic Models (2020) propose un algorithme d’échantillonnage permettant de générer une image en partant d’un bruit gaussien et en remontant progressivement jusqu’à une image claire et détaillée.
Le processus commence par la génération d’un bruit aléatoire $x_T$, qui n’a aucune structure particulière. Ensuite, un nombre d’itérations $T$ est défini, correspondant aux étapes de débruitage nécessaires pour reconstruire l’image. L’algorithme parcourt ces étapes de manière itérative, de $T$ à 1, en affinant progressivement l’image générée.
À chaque itération, on met à jour l’image $x_t$ en soustrayant la partie du bruit prédite par le modèle, puis en normalisant le résultat. Un terme de variance, noté $z$, est ajouté pour introduire un certain degré de stochasticité, ce qui empêche le processus d’être complètement déterministe et permet de générer des variations plausibles à partir d’un même point de départ.

L’algorithme d’échantillonnage, illustré par la figure 10, repose sur l’utilisation du réseau de neurones $\theta_0$, qui estime la quantité de bruit à retirer à chaque étape. L’expression clé de cette mise à jour est :
$$\large x_{t-1} = \frac{1}{\sqrt{\alpha_t}}(x_t – \frac{1-\alpha_t}{\sqrt{1 – \overline{\alpha}_t}}\epsilon_{\theta}(x_t, t)) + \sigma_t z$$
où :
- $\alpha_t$ contrôle la progression du débruitage,
- $\epsilon_{\theta}(x_t, t)$ est la prédiction du bruit par le modèle,
- $\sigma_t z$ ajoute une composante aléatoire pour maintenir la diversité des images générées.
Dans le cadre de Stable Diffusion, ce processus s’applique dans l’espace latent plutôt que dans l’espace des pixels bruts. L’image initiale est encodée dans cet espace compact grâce à un auto-encodeur $E$, subit le processus de diffusion inverse pour être progressivement reconstruite, avant d’être décodée par $D$ en une image finale (voir figure .
Chaque élément de ce pipeline joue un rôle essentiel :
- L’encodeur $E$ réduit la complexité de l’image,
- La diffusion inverse élimine progressivement le bruit,
- Le U-Net ajuste la reconstruction en prédisant les perturbations à corriger,
- La cross-attention guide le modèle pour s’assurer que l’image générée correspond bien à un prompt textuel ou à d’autres contraintes imposées.
Cette approche modulaire confère aux Latent Diffusion Models une puissance et une flexibilité remarquables, permettant de générer des images d’une qualité exceptionnelle.

Grâce à ces avancées, les modèles de diffusion sont devenus des piliers incontournables de la génération d’images par IA. Et ce n’est que le début : de nouvelles optimisations et variantes continuent d’émerger, explorant toujours plus loin les possibilités offertes par cette technologie.
1 Commentaire