Definition

Qu'est-ce qu'un réseau antagoniste génératif (GAN) ?

Un réseau antagoniste génératif (GAN) est un modèle d'apprentissage automatique (ML) dans lequel deux réseaux neuronaux s'affrontent en utilisant des méthodes d'apprentissage profond pour devenir plus précis dans leurs prédictions. Les GAN fonctionnent généralement de manière non supervisée et utilisent un cadre de jeu coopératif à somme nulle pour apprendre.

Les deux réseaux neuronaux qui composent un GAN sont appelés le générateur et le discriminateur. Le générateur est un réseau neuronal convolutif et le discriminateur est un réseau neuronal déconvolutif. L'objectif du générateur est de fabriquer artificiellement des sorties qui pourraient facilement être confondues avec des données réelles. L'objectif du discriminateur est d'identifier, parmi les sorties qu'il reçoit, celles qui ont été créées artificiellement.

Essentiellement, les modèles génératifs créent leurs propres données d'apprentissage. Alors que le générateur est entraîné à produire de fausses données, le réseau discriminant est entraîné à faire la distinction entre les données fabriquées par le générateur et les vrais exemples. Si le discriminateur reconnaît rapidement les fausses données produites par le générateur, par exemple une image qui n'est pas un visage humain, le générateur est pénalisé. Au fur et à mesure que la boucle de rétroaction entre les réseaux antagonistes se poursuit, le générateur commence à produire des données de meilleure qualité et plus crédibles, et le discriminateur devient plus apte à repérer les données créées artificiellement. Par exemple, un réseau antagoniste génératif peut être entraîné à créer des images réalistes de visages humains qui n'appartiennent à aucune personne réelle.

Fonctionnement des GAN

Les GAN sont généralement divisés en plusieurs parties :

  • Générative. Ce terme décrit la manière dont les données sont générées en termes de modèle probabiliste.
  • Antagoniste. Un modèle est formé dans un cadre contradictoire.
  • Réseaux. Les réseaux neuronaux profonds peuvent être utilisés comme algorithmes d'intelligence artificielle (IA) à des fins de formation.

Les premières étapes de la mise en place d'un GAN consistent à identifier le résultat final souhaité et à rassembler un ensemble de données d'apprentissage initial basé sur ces paramètres. Ces données sont ensuite randomisées et introduites dans le générateur jusqu'à ce que le modèle acquière une précision de base dans la production des résultats.

Ensuite, les échantillons ou images générés sont introduits dans le discriminateur avec les points de données réels du concept original. Une fois que les modèles du générateur et du discriminateur ont traité les données, l'optimisation par rétropropagation commence. Le discriminateur filtre les informations et renvoie une probabilité comprise entre 0 et 1 pour représenter l'authenticité de chaque image : 1 correspond aux images réelles et 0 aux images falsifiées. Les développeurs de modèles vérifient manuellement ces valeurs, et le processus est répété jusqu'à ce que le résultat souhaité soit atteint.

Un GAN suit généralement les étapes suivantes :

  1. Le générateur produit une image après avoir accepté des nombres aléatoires.
  2. Le discriminateur reçoit cette image créée en plus d'un flux de photos provenant de l'ensemble de données réelles.
  3. Le discriminateur saisit des images réelles et des images truquées et produit des probabilités - une valeur comprise entre 0 et 1 - où 1 indique une prédiction d'authenticité et 0 indique une tricherie.

Cela crée une double boucle de rétroaction, où le discriminateur est dans une boucle de rétroaction avec la vérité de base des images et où le générateur est dans une boucle de rétroaction avec le discriminateur.


Comment fonctionne un GAN ?

Types de GAN

Les GAN se présentent sous de nombreuses formes et peuvent être utilisés pour diverses tâches. Voici les types de GAN les plus courants :

  • GAN Vanille. Il s'agit du plus simple de tous les GAN. Son algorithme tente d'optimiser l'équation mathématique à l'aide de la descente de gradient stochastique, qui est une méthode d'apprentissage d'un ensemble de données en parcourant un exemple à la fois. Il se compose d'un générateur et d'un discriminateur. La classification et la création des images générées sont effectuées en utilisant le générateur et le discriminateur comme des perceptrons multicouches simples. Le discriminateur cherche à déterminer la probabilité que l'entrée appartienne à une classe particulière, tandis que le générateur recueille la distribution des données.
  • GAN conditionnel. En appliquant des étiquettes de classe, ce type de GAN permet de conditionner le réseau avec des informations nouvelles et spécifiques. Par conséquent, lors de l'entraînement au GAN, le réseau reçoit les images avec leurs étiquettes réelles, telles que "rose", "tournesol" ou "tulipe", pour l'aider à apprendre à les distinguer.
  • Réseau neuronal convolutionnel profond. Ce GAN utilise un réseau neuronal convolutionnel profond pour produire des images à haute résolution qui peuvent être différenciées. Les convolutions sont une technique permettant d'extraire les informations importantes des données générées. Elles fonctionnent particulièrement bien avec les images, permettant au réseau d'absorber rapidement les détails essentiels.
  • GAN d'auto-attention. Ce GAN est une variante du GAN convolutionnel profond, qui ajoute des modules d'auto-attention connectés de manière résiduelle. Cette architecture axée sur l'attention peut générer des détails en utilisant des indices provenant de tous les emplacements des caractéristiques et n'est pas limitée aux points locaux dans l'espace. Son discriminateur peut également maintenir la cohérence entre les caractéristiques d'une image qui sont très éloignées les unes des autres.
  • CycleGAN. Il s'agit de l'architecture GAN la plus courante et elle est généralement utilisée pour apprendre à transformer des images de styles différents. Par exemple, on peut apprendre à un réseau à transformer une image de l'hiver à l'été, ou d'un cheval à un zèbre. L'une des applications les plus connues de CycleGAN est FaceApp, qui transforme les visages humains en différents groupes d'âge.
  • StyleGAN. Les chercheurs de Nvidia ont publié StyleGAN en décembre 2018 et ont proposé des améliorations significatives aux modèles d'architecture des générateurs originaux. StyleGAN peut produire des photos de visages photoréalistes et de haute qualité, et les utilisateurs peuvent modifier le modèle pour altérer l'apparence des images produites.
  • GAN à super-résolution. Ce type de GAN permet de transformer une image à faible résolution en une image plus détaillée. Les GAN de super-résolution augmentent la résolution de l'image en remplissant les zones floues.
  • GAN pyramide de Laplacien. Ce GAN construit une image à l'aide de plusieurs réseaux de générateurs et de discriminateurs, en incorporant différents niveaux de la pyramide de Laplacien -- une image linéaire incorporant des images passe-bande espacées d'une octave -- ce qui permet d'obtenir une image de haute qualité.

Cas d'utilisation populaires des GAN

Les GAN sont en train de devenir un modèle ML populaire pour les ventes au détail en ligne car ils peuvent comprendre et recréer le contenu visuel avec une précision de plus en plus remarquable. Ils peuvent être utilisés pour diverses tâches, notamment la détection d'anomalies, l'augmentation des données, la synthèse d'images et la traduction texte-image et image-image.

Les cas d'utilisation courants des GAN sont les suivants :

  • Remplissage d'images à partir d'une ébauche.
  • Générer une image réaliste à partir d'un texte.
  • Produire des représentations photoréalistes de prototypes de produits.
  • Conversion d'images en noir et blanc en couleurs.
  • Création de traductions de photos à partir de croquis ou d'images sémantiques, particulièrement utiles dans le secteur des soins de santé pour les diagnostics.

Dans la production vidéo, les GAN peuvent être utilisés pour effectuer les opérations suivantes :

  • Modéliser des modèles de comportement et de mouvement humain dans un cadre.
  • Prédire les images vidéo suivantes.
  • Créer un deepfake.

Parmi les autres cas d'utilisation des GAN, on peut citer la synthèse vocale pour la génération de sons réalistes. En outre, les modèles d'IA générative basés sur les GAN peuvent générer des textes pour les blogs, les articles et les descriptions de produits. Ces textes générés par l'IA peuvent être utilisés à diverses fins, notamment pour la publicité, le contenu des médias sociaux, la recherche et la communication.

Exemples de GAN

Les GAN sont utilisés pour générer un large éventail de types de données, notamment des images, de la musique et du texte. Les exemples suivants sont des exemples populaires de GAN dans le monde réel :

  • Générer des visages humains. Les GAN peuvent produire des représentations précises de visages humains. Par exemple, StyleGAN2 de Nvidia peut produire des images photoréalistes de personnes qui n'existent pas. Ces images sont si réalistes que de nombreuses personnes pensent qu'il s'agit d'individus réels.
  • Développer de nouveaux modèles de mode. Les GAN peuvent être utilisés pour créer de nouveaux modèles de mode qui reflètent les modèles existants. Par exemple, le détaillant de vêtements H&M utilise les GAN pour créer de nouveaux modèles de vêtements pour ses marchandises.
  • Générer des images réalistes d'animaux. Les GAN peuvent également générer des images réalistes d'animaux. Par exemple, BigGAN, un modèle de GAN développé par les chercheurs de Google, peut produire des images de haute qualité d'animaux tels que des oiseaux et des chiens.
  • Création de personnages de jeux vidéo. Les GAN peuvent être utilisés pour créer de nouveaux personnages pour les jeux vidéo. Par exemple, Nvidia a créé de nouveaux personnages à l'aide de GAN pour le célèbre jeu vidéo Final Fantasy XV.
  • Générer des objets 3D réalistes. Les GAN sont également capables de produire de véritables objets en 3D. Par exemple, des chercheurs du MIT ont utilisé les GAN pour créer des modèles 3D de chaises et d'autres meubles qui semblent avoir été créés par des personnes. Ces modèles peuvent être appliqués à la visualisation architecturale ou aux jeux vidéo.

L'avenir de la technologie GAN

La technologie GAN progresse si rapidement - et les produits issus des applications GAN sont si efficaces et utiles - qu'elle n'est pas seulement le facteur déterminant de l'avenir de l'imagerie numérique, mais aussi celui de la technologie générative de l'IA dans son ensemble.

L'aspect réseau en duel du modèle GAN en fait une excellente méthode d'augmentation des données, ce qui est essentiel dans les processus de ML. Cela permet d'augmenter la quantité et la diversité des ensembles de formation au-delà du contenu des ensembles de données existants en générant des variations. Ce qui, à son tour, renforce la généralisation des produits de ML. Elle permet également de résoudre le problème croissant de l'industrie des données volumineuses limitées pour les besoins de la modélisation à grande échelle.

Il est probable que les GAN deviendront une technologie centrale dans la recherche pharmaceutique, où leur capacité à générer des variations de configurations de données existantes deviendra une méthodologie de choix pour concevoir de nouveaux médicaments sur la base de données biochimiques existantes. Cela réduira le temps de mise sur le marché de nouveaux traitements et permettra de prendre en compte et d'analyser beaucoup plus de variations en beaucoup moins de temps.

Une prédiction plus marginale concernant l'évolution des GAN est que leurs limites architecturales limiteront leur rôle dans l'évolution des deepfakes vidéo. À l'heure actuelle, les GAN sont les technologies de deepfake les plus avancées, produisant notamment les images de visages humains les plus convaincantes. Toutefois, leur volatilité et leur contrôlabilité limitée font des GAN une technologie d'appui, plutôt qu'une technologie principale, dans le développement futur de la génération de vidéos truquées.

Les réseaux neuronaux convolutifs et les réseaux neuronaux récurrents ont tous deux joué un rôle important dans les progrès de l'intelligence artificielle. Découvrez les différences entre les CNN et les RNN et explorez leurs forces et leurs faiblesses.

Pour approfondir sur IA appliquée, GenAI, IA infusée