Les réseaux antagonistes génératifs (GAN) sont l'une des technologies modernes qui offrent beaucoup de potentiel dans de nombreux cas d'utilisation, de la création de vos anciennes images et de l'augmentation de votre voix à la fourniture de diverses applications dans les industries médicales et autres.

Cette technologie de pointe peut vous aider à façonner vos produits et services. Il peut également être utilisé pour améliorer la qualité de l'image afin de préserver les souvenirs.

Alors que les GAN sont une aubaine pour beaucoup, certains trouvent cela préoccupant.

Mais quelle est cette technologie exactement ?

Dans cet article, je vais discuter de ce qu'est un GAN, de son fonctionnement et de ses applications.  

Alors, plongeons-nous dedans !

What Is a Generative Adversarial Network?

Un réseau antagoniste génératif (GAN) est un machine learning cadre composé de deux réseaux de neurones en compétition pour produire des prédictions plus précises telles que des images, de la musique unique, des dessins, etc.

GANs a été conçu en 2014 par un informaticien et ingénieur, Ian Goodfellow, et certains de ses collègues. Ce sont des réseaux de neurones profonds uniques capables de générer de nouvelles données similaires à celles sur lesquelles ils sont formés. Ils s'affrontent dans un jeu à somme nulle qui fait qu'un agent perd la partie tandis que l'autre la gagne.

Qu'est-ce qu'un réseau antagoniste génératif

À l'origine, les GAN ont été proposés comme modèle génératif pour l'apprentissage automatique, principalement l'apprentissage non supervisé. Mais les GAN sont également utiles pour l'apprentissage entièrement supervisé, l'apprentissage semi-supervisé et apprentissage par renforcement.

Les deux blocs en compétition dans un GAN sont :

Le générateur : Il s'agit d'un réseau de neurones convolutifs qui produit artificiellement des sorties similaires aux données réelles.

Le discriminateur : C'est un réseau neuronal déconvolutif qui peut identifier les sorties créées artificiellement.

Key Concepts

Pour mieux comprendre le concept de GAN, comprenons rapidement quelques concepts connexes importants.

Apprentissage automatique (ML)

Apprentissage automatique

L'apprentissage automatique fait partie de l'intelligence artificielle (IA) qui implique l'apprentissage et la création de modèles tirant parti des données pour améliorer les performances et la précision lors de l'exécution de tâches ou de la prise de décisions ou de prédictions.

Les algorithmes ML créent des modèles basés sur des données de formation, s'améliorant avec l'apprentissage continu. Ils sont utilisés dans de multiples domaines, notamment la vision par ordinateur, la prise de décision automatisée, le filtrage des e-mails, la médecine, la banque, la qualité des données, la cyber-sécurité, la reconnaissance vocale, les systèmes de recommandation, etc. 

Modèle discriminant

Modèle discriminant

In l'apprentissage en profondeur et l'apprentissage automatique, le modèle discriminant fonctionne comme un classifieur pour distinguer un ensemble de niveaux ou deux classes.

Par exemple, faire la différence entre différents fruits ou animaux.

Modèle génératif

Dans les modèles génératifs, des échantillons aléatoires sont considérés pour créer de nouvelles images réalistes. Il apprend à partir d'images réelles de certains objets ou êtres vivants pour générer ses propres idées réalistes mais imitées. Ces modèles sont de deux types :

Auto-encodeurs variationnels : Ils utilisent des encodeurs et des décodeurs qui sont des réseaux de neurones distincts. Cela fonctionne parce qu'une image réaliste donnée passe par un encodeur pour représenter ces images sous forme de vecteurs dans un espace latent.

Ensuite, un décodeur est utilisé pour prendre ces interprétations afin de produire des copies réalistes de ces images. Au début, sa qualité d'image peut être faible, mais elle s'améliorera une fois que le décodeur sera entièrement fonctionnel, et vous pouvez ignorer l'encodeur.

Réseaux antagonistes génératifs (GAN) : Comme indiqué ci-dessus, un GAN est un réseau neuronal profond capable de générer de nouvelles données similaires à partir de l'entrée de données qui lui est fournie. Il relève de l'apprentissage automatique non supervisé, qui est l'un des types d'apprentissage automatique décrits ci-dessous.

Enseignement supervisé

Enseignement supervisé

Dans la formation supervisée, une machine est formée à l'aide de données bien étiquetées. Cela signifie que certaines données seront déjà étiquetées avec la bonne réponse. Ici, la machine reçoit des données ou des exemples pour permettre à l'algorithme d'apprentissage supervisé d'analyser les données d'apprentissage et de produire un résultat précis à partir de ces données étiquetées.

Apprentissage non supervisé

L'apprentissage non supervisé consiste à former une machine à l'aide de données qui ne sont ni étiquetées ni classifiées. Cela permet à l'algorithme d'apprentissage automatique de travailler sur ces données sans aucune aide. Dans ce type d'apprentissage, la tâche de la machine est de catégoriser les données non triées en fonction des modèles, des similitudes et des différences sans apprentissage préalable des données.

Ainsi, les GAN sont associés à l'exécution d'un apprentissage non supervisé en ML. Il dispose de deux modèles qui peuvent automatiquement découvrir et apprendre les modèles à partir des données d'entrée. Ces deux modèles sont générateur et discriminateur.

Comprenons-les un peu plus.

Parts of a GAN

Le terme « contradictoire » est inclus dans le GAN car il comporte deux parties : le générateur et le dénominateur en concurrence. Ceci est fait pour capturer, examiner et répliquer les variations de données dans un ensemble de données. Comprenons mieux ces deux parties d'un GAN. 

Générateur

Générateur

Un générateur est un Réseau neuronal capable d'apprendre et de générer de faux points de données tels que des images et de l'audio qui semblent réalistes. Il est utilisé dans la formation et s'améliore avec l'apprentissage continu.

Les données générées par le générateur servent d'exemple négatif pour l'autre partie – le dénominateur que nous verrons ensuite. Le générateur prend un vecteur aléatoire de longueur fixe en entrée pour produire un échantillon de sortie. Il vise à présenter la sortie avant le discriminateur afin qu'il puisse classer si c'est vrai ou faux.

Le générateur est entraîné avec ces composants :

  • Vecteurs d'entrée bruyants
  • Un réseau générateur pour transformer une entrée aléatoire en instance de données
  • Un réseau de discriminateurs pour classer les données générées
  • Une perte de générateur pour pénaliser le générateur car il ne parvient pas à tromper le discriminateur

Le générateur fonctionne comme un voleur pour répliquer et créer des données réalistes pour tromper le discriminateur. Il vise à contourner plusieurs contrôles effectués. Bien qu'il puisse échouer terriblement au début, il continue de s'améliorer jusqu'à ce qu'il génère plusieurs données réalistes et de haute qualité et puisse éviter les tests. Une fois cette capacité atteinte, vous pouvez utiliser uniquement le générateur sans avoir besoin d'un discriminateur séparé.

Discriminateur

Discriminateur

Un discriminateur est également un réseau de neurones qui peut faire la différence entre une image fausse et réelle ou d'autres types de données. Comme un générateur, il joue un rôle essentiel pendant la phase d'entraînement.

Il agit comme la police pour attraper le voleur (fausses données par le générateur). Il vise à détecter les fausses images et les anomalies dans une instance de données.

Comme indiqué précédemment, le générateur apprend et continue de s'améliorer pour atteindre un point où il devient autonome pour produire des images de haute qualité qui ne nécessitent pas de discriminateur. Lorsque les données de haute qualité du générateur passent à travers le discriminateur, il ne peut plus faire la différence entre une image réelle et fausse. Donc, vous êtes prêt à utiliser uniquement le générateur.

How Does GAN Work?

Dans un réseau antagoniste génératif (GAN), trois choses impliquent :

  • Un modèle génératif pour décrire la façon dont les données sont générées.
  • Un cadre contradictoire où un modèle est formé.
  • Réseaux de neurones profonds comme algorithmes d'IA pour la formation.

Les deux réseaux de neurones du GAN - générateur et discriminateur - sont utilisés pour jouer à un jeu contradictoire. Le générateur prend les données d'entrée, telles que des fichiers audio, des images, etc., pour générer une instance de données similaire tandis que le discriminateur valide l'authenticité de cette instance de données. Ce dernier déterminera si l'instance de données qu'il a examinée est réelle ou non.

Comment fonctionne le GAN

Par exemple, vous souhaitez vérifier si une image donnée est réelle ou fausse. Vous pouvez utiliser des entrées de données générées manuellement pour alimenter le générateur. Il créera de nouvelles images répliquées en sortie.

Ce faisant, le générateur vise à ce que toutes les images qu'il génère soient considérées comme authentiques, bien qu'elles soient fausses. Il veut créer des résultats passables pour mentir et éviter d'être pris.

Ensuite, cette sortie ira au discriminateur avec un ensemble d'images à partir de données réelles pour détecter si ces images sont authentiques ou non. Cela fonctionne négativement sur le générateur, peu importe à quel point il essaie d'imiter; le discriminateur aidera à distinguer les données factuelles des fausses.

Le discriminateur prendra à la fois des données fausses et réelles pour renvoyer une probabilité de 0 ou 1. Ici, 1 représente l'authenticité tandis que 0 représente le faux.

Il existe deux boucles de rétroaction dans ce processus :

  • Le générateur rejoint une boucle de rétroaction avec un discriminateur
  • Le discriminateur rejoint une autre boucle de rétroaction avec un ensemble d'images réelles

Une formation GAN fonctionne parce que le générateur et le discriminateur sont en formation. Le générateur apprend en continu en passant de fausses entrées, tandis que le discriminateur apprendra à améliorer la détection. Ici, les deux sont dynamiques.

Le discriminateur est un réseau convolutif capable de catégoriser les images qui lui sont fournies. Il fonctionne comme un classificateur binomial pour étiqueter les images comme fausses ou réelles.

D'autre part, le générateur ressemble à un réseau convolutif inverse prenant des échantillons de données aléatoires pour produire des images. Mais, le discriminateur vérifie les données à l'aide de techniques de sous-échantillonnage telles que le max-pooling.

Les deux réseaux essaient d'optimiser une fonction de perte ou d'objectif opposée et différente dans un jeu contradictoire. Leurs pertes leur permettent de se pousser les uns contre les autres encore plus fort.

Types of GANs

Types de GAN

Les réseaux antagonistes génératifs sont de différents types en fonction de la mise en œuvre. Voici les principaux types de GAN utilisés activement :

  • GAN conditionnel (CGAN) : Il s'agit d'une technique d'apprentissage en profondeur qui implique des paramètres conditionnels spécifiques pour aider à différencier les données réelles des fausses. Il inclut également un paramètre supplémentaire - "y" dans la phase du générateur pour produire les données correspondantes. De plus, des étiquettes sont ajoutées à cette entrée et sont transmises au discriminateur pour lui permettre de vérifier si les données sont authentiques ou fausses.
  • Vanille GAN : C'est un type GAN simple où le discriminateur et le générateur sont des perceptrons plus simples et multicouches. Ses algorithmes sont simples, optimisant l'équation mathématique à l'aide de la descente de gradient stochastique.
  • GAN à convolution profonde (DCGAN): Il est populaire et considéré comme l'implémentation GAN la plus réussie. DCGAN est composé de ConvNets plutôt que de perceptrons multicouches. Ces ConvNets sont appliqués sans utiliser de techniques telles que la mise en commun maximale ou la connexion complète des couches.
  • Super Résolution GAN (SRGAN): Il s'agit d'une implémentation GAN qui utilise un réseau neuronal profond aux côtés d'un réseau contradictoire pour aider à produire des images de haute qualité. SRGAN est particulièrement utile pour mettre à l'échelle efficacement les images originales à basse résolution afin que leurs détails soient améliorés et que les erreurs soient minimisées.
  • Pyramide laplacienne GAN (LAPGAN): Il s'agit d'une représentation inversible et linéaire qui comprend plusieurs images passe-bande espacées de huit espaces avec des résidus basse fréquence. LAPGAN utilise plusieurs réseaux de discriminateurs et de générateurs et plusieurs niveaux de pyramide laplacienne.

LAPGAN est largement utilisé car il produit une qualité d'image de premier ordre. Ces images sont d'abord sous-échantillonnées à chaque couche pyramidale, puis mises à l'échelle à chaque couche, où les idées reçoivent un peu de bruit jusqu'à ce qu'elles acquièrent la taille d'origine.  

Applications of GANs

Les réseaux antagonistes génératifs sont utilisés dans divers domaines, tels que :

Les sciences

Applications des GAN

Les GAN peuvent fournir un moyen précis et plus rapide de modéliser la formation de jets à haute énergie et de mener des expériences de physique. Ces réseaux peuvent également être formés pour estimer les goulots d'étranglement dans l'exécution simulations pour la physique des particules lourdes consommatrices de ressources.

Les GAN peuvent accélérer la simulation et améliorer la fidélité de la simulation. De plus, les GAN peuvent aider à étudier la matière noire en simulant la lentille gravitationnelle et en améliorant les images astronomiques.

Jeux vidéo

Jeux vidéo

Le monde du jeu vidéo a également tiré parti des GAN pour mettre à l'échelle les données bidimensionnelles basse résolution utilisées dans les jeux vidéo plus anciens. Il vous aidera à recréer ces données dans des résolutions 2k ou même supérieures grâce à la formation d'image. Ensuite, vous pouvez sous-échantillonner les données ou les images pour les adapter à la résolution réelle du jeu vidéo.

Fournissez une formation appropriée à vos modèles GAN. Ils peuvent offrir des images 2D plus nettes et plus claires d'une qualité impressionnante par rapport aux données natives tout en conservant les détails de l'image réelle, tels que les couleurs.

Les jeux vidéo qui ont exploité les GAN incluent Resident Evil Remake, Final Fantasy VIII et IX, et plus encore.

Art et mode

Vous pouvez utiliser les GAN pour générer de l'art, comme créer des images d'individus qui n'ont jamais existé, des photographies peintes, produire des images de mannequins irréels, et bien d'autres. Il est également utilisé dans les dessins générant des ombres et des croquis virtuels.

publicité

L'utilisation des GAN pour créer et produire vos publicités vous fera gagner du temps et des ressources. Comme vu ci-dessus, si vous souhaitez vendre vos bijoux, vous pouvez créer un modèle imaginaire ressemblant à un véritable humain à l'aide de GAN.

De cette façon, vous pouvez faire porter vos bijoux au mannequin et les mettre en valeur auprès de vos clientes. Cela vous évitera d'embaucher un modèle et de le payer. Vous pouvez même éliminer les dépenses supplémentaires telles que le paiement du transport, la location d'un studio, l'organisation de photographes, de maquilleurs, etc.

Cela vous aidera considérablement si vous êtes une entreprise en pleine croissance et que vous ne pouvez pas vous permettre d'embaucher un modèle ou d'héberger une infrastructure pour les tournages publicitaires.

Synthèse audio

Vous pouvez créer des fichiers audio à partir d'un ensemble de clips audio à l'aide de GAN. Ceci est également connu sous le nom d'audio génératif. S'il vous plaît ne confondez pas cela avec Amazon Alexa, Apple Siri ou d'autres voix d'IA où les fragments de voix sont bien assemblés et produits à la demande.

Au lieu de cela, l'audio génératif utilise des réseaux de neurones pour étudier les propriétés statistiques d'une source audio. Ensuite, il reproduit directement ces propriétés dans un contexte donné. Ici, la modélisation représente la façon dont la parole change après chaque milliseconde.

Transfert d'apprentissage

Transfert d'apprentissage

Les études avancées d'apprentissage par transfert utilisent les GAN pour aligner les derniers espaces de fonctionnalités comme l'apprentissage par renforcement profond. Pour cela, les plongements de la source et la tâche visée sont transmis au discriminateur pour déterminer le contexte. Ensuite, le résultat est rétropropagé via l'encodeur. De cette façon, le modèle continue d'apprendre.

Les autres applications des GAN incluent :

  • Diagnostic de la perte totale ou partielle de la vision par la détection d'images glaucomateuses
  • Visualisez le design industriel, le design d'intérieur, les vêtements, les chaussures, les sacs, etc.
  • reconstruire les traits médico-légaux du visage d'une personne malade
  • engendrent Modèles 3D d'un élément à partir d'une image, produire de nouveaux objets sous forme de nuage de points 3D, modéliser des motifs de mouvement dans une vidéo
  • Mettre en valeur l'apparence d'une personne dont l'âge change
  • Augmentation des données telles que l'amélioration du classificateur DNN
  • Peignez un élément manquant sur une carte, améliorez les vues de rue, transférez des styles de cartographie, etc.
  • Produire des images, remplacer un système de recherche d'images, etc.
  • Générer des entrées de contrôle vers un système dynamique non linéaire en utilisant une variation GAN
  • Analyser les effets du changement climatique sur une maison
  • Créer le visage d'une personne en prenant sa voix comme entrée
  • Créer de nouvelles molécules pour plusieurs cibles protéiques dans le cancer, la fibrose et l'inflammation
  • Animer des gifs à partir d'une image normale

Il existe de nombreuses autres applications des GAN dans divers domaines, et leur utilisation se développe. Cependant, il existe également de nombreux exemples de son utilisation abusive. Les images humaines basées sur GAN ont été utilisées pour des cas d'utilisation sinistres tels que la production de fausses vidéos et images.

Les GAN peuvent également être utilisés pour créer des photos et des profils réalistes de personnes sur les réseaux sociaux qui n'ont jamais existé sur terre. D'autres utilisations abusives préoccupantes des GNA sont la création de fausse pornographie sans le consentement des individus présentés, la distribution de vidéos contrefaites de candidats politiques, etc.

Bien que les GNA puissent être une aubaine dans de nombreux domaines, leur mauvaise utilisation peut également être désastreuse. Par conséquent, des directives appropriées doivent être appliquées pour son utilisation.

Conclusion

Les GAN sont un exemple remarquable de technologie moderne. Il offre un moyen unique et amélioré de générer des données et d'aider à des fonctions telles que le diagnostic visuel, la synthèse d'images, la recherche, l'augmentation des données, les arts et les sciences, et bien d'autres.  

Vous pouvez également être intéressé par Plate-forme d'apprentissage automatique à faible code et sans codes pour créer des applications innovantes.