Aller au contenu
Retour

Dessine-moi un mouton sur une moto

Publié:  at  11:00 AM
Langues disponibles:

Dessine-moi un mouton sur une moto

Les modèles de génération d’images connus aujourd’hui utilisent un modèle de diffusion. Aujourd’hui, nous allons découvrir le détail du traitement de la demande : « Dessine-moi un mouton qui fait de la moto ».

Le peintre se tient devant sa toile blanche, face au vide à remplir. D’un geste ample, il commence par poser un fond uniforme, une teinte neutre qui servira de base au monde qu’il s’apprête à créer. Viennent ensuite les premiers traits : des lignes légères, presque hésitantes, qui définissent la composition générale — un corps, un paysage, une scène en devenir. Peu à peu, les formes prennent corps. Il ajoute les ombres, les lumières, les volumes, façonne la profondeur, la matière, l’ambiance. Chaque coup de pinceau affine la réalité. Et lorsqu’il touche aux derniers détails — un reflet dans l’œil, une mèche de cheveux, une veine sur une main — l’image, enfin, devient vivante.


Comment l’image est-elle générée ?

C’est un peu la même approche qui est suivie par les modèles de diffusion. On part d’une image complètement aléatoire contenant du bruit (des points disséminés au hasard sur l’image). Il va ensuite se produire un processus en plusieurs étapes. À chaque étape, le modèle va préciser l’image, guidé par le prompt, va modifier l’image pour que, dans le flou, apparaissent des masses, puis faire émerger dans ces masses plusieurs éléments : les roues et le corps pour la moto, les pattes et le corps pour le mouton, puis délimiter les espaces et y ajouter du détail. À chaque étape, l’image finale émerge du flou.

Il faut néanmoins préciser ici une différence importante entre le peintre et l’IA : quand il commence sa toile, le peintre (dans la plupart des cas) sait ce qu’il est en train de faire, ce qui n’est pas le cas de notre modèle, qui ne fait que des opérations mathématiques.

Ok, maintenant que l’on a vu comment cela se passait, il faut nous attaquer à la question de comment il arrive à faire ce genre de choses.

Tout d’abord, il faut comprendre que la demande « Dessine-moi un mouton qui fait de la moto » va être traitée par un premier modèle, qui a été entraîné avec des mots et des images. Il connaît donc à quoi ressemble une moto et un mouton, mais aussi à quoi ressemble « faire de la moto ».

Le deuxième modèle, celui en charge de réaliser l’image, va donc partir d’une image aléatoire et, à chaque étape de rendu, comparer son image avec les informations que lui donne le modèle de texte. Il renforce les formes utiles, atténue les incohérences et affine les détails, jusqu’à ce que l’image incarne vraiment ce que dit la phrase.


Comment entraîne-t-on les modèles ?

Pour le modèle texte/image, c’est plutôt simple. Il a absorbé des millions d’images décrites :

Il a donc la capacité de transformer le prompt en une représentation profonde de ce que doit contenir l’image, au niveau des objets, des interactions, mais aussi du style ou de l’émotion.

Pour le modèle de diffusion, c’est un peu plus complexe à appréhender. Il va, lui aussi, digérer des millions d’images avec leur prompt. Son travail à lui, c’est d’ajouter du flou sur les images jusqu’à ce qu’elles soient complètement aléatoires. C’est en analysant ce processus, étape par étape, qu’il va apprendre à supprimer le flou avec brio.


The Nerd Zone - Dans la tête mathématique de l’IA 🤓

Si l’analogie du peintre vous a plu, mais que vous vous demandez ce que sont réellement ces “opérations mathématiques” et ces “informations” transmises entre les modèles, vous êtes au bon endroit. Bienvenue dans la Nerd Zone. Ici, on soulève le capot pour regarder le moteur : les embeddings et l’espace latent.

Le langage de l’IA : tout n’est que vecteurs

Un modèle d’IA ne comprend ni les mots, ni les concepts, ni les pixels d’une image comme nous. Son seul et unique langage est celui des mathématiques. Pour qu’une idée comme “un mouton” puisse être traitée, elle doit être traduite en une forme que l’IA peut manipuler : un vecteur.

Les mots et les images vont donc être traduits par nos modèles sous forme de vecteurs, aussi appelés embeddings. Les vecteurs ont un avantage mathématique évident : ils peuvent servir de coordonnées dans des espaces complexes. On voit ainsi apparaître une géométrie du sens, où le mouton et la brebis sont proches, mais assez éloignés du concept de moto. Toute la force des modèles actuels, c’est que ces embeddings sont capables de capturer des représentations profondes des éléments, ce qui permet de manipuler les concepts complexes mathématiquement.

Un exemple particulièrement parlant : "roi" - "homme" + "femme" ≈ "reine". Si on enlève la notion d’homme au roi, on obtient la notion de royauté qui, appliquée à la femme, donne reine.

Ceci dit, revenons à notre mouton (et à sa moto) :

  1. Notre premier modèle va construire un embedding du prompt qui va exprimer cette idée : “mouton en train d’exécuter l’action de conduire une moto”.
  2. Le modèle de diffusion va donc préparer un espace vectoriel aléatoire (espace latent). À chaque itération, il va opérer un nombre limité de modifications de cet espace afin de faire apparaître, dans certaines zones, les caractéristiques fournies par le vecteur du prompt. Pour le reste — la route, le décor, la couleur de la moto — le modèle de diffusion va suivre les prédictions acquises lors de son entraînement.
  3. Une fois l’espace latent finalisé, le troisième modèle de la bande va transformer ces coordonnées en une image faite de pixels.

Les petits trucs en plus



Article précédent
Publications de la semaine #30 - 2025
Article suivant
Recette LLM façon GPT