Leçon 2 — La diffusion : comment du bruit devient une image
L'idée en une phrase
Apprendre à créer une image est difficile ; apprendre à en retirer un peu de bruit est facile. Toute la diffusion tient dans cette observation.
Si l'on sait retirer un peu de bruit, on peut le faire cinquante fois de suite. Et en partant d'une image entièrement composée de bruit aléatoire, on aboutit à une image nette qui n'existait pas.
Le processus direct : détruire l'image
L'entraînement commence par la partie contre-intuitive : on abîme volontairement des images réelles.
On prend une photographie et on lui ajoute une petite quantité de bruit gaussien. Puis encore un peu. Puis encore. Au bout de plusieurs centaines d'étapes, il ne reste plus rien de reconnaissable : du bruit pur.
Ce processus s'appelle le processus direct. Il n'a rien d'intelligent : c'est une addition de bruit selon un calendrier fixé à l'avance. Son intérêt est de fabriquer, gratuitement et en quantité illimitée, des paires d'entraînement parfaites : pour chaque image bruitée, on sait exactement quel bruit a été ajouté.
Le processus inverse : ce que le modèle apprend
Le modèle — un réseau convolutif de type U-Net, décrit dans le cours de vision — reçoit une image bruitée et le niveau de bruit correspondant, et doit prédire le bruit qui a été ajouté.
C'est une tâche de régression banale. Pas d'adversaire, pas d'équilibre fragile, une fonction de coût claire : l'écart entre le bruit prédit et le bruit réel. C'est précisément ce qui rend l'entraînement de la diffusion stable, là où les GAN sont capricieux.
Une fois le modèle entraîné, la génération inverse le processus :
À chaque étape, le modèle estime le bruit présent, on en retire une partie, et on recommence. Les formes apparaissent progressivement : d'abord la composition générale, puis les structures, puis les détails fins.
Parce que le modèle prédit le bruit de façon approximative. Retirer tout le bruit estimé en une seule fois amplifie l'erreur d'estimation et produit une image incohérente. En n'en retirant qu'une fraction à chaque étape, on laisse au modèle la possibilité de corriger sa trajectoire à l'étape suivante. C'est le même principe qu'un petit taux d'apprentissage en descente de gradient.
Le guidage par le texte
Ce mécanisme produit une image plausible quelconque. Pour obtenir l'image demandée, il faut orienter le débruitage.
C'est là qu'intervient un encodeur de texte, typiquement de la famille CLIP, présenté dans le cours de vision. CLIP a été entraîné sur des centaines de millions de paires image-légende à placer une image et sa description au même endroit d'un espace partagé. Il sait donc traduire une phrase en un vecteur qui « pointe » vers les images correspondantes.
Ce vecteur est injecté dans le U-Net à chaque étape de débruitage, par des couches d'attention croisée. Concrètement, la question posée au modèle n'est plus « quel bruit y a-t-il ici » mais « quel bruit y a-t-il ici, sachant que le résultat doit correspondre à cette description ».
Le paramètre de guidage — souvent appelé CFG ou guidance scale — règle la force de cette contrainte. À chaque étape, on calcule le débruitage avec et sans la consigne, et on exagère l'écart entre les deux.
| Guidage | Effet |
|---|---|
| Faible (1 à 3) | image variée et jolie, souvent éloignée de la consigne |
| Moyen (6 à 9) | bon compromis, valeur par défaut usuelle |
| Fort (15 et plus) | consigne suivie de près, couleurs saturées, artefacts |
C'est le réglage qui explique le plus souvent l'écart entre « le résultat ne correspond pas à ma demande » et « le résultat est laid ».
La diffusion latente : ce qui a rendu tout cela accessible
Le processus décrit plus haut, appliqué directement aux pixels d'une image de 512 pixels de côté, demande de traiter environ 786 000 valeurs à chaque étape, cinquante fois. C'est coûteux, et cela réservait la génération d'images à de gros serveurs.
La diffusion latente, publiée en 2022, change radicalement l'économie du procédé. L'idée : ne pas diffuser dans l'espace des pixels mais dans l'espace latent d'un autoencodeur — exactement l'usage résiduel des autoencodeurs variationnels signalé dans la leçon 1.
La chaîne devient :
Le latent fait 64 × 64 au lieu de 512 × 512, soit soixante-quatre fois moins de valeurs à traiter. Le décodeur, entraîné séparément, se charge de remonter à la résolution finale une seule fois, à la fin.
C'est ce qui a permis à la génération d'images de tourner sur une carte graphique grand public, et donc à l'écosystème ouvert d'exister.
Les réglages qui comptent vraiment
Le nombre d'étapes. En dessous de 20, l'image est souvent incohérente. Entre 25 et 50, on est dans la zone utile. Au-delà de 60, le gain devient imperceptible et le temps de calcul, lui, augmente linéairement. Des méthodes récentes de distillation produisent des résultats corrects en 4 à 8 étapes.
La graine aléatoire. Le bruit de départ est tiré au hasard, et ce tirage est reproductible si l'on fixe la graine. Même consigne + même graine + mêmes réglages = même image, exactement. C'est indispensable pour comparer deux consignes, puisque cela isole l'effet du texte de l'effet du hasard. Notez toujours vos graines.
La consigne négative. On peut fournir une seconde description de ce qu'on ne veut pas. Techniquement, elle remplace la version « sans consigne » du calcul de guidage, ce qui pousse activement l'image à s'en éloigner. C'est souvent plus efficace que d'allonger la consigne principale.
Le conditionnement par image. Plutôt que de partir de bruit pur, on peut partir d'une image existante partiellement bruitée : c'est la transformation d'image en image. Des extensions comme ControlNet vont plus loin en imposant une structure — une pose, des contours, une carte de profondeur — ce qui donne un contrôle beaucoup plus fin qu'une simple phrase.
Ce que la diffusion fait mal
Le texte dans l'image. Le modèle produit ce qui ressemble à de l'écriture parce qu'il a appris l'apparence des lettres, sans manipuler de représentation orthographique. Les modèles récents s'en sortent bien mieux, notamment en intégrant un encodeur de texte plus riche, et l'erreur reste fréquente sur les mots longs.
Le comptage. Demander « trois pommes » donne fréquemment deux ou quatre pommes. Rien dans l'architecture ne compte : la cohérence est locale, pas arithmétique.
Les relations spatiales. « Le cube rouge à gauche du cube bleu » est mal respecté. Les attributs se mélangent entre objets, un phénomène connu sous le nom de fuite d'attributs.
La cohérence entre plusieurs images. Obtenir deux fois le même personnage dans deux scènes différentes est difficile, et c'est un vrai obstacle pour l'illustration de série ou de bande dessinée. Les solutions passent par un affinage sur le sujet, comme LoRA, plutôt que par la consigne.
À retenir
- La diffusion apprend à retirer du bruit, tâche facile et stable, puis répète l'opération plusieurs dizaines de fois.
- Le processus direct abîme des images réelles pour fabriquer gratuitement des paires d'entraînement parfaites.
- Le guidage par texte passe par un encodeur type CLIP injecté à chaque étape ; le paramètre de guidage arbitre entre fidélité et qualité.
- La diffusion latente travaille dans un espace 64 fois plus petit, ce qui a rendu la génération accessible sur du matériel grand public.
- Les réglages décisifs sont le nombre d'étapes, la graine, la consigne négative et le conditionnement par image.
- Faiblesses persistantes : texte dans l'image, comptage, relations spatiales, cohérence entre images.
Leçon suivante — La génération de texte : token par token →