À retenir
- Les modèles de génération d’images apprennent les tendances des données d’entraînement, puis les combinent pour créer de nouvelles images guidées par des prompts ou des conditions.
- La partie impressionnante n’est pas seulement l’image finale, mais aussi la représentation que le modèle a apprise des objets, des styles et de la composition.
- Les images générées doivent tout de même être vérifiées pour détecter les artéfacts et les biais, répondre aux questions de droit d’auteur et d’identité, et confirmer qu’elles conviennent à l’usage prévu.

L’architecture du générateur d’un réseau GAN.
Pour générer de nouvelles images, nous utilisons une architecture appelée réseau antagoniste génératif, ou GAN. Elle fonctionne avec un générateur composé d’un encodeur et d’un décodeur, ainsi qu’avec un discriminateur. Dans le générateur, l’encodeur et le décodeur sont tous les deux des réseaux neuronaux convolutifs, mais le décodeur fonctionne en sens inverse. Voici comment ça marche : l’encodeur reçoit une image et l’encode dans une représentation condensée. Le décodeur utilise ensuite cette représentation pour créer une nouvelle image en modifiant son style.

Le fonctionnement du générateur d’un réseau GAN.
Ce processus est répété de nombreuses fois avec toutes les images de notre jeu de données d’entraînement afin que l’encodeur et le décodeur apprennent à maximiser les résultats de la tâche que nous voulons accomplir pendant l’entraînement.
Une architecture GAN classique comprend un générateur entraîné pour produire l’image et un discriminateur qui mesure la qualité des images générées en tentant de déterminer s’il s’agit d’une véritable image provenant du jeu de données ou d’une fausse image produite par le générateur. Les deux réseaux sont habituellement des réseaux neuronaux convolutifs, que j’ai présentés dans un article précédent. Comme nous l’avons déjà vu, le générateur ressemble à ceci, ci-dessous. Il réduit principalement la résolution de l’image à l’aide de convolutions afin de l’encoder, puis augmente de nouveau sa résolution avec des convolutions pour générer une nouvelle version de l’image dans le même style à partir de cet encodage. Son objectif est de produire des images réalistes.

Le générateur qui crée de fausses images.
Le discriminateur reçoit ensuite l’image générée, ou une image de votre jeu de données, et tente de déterminer si elle est réelle ou générée, donc fausse. Ce processus est répété de nombreuses fois avec toutes les images de notre jeu de données d’entraînement. Le discriminateur utilise lui aussi un réseau neuronal convolutif, mais seulement la partie d’encodage, puisqu’il cherche à recevoir une image et à la comprendre.

Le discriminateur qui tente de déterminer si l’image reçue est réelle ou fausse.
Les GAN sont une façon ingénieuse d’entraîner un modèle génératif, soit le générateur, en présentant le problème sous la forme de deux sous-modèles : le générateur, que nous entraînons à produire de nouveaux exemples, et le discriminateur, qui tente de classer les exemples comme réels, provenant du domaine, ou faux, donc générés. Les deux modèles sont entraînés ensemble dans un jeu antagoniste à somme nulle jusqu’à ce que le discriminateur se fasse tromper environ la moitié du temps, ce qui signifie que le générateur produit des exemples plausibles. Dans ce cas-ci, somme nulle signifie que lorsque le discriminateur reconnaît correctement les échantillons réels et faux, ses paramètres n’ont pas besoin d’être modifiés, mais le générateur est pénalisé par d’importantes mises à jour de ses paramètres, lorsqu’une fausse image est reconnue comme fausse puisque le générateur a échoué. À l’inverse, lorsque le générateur trompe le discriminateur, ses paramètres n’ont pas besoin d’être modifiés, mais le discriminateur est pénalisé et ses propres paramètres sont mis à jour. L’important est qu’un seul des deux réseaux soit pénalisé à chaque étape. Les deux modèles s’améliorent ainsi ensemble, et le générateur produit des images de plus en plus réalistes.

Comme l’illustre l’image ci-dessus, nous pouvons voir le générateur comme un faussaire qui tente de fabriquer de la fausse monnaie et le discriminateur comme la police, qui cherche à laisser passer l’argent légitime et à repérer la fausse monnaie. Pour gagner ce jeu, le faussaire doit apprendre à fabriquer de l’argent impossible à distinguer du vrai. Le réseau générateur doit donc apprendre à créer des échantillons provenant de la même distribution que les données d’entraînement, afin qu’ils leur ressemblent et que la fausse monnaie trompe la police.
Une fois l’entraînement terminé, vous pouvez envoyer une image à l’encodeur, qui exécutera le même processus pour générer une nouvelle image jamais vue correspondant à vos besoins. Le fonctionnement sera très semblable, peu importe la tâche, qu’il s’agisse de transformer l’image d’un visage dans un autre style, par exemple avec un cartoonifier, ou de créer un magnifique paysage à partir d’une esquisse rapide.
Merci d’avoir lu cet article,
Louis
Venez discuter avec nous dans notre communauté Discord : Learn AI Together et partagez vos projets, vos articles scientifiques et les meilleures formations, trouvez des coéquipiers pour Kaggle et bien plus encore !
Si vous aimez mon travail et voulez rester au courant des nouveautés en IA, vous devriez vraiment me suivre sur mes autres réseaux sociaux, comme LinkedIn et Twitter, et vous abonner à mon infolettre hebdomadaire sur l’IA !
Pour me soutenir :
- La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous aimez le format vidéo.
- Soutenez financièrement mon travail sur Patreon
FAQ
Comment l’IA génère-t-elle de nouvelles images ?
Les modèles d’images apprennent des tendances visuelles à partir d’un grand nombre d’images, puis génèrent de nouveaux pixels ou de nouvelles représentations latentes qui correspondent à un prompt, à une classe ou à une condition.
L’IA copie-t-elle des images de son jeu de données d’entraînement ?
La plupart des systèmes génèrent de nouveaux résultats à partir de tendances apprises, mais la mémorisation et l’imitation de styles peuvent tout de même se produire. C’est pourquoi les données et les licences sont importantes.
Pourquoi les prompts modifient-ils les images générées ?
Les prompts conditionnent le modèle en lui donnant des contraintes linguistiques qui guident la scène, le style, les objets, la composition et les détails qu’il tente de créer.
Que faut-il vérifier dans les images générées par l’IA ?
Vérifiez les petits détails, le texte, les mains, les visages, la cohérence, les biais, les artéfacts et la possibilité que l’image induise quelqu’un en erreur sur ce qui s’est réellement passé.
Comment les débutants devraient-ils comprendre la génération d’images ?
Commencez par le concept des représentations visuelles apprises, puis étudiez les GAN, les modèles de diffusion, le conditionnement, les espaces latents et l’évaluation.

