Qu'est-ce qu'un GAN ?

Un réseau antagoniste génératif (GAN) est une architecture de deep learning. Il entraîne deux réseaux neuronaux à se faire concurrence afin de générer de nouvelles données plus authentiques à partir d'un jeu de données d'entraînement donné. Par exemple, vous pouvez générer de nouvelles images à partir d'une base de données d'images existante ou de la musique originale à partir d'une base de données de chansons. Un GAN est appelé antagoniste parce qu'il entraîne deux réseaux différents et les oppose l'un à l'autre. Un réseau génère de nouvelles données en prélevant un échantillon de données d'entrée et en le modifiant autant que possible. L'autre réseau essaie de prédire si les données générées appartiennent au jeu de données d'origine. En d'autres termes, le réseau de prédiction détermine si les données générées sont fausses ou réelles. Le système génère des versions plus récentes et améliorées de fausses valeurs de données jusqu'à ce que le réseau de prédiction ne puisse plus distinguer les fausses de l'original.

Quels sont les cas d'utilisation des réseaux antagonistes génératifs ?

L'architecture GAN a plusieurs applications dans différents secteurs. Nous en donnons quelques exemples ensuite.

Générer des images

Les réseaux antagonistes génératifs créent des images réalistes grâce à des instructions textuelles ou en modifiant des images existantes. Ils peuvent aider à créer des expériences visuelles réalistes et immersives dans les jeux vidéo et le divertissement numérique.

Le GAN peut également modifier des images, par exemple en convertissant une image basse résolution en haute résolution ou en couleur d'une image en noir et blanc. Il peut également créer des visages, des personnages et des animaux réalistes pour l'animation et la vidéo.

Générer des données d'entraînement pour d'autres modèles

Dans le domaine du machine learning (ML), l'augmentation des données augmente artificiellement l'ensemble d'apprentissage en créant des copies modifiées d'un jeu de données à partir de données existantes.

Vous pouvez utiliser des modèles génératifs pour augmenter les données afin de créer des données synthétiques avec tous les attributs des données réelles. Par exemple, il peut générer des données de transactions frauduleuses que vous utilisez ensuite pour entraîner un autre système de ML de détection des fraudes. Ces données peuvent apprendre au système à distinguer avec précision les transactions suspectes des transactions authentiques.

Compléter les informations manquantes

Parfois, vous souhaiterez peut-être que le modèle génératif devine et complète avec précision certaines informations manquantes dans un jeu de données.

Par exemple, vous pouvez entraîner le GAN à générer des images de la surface souterraine (sous la surface) en comprenant la corrélation entre les données de surface et les structures souterraines. En étudiant des images souterraines connues, il peut en créer de nouvelles à l'aide de cartes de terrain pour des applications énergétiques telles que la cartographie géothermique ou le captage et le stockage du carbone.

Génération de modèles 3D à partir de données 2D

GAN peut générer des modèles 3D à partir de photos 2D ou d'images numérisées. Par exemple, dans le secteur de la santé, le GAN combine des radiographies et d'autres scintigraphies corporelles pour créer des images réalistes des organes à des fins de planification et de simulation chirurgicales.


 

Comment fonctionne un réseau antagoniste génératif ?

Un système de réseau antagoniste génératif comprend deux réseaux neuronaux profonds : le réseau générateur et le réseau discriminateur. Les deux réseaux s'entraînent dans un jeu contradictoire, où l'un essaie de générer de nouvelles données et l'autre tente de prédire si les résultats sont des données fausses ou réelles.

Techniquement, le GAN fonctionne comme suit. Une équation mathématique complexe constitue la base de l'ensemble du processus de calcul, mais il s'agit d'une vue d'ensemble simpliste :

  1. Le réseau neuronal générateur analyse l'ensemble d'entraînement et identifie les attributs des données
  2. Le réseau neuronal discriminateur analyse également les données d'entraînement initiales et fait la distinction entre les attributs de manière indépendante
  3. Le générateur modifie certains attributs de données en ajoutant du bruit (ou des modifications aléatoires) à certains attributs
  4. Le générateur transmet les données modifiées au discriminateur
  5. Le discriminateur calcule la probabilité que la sortie générée appartienne au jeu de données d'origine
  6. Le discriminateur donne des indications au générateur pour réduire l'aléatorisation du vecteur de bruit lors du cycle suivant

Le générateur tente de maximiser la probabilité d'erreur du discriminateur, mais le discriminateur essaie de minimiser la probabilité d'erreur. Lors des itérations d'entraînement, le générateur et le discriminateur évoluent et se confrontent continuellement jusqu'à atteindre un état d'équilibre. Dans l'état d'équilibre, le discriminateur ne peut plus reconnaître les données synthétisées. À ce stade, le processus d'entraînement est terminé.


 

Exemple d'entraînement GAN

Contextualisons ce qui précède avec un exemple du modèle GAN pour la traduction d'image en image.

Considérez que l'image d'entrée est un visage humain que le GAN tente de modifier. Par exemple, les attributs peuvent être des formes d'yeux ou d'oreilles. Supposons que le générateur modifie les images réelles en y ajoutant des lunettes de soleil. Le discriminateur reçoit un ensemble d'images, certaines représentant de vraies personnes portant des lunettes de soleil et d'autres images générées qui ont été modifiées pour inclure des lunettes de soleil.

Si le discriminateur peut différencier le faux du réel, le générateur met à jour ses paramètres pour générer des images fausses encore meilleures. Si le générateur produit des images qui trompent le discriminateur, celui-ci met à jour ses paramètres. La concurrence améliore les deux réseaux jusqu'à ce que l'équilibre soit atteint.

Quels sont les types de réseaux antagonistes génératifs ?

Il existe différents types de modèles GAN en fonction des formules mathématiques utilisées et des différentes manières dont le générateur et le discriminateur interagissent.

Nous donnons ci-dessous quelques modèles couramment utilisés, mais la liste n'est pas exhaustive. Il existe de nombreux autres types de GAN, tels que StyleGAN, CycleGAN et DiscoGAN, qui résolvent différents types de problèmes.

GAN classique

Il s'agit du modèle GAN de base qui génère des variations de données avec peu ou pas de rétroaction du réseau discriminateur. Un GAN classique nécessite généralement des améliorations pour la plupart des cas d'utilisation réels.

GAN conditionnel

Un GAN conditionnel (cGaN) introduit le concept de conditionnalité, permettant la génération de données ciblées. Le générateur et le discriminateur reçoivent des informations supplémentaires, généralement sous forme d'étiquettes de classe ou d'autres formes de données de conditionnement.

Par exemple, si vous générez des images, la condition peut être une étiquette décrivant le contenu de l'image. Le conditionnement permet au générateur de produire des données répondant à des conditions spécifiques.

GAN convolutif profond

Reconnaissant la puissance des réseaux neuronaux convolutifs (CNN) dans le traitement d'images, le GAN convolutif profond (DCGAN) intègre les architectures CNN dans les GAN.

Avec le DCGAN, le générateur utilise des convolutions transposées pour améliorer la distribution des données, et le discriminateur utilise également des couches convolutives pour classer les données. Le DCGAN introduit également des directives architecturales pour rendre l'entraînement plus stable.

GAN à super résolution

Les GAN à super résolution (SRGAN) se concentrent sur la conversion d'images à basse résolution vers une haute résolution. L'objectif est d'améliorer les images à une résolution supérieure tout en préservant la qualité et les détails de l'image.

Les GAN à pyramide laplacienne (LAPGAN) relèvent le défi de la génération d'images à haute résolution en décomposant le problème en plusieurs étapes. Ils utilisent une approche hiérarchique, avec plusieurs générateurs et discriminateurs fonctionnant à différentes échelles ou résolutions de l'image. Le processus commence par la génération d'une image à basse résolution dont la qualité s'améliore par rapport aux étapes de GAN progressives.

Comment AWS peut-il répondre à vos exigences en matière de réseau antagoniste génératif ?

Amazon Web Services (AWS) propose de nombreux services pour répondre à vos exigences en matière de GAN.

Amazon SageMaker est un service entièrement géré que vous pouvez utiliser pour préparer les données et construire, former et déployer des modèles de machine learning. Ces modèles peuvent être utilisés dans de nombreux scénarios, et SageMaker est livré avec une infrastructure, des outils et des flux de travail entièrement gérés. Il dispose d'un large éventail de fonctionnalités permettant d'accélérer le développement et l'entraînement de GAN pour toutes les applications.

Amazon Bedrock est un service entièrement géré. Vous pouvez l'utiliser pour accéder à des modèles de fondation (FM), ou à des réseaux neuronaux profonds entraînés, d'Amazon et de grandes start-ups spécialisées dans l'intelligence artificielle (IA). Ces FM sont disponibles via des API. Vous pouvez donc choisir parmi différentes options pour trouver le modèle le mieux adapté à vos besoins. Vous pouvez utiliser ces modèles dans vos propres applications GAN. Avec Amazon Bedrock, vous pouvez développer et déployer plus rapidement des applications d'IA générative évolutives, fiables et sécurisées. Et vous n'avez pas à gérer l'infrastructure.

AWS DeepComposer vous permet de démarrer de manière créative avec le ML. Vous pourrez vous familiariser avec un clavier musical et les dernières techniques de ML conçues pour développer vos compétences en ML. Quelle que soit leur expérience en ML ou en musique, vos développeurs peuvent s'initier aux GAN. Et ils peuvent entraîner et optimiser les modèles GAN pour créer de la musique originale.

Commencez à utiliser les réseaux antagonistes génératifs sur AWS en créant un compte dès aujourd'hui.

Prochaines étapes sur AWS

Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite AWS.

S'inscrire 
Commencez à créer sur la console

Démarrez la création dans la console de gestion AWS.

Se connecter