Variantes du GAN

Les chercheurs continuent de trouver de nouvelles techniques et de nouvelles utilisations du GAN. Voici quelques-unes des variantes du GAN qui vous donnent un aperçu des possibilités.

GAN progressif

Dans un GAN progressif, les premières couches du générateur produisent des images à très faible résolution, et les couches suivantes ajoutent des détails. Cette technique permet au GAN de s'entraîner plus rapidement que les GAN non progressifs comparables et génère des images de plus haute résolution.

Pour en savoir plus, consultez la page Karras et al, 2017.

GAN avec conditions

Les GAN conditionnels s'entraînent sur un ensemble de données étiquetées et vous permettent de spécifier l'étiquette pour chaque instance générée. Par exemple, un GAN MNIST inconditionnel génère des chiffres aléatoires, tandis qu'un GAN conditionnel GANST permet de spécifier le chiffre que le GAN doit générer.

Au lieu de modéliser la probabilité conjointe P(X, Y), les GAN conditionnels modélisent la probabilité conditionnelle P(X | Y).

Pour en savoir plus sur les GAN conditionnels, consultez Mirza et al, 2014.

Traduction d'images en images

Les GAN de traduction d'image en image prennent une image en entrée et la mappe à une image de sortie générée avec différentes propriétés. Par exemple, nous pouvons prendre une image de masque avec un blob de couleur en forme de voiture, et le GAN peut remplir la forme avec des détails de voiture photoréalistes.

De même, vous pouvez entraîner un GAN de type image à image pour récupérer des esquisses de sacs à main et les transformer en images photoréalistes.

Table contenant des photos de sacs à main au format 3x3. Chaque ligne affiche un style de sac à main différent. Sur chaque ligne, l'image la plus à gauche correspond à un simple trait d'un sac à main, l'image du milieu est une photo d'un véritable sac à main, et l'image la plus à droite est une photo photoréaliste générée par un GAN. Les trois colonnes sont intitulées "Input Truth" et "Output Truth".

Dans ces cas, la perte est une combinaison pondérée de la perte habituelle basée sur le discriminateur et une perte au niveau du pixel qui pénalise le générateur pour le départ de l'image source.

Pour en savoir plus, consultez Isola et al, 2016.

CycleGAN

Les CycleGAN apprennent à transformer des images d'un ensemble en images susceptibles d'appartenir à un autre ensemble. Par exemple, CycleGAN a produit l'image de droite ci-dessous lorsqu'elle est fournie en entrée. Elle a pris l'image d'un cheval et l'a transformée en image de zèbre.

Une image d'un cheval qui court et une deuxième image identique dans toutes les caractéristiques, sauf que le cheval est un zèbre.

Les données d'entraînement du CycleGAN sont simplement deux ensembles d'images (dans ce cas, un ensemble d'images de chevaux et un ensemble d'images de zèbres). Le système ne nécessite aucune étiquette ni correspondance par paire entre les images.

Pour en savoir plus, consultez la page Zhu et al, 2017, qui illustre l'utilisation de CycleGAN pour effectuer une traduction d'image en image sans association de données.

Synthèse texte-image

Les GAN de texte à image prennent du texte en entrée et produisent des images plausibles et décrites par le texte. Par exemple, l'image de fleur ci-dessous a été produite en transmettant une description textuelle à un GAN.

"Cette fleur possède des pétales jaunes avec des nuances d'orange. Fleur aux pétales jaunes avec des nuances d'orange.

Notez que dans ce système, le GAN ne peut produire que des images provenant d'un petit ensemble de classes.

Pour en savoir plus, consultez la page Zhang et al, 2016.

Super-résolution

Les GAN de haute résolution augmentent la résolution des images et ajoutent des détails pour combler les zones floues. Par exemple, l'image centrale floue ci-dessous est une version de l'image d'origine sous-échantillonnée à gauche. Compte tenu de l'image floue, un GAN a produit l'image la plus nette à droite:

D'origineFloueRestauré avec GAN
Peinture d'une fille portant une coiffe sophistiquée. Le serre-tête de la coiffe est tissé dans un motif complexe. Version floue de la jeune fille portant une coiffe sophistiquée. Peinture nette et claire d'une fille portant une coiffe sophistiquée. Ce tableau est presque identique à la première image de cette table, mais certains détails des motifs de sa coiffe et de ses vêtements sont subtilement différents.

L'image générée par le GAN ressemble beaucoup à l'image d'origine, mais si vous examinez attentivement le serre-tête, vous constaterez que celui-ci n'a pas reproduit le schéma d'étoile à partir de l'original. Au lieu de cela, il a créé son propre modèle plausible pour remplacer celui supprimé par l'échantillonnage vers le bas.

Pour en savoir plus, consultez Ledig et al, 2017.

Peinture sur le visage

Des GAN ont été utilisés pour la tâche d'insertion d'images sémantiques. Dans la tâche d'extraction, les parties d'une image sont masquées, et le système tente de compléter les segments manquants.

Yeh et al, 2017 ont utilisé un GAN pour réaliser d'autres techniques d'affichage d'images de visages:

InputSortie GAN
Quatre images. Chaque image est une photo de visage dont certaines zones sont remplacées par du noir. Quatre images. Chaque image est une photo d'un visage identique à l'une des images de la colonne "Input" (Entrée), si ce n'est qu'il n'y a aucune zone noire.

Text-to-Speech

Tous les GAN ne génèrent pas d'images. Par exemple, les chercheurs ont également utilisé les GAN pour produire une synthèse vocale à partir d'une entrée de texte. Pour en savoir plus, consultez la page Yang et al, 2017.