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.
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.
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. |
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'origine | Floue | Restauré avec GAN |
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:
Input | Sortie GAN |
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.