Qu'est ce qu'un GAN ?

Cette section propose une définition des GANs.
C'est sur celle-ci que nous allons appuyer l'ensemble du guide.

1

Définition

Un réseau antagoniste génératif ou réseaux adverses génératifs 1 GAN en anglais pour Generative Adversarial Network est un type de modèle d’apprentissage profond conçu pour générer de nouvelles données, non vues auparavant, qui ressemblent aux données d’apprentissage. Les GANs se composent de deux éléments principaux : un réseau générateur et un réseau discriminant.

Le réseau générateur est entraîné à générer de nouvelles données qui ressemblent étroitement aux données d’entraînement, tandis que le réseau discriminateur est entraîné à distinguer les données générées des véritables données d’entraînement. Les deux réseaux sont formés de manière contradictoire, le générateur essayant de produire des données qui peuvent tromper le discriminateur, et le discriminateur essayant d’identifier correctement les données générées. (voir schéma ci-dessous)

Le réseau du générateur se compose généralement d’une série de couches convolutionnelles 2 CNN et Couche de Convolution, qu’est-ce que c’est ? 2021 transposées, qui augmentent la résolution spatiale des données d’entrée, et d’une série de couches de normalisation et d’activation par lots, qui améliorent la stabilité et la qualité des données générées. Le réseau discriminant se compose généralement d’une série de couches convolutives, qui extraient les caractéristiques des données d’entrée, et d’une couche entièrement connectée, qui produit une valeur scalaire indiquant la probabilité que les données d’entrée soient réelles.

Le processus d’apprentissage commence avec le générateur qui produit un bruit aléatoire en entrée et le discriminateur qui essaie de classer les données générées comme fausses ou réelles. Le générateur utilise ensuite le retour d’information du discriminateur pour ajuster les données générées, et le processus se poursuit jusqu’à ce que le générateur produise des données qu’il est impossible de distinguer des données réelles.

L’une des applications les plus réussies et les plus utilisées des GANs est le domaine de la génération et de la modification d’images. Les GANs ont été utilisés pour générer des images réalistes de visages, d’animaux, et y compris de scènes entières. En outre, les GAN ont également été utilisés pour des tâches telles que la traduction d’image à image, la super-résolution et le transfert de style.

Cependant, les GAN présentent également certaines limites et certains défis. L’une d’entre elles est la stabilité de l’entraînement des GAN, il peut être difficile d’entraîner les GAN à converger vers une solution stable, et les données générées peuvent être de mauvaise qualité ou présenter un effondrement de mode, où le générateur ne produit qu’un ensemble limité de variations des données d’entraînement. De plus, les GANs nécessitent également une grande quantité de données et de ressources informatiques, ce qui les rend peu pratiques pour certaines applications.

Notes :

Notes :
1 GAN en anglais pour Generative Adversarial Network
2 CNN et Couche de Convolution, qu’est-ce que c’est ? 2021