AI 101
Qu'est-ce qu'un réseau antagoniste génératif (GAN) ?
RĂ©seaux GĂ©nĂ©ratifs d'Adversariat (GAN) sont des types d'architectures de rĂ©seaux de neurones capable de gĂ©nĂ©rer de nouvelles donnĂ©es qui se conforme aux modĂšles appris. Les GAN peuvent ĂȘtre utilisĂ©s pour gĂ©nĂ©rer des images de visages humains ou d'autres objets, pour effectuer une traduction de texte en image, pour convertir un type d'image en un autre et pour amĂ©liorer la rĂ©solution des images (super rĂ©solution) entre autres applications. Parce que les GAN peuvent gĂ©nĂ©rer des donnĂ©es entiĂšrement nouvelles, ils sont Ă la tĂȘte de nombreux systĂšmes, applications et recherches d'IA de pointe. Mais comment fonctionnent exactement les GAN ? Explorons le fonctionnement des GAN et examinons certaines de leurs principales utilisations.
Définition des modÚles génératifs et des GAN
Un GAN est un exemple de modĂšle gĂ©nĂ©ratif. La plupart des modĂšles d'IA peuvent ĂȘtre divisĂ©s en deux catĂ©gories : modĂšles supervisĂ©s et non supervisĂ©s. Les modĂšles d'apprentissage supervisĂ© sont gĂ©nĂ©ralement utilisĂ©s pour discriminer entre diffĂ©rentes catĂ©gories d'entrĂ©es, Ă classer. En revanche, les modĂšles non supervisĂ©s sont gĂ©nĂ©ralement utilisĂ©s pour rĂ©sumer la distribution des donnĂ©es, apprenant souvent une distribution gaussienne des donnĂ©es. Parce qu'ils apprennent la distribution d'un ensemble de donnĂ©es, ils peuvent extraire des Ă©chantillons de cette distribution apprise et gĂ©nĂ©rer de nouvelles donnĂ©es.
Différents modÚles génératifs ont différentes méthodes de génération de données et de calcul des distributions de probabilité. Par exemple, le ModÚle Bayes naïf Le modÚle fonctionne en calculant une distribution de probabilité pour les différentes caractéristiques d'entrée et la classe générative. Lorsque le modÚle bayésien naïf génÚre une prédiction, il calcule la classe la plus probable en combinant la probabilité des différentes variables. Parmi les autres modÚles génératifs non basés sur l'apprentissage profond, on trouve les modÚles de mélange gaussien et l'allocation de Dirichlet latente (LDA). Les modÚles génératifs basés sur l'apprentissage profond incluent : Machines Boltzmann restreintes (RBM), Autoencodeurs variationnels (VAE), et bien sûr, les GAN.
Les réseaux antagonistes génératifs étaient proposé pour la premiÚre fois par Ian Goodfellow en 2014, et ils ont été améliorés par Alec Redford et d'autres chercheurs en 2015, conduisant à une architecture standardisée pour les GAN. Les GAN sont en fait deux réseaux différents reliés entre eux. Les GAN sont composé de deux moitiés : un modÚle de génération et un modÚle de discrimination, également appelés générateur et discriminateur.
L'architecture du GAN
Les réseaux antagonistes génératifs sont construit à partir d'un modÚle générateur et d'un modÚle discriminateur réunis. Le travail du modÚle générateur consiste à créer de nouveaux exemples de données, basés sur les modÚles que le modÚle a appris à partir des données d'apprentissage. Le travail du modÚle discriminateur est d'analyser des images (en supposant qu'il est formé sur des images) et de déterminer si les images sont générées/fausses ou authentiques.
Les deux modĂšles sont opposĂ©s l'un Ă l'autre, entraĂźnĂ©s Ă la maniĂšre d'une thĂ©orie des jeux. Le but du modĂšle gĂ©nĂ©rateur est de produire des images qui trompent son adversaire, le modĂšle discriminateur. Pendant ce temps, le travail du modĂšle discriminateur est de vaincre son adversaire, le modĂšle gĂ©nĂ©rateur, et d'attraper les fausses images produites par le gĂ©nĂ©rateur. Le fait que les modĂšles s'opposent entraĂźne une course aux armements oĂč les deux modĂšles s'amĂ©liorent. Le discriminateur obtient une rĂ©troaction sur les images qui Ă©taient authentiques et celles qui ont Ă©tĂ© produites par le gĂ©nĂ©rateur, tandis que le gĂ©nĂ©rateur reçoit des informations sur lesquelles de ses images ont Ă©tĂ© signalĂ©es comme fausses par le discriminateur. Les deux modĂšles s'amĂ©liorent pendant la formation, dans le but de former un modĂšle de gĂ©nĂ©ration qui peut produire de fausses donnĂ©es qui sont fondamentalement impossibles Ă distinguer des donnĂ©es rĂ©elles et authentiques.
Une fois qu'une distribution gaussienne des donnĂ©es a Ă©tĂ© créée pendant la formation, le modĂšle gĂ©nĂ©ratif peut ĂȘtre utilisĂ©. Le modĂšle du gĂ©nĂ©rateur est initialement alimentĂ© par un vecteur alĂ©atoire, qu'il transforme en fonction de la distribution gaussienne. En d'autres termes, le vecteur sĂšme la gĂ©nĂ©ration. Lorsque le modĂšle est formĂ©, l'espace vectoriel sera une version compressĂ©e, ou une reprĂ©sentation, de la distribution gaussienne des donnĂ©es. La version compressĂ©e de la distribution des donnĂ©es est appelĂ©e espace latent ou variables latentes. Plus tard, le modĂšle GAN peut alors prendre la reprĂ©sentation de l'espace latent et en tirer des points, qui peuvent ĂȘtre donnĂ©s au modĂšle de gĂ©nĂ©ration et utilisĂ©s pour gĂ©nĂ©rer de nouvelles donnĂ©es trĂšs similaires aux donnĂ©es d'apprentissage.
Le modĂšle de discriminateur est alimentĂ© par des exemples de l'ensemble du domaine de formation, qui est composĂ© d'exemples de donnĂ©es rĂ©els et gĂ©nĂ©rĂ©s. Les vrais exemples sont contenus dans l'ensemble de donnĂ©es d'apprentissage, tandis que les fausses donnĂ©es sont produites par le modĂšle gĂ©nĂ©ratif. Le processus de formation du modĂšle de discriminateur est exactement le mĂȘme que la formation de base du modĂšle de classification binaire.
Processus de formation GAN
Regardons l'ensemble Formation processus pour une tùche hypothétique de génération d'images.
Pour commencer, le GAN est formé à l'aide d'images authentiques et réelles dans le cadre de l'ensemble de données de formation. Cela configure le modÚle de discriminateur pour faire la distinction entre les images générées et les images réelles. Il produit également la distribution des données que le générateur utilisera pour produire de nouvelles données.
Le gĂ©nĂ©rateur prend un vecteur de donnĂ©es numĂ©riques alĂ©atoires et les transforme en fonction de la distribution gaussienne, renvoyant une image. Ces images gĂ©nĂ©rĂ©es, ainsi que certaines images authentiques de l'ensemble de donnĂ©es de formation, sont introduites dans le modĂšle de discriminateur. Le discriminateur rendra une prĂ©diction probabiliste sur la nature des images qu'il reçoit, en produisant une valeur comprise entre 0 et 1, oĂč 1 correspond gĂ©nĂ©ralement Ă des images authentiques et 0 Ă une fausse image.
Il y a une double boucle de rétroaction en jeu, car le discriminateur au sol reçoit la vérité au sol des images, tandis que le générateur reçoit un retour sur ses performances par le discriminateur.
Les modĂšles gĂ©nĂ©ratif et de discrimination jouent entre eux un jeu Ă somme nulle. Un jeu Ă somme nulle est un jeu oĂč les gains d'un cĂŽtĂ© se font au dĂ©triment de l'autre cĂŽtĂ© (la somme des deux actions est Ă©gale Ă zĂ©ro ex). Lorsque le modĂšle de discriminateur est capable de distinguer avec succĂšs les exemples rĂ©els et faux, aucune modification n'est apportĂ©e aux paramĂštres du discriminateur. Cependant, des mises Ă jour importantes sont apportĂ©es aux paramĂštres du modĂšle lorsqu'il ne parvient pas Ă faire la distinction entre les images rĂ©elles et fausses. L'inverse est vrai pour le modĂšle gĂ©nĂ©ratif, il est pĂ©nalisĂ© (et ses paramĂštres mis Ă jour) lorsqu'il ne trompe pas le modĂšle discriminatif, mais sinon ses paramĂštres sont inchangĂ©s (ou il est rĂ©compensĂ©).
IdĂ©alement, le gĂ©nĂ©rateur est capable d'amĂ©liorer ses performances Ă un point oĂč le discriminateur ne peut pas discerner entre les images fausses et rĂ©elles. Cela signifie que le discriminateur aura toujours des probabilitĂ©s de rendu de % 50 pour les images rĂ©elles et fausses, ce qui signifie que les images gĂ©nĂ©rĂ©es doivent ĂȘtre indiscernables des images authentiques. En pratique, les GAN n'atteindront gĂ©nĂ©ralement pas ce point. Cependant, le modĂšle gĂ©nĂ©ratif n'a pas besoin de crĂ©er des images parfaitement similaires pour ĂȘtre toujours utile pour les nombreuses tĂąches pour lesquelles les GAN sont utilisĂ©s.
Applications GAN
Les GAN ont un certain nombre d'applications diffĂ©rentes, la plupart d'entre elles tournant autour de la gĂ©nĂ©ration d'images et de composants d'images. Les GAN sont couramment utilisĂ©s dans les tĂąches oĂč les donnĂ©es d'image requises sont manquantes ou limitĂ©es dans une certaine mesure, comme mĂ©thode de gĂ©nĂ©ration des donnĂ©es requises. Examinons quelques-uns des cas d'utilisation courants des GAN.
Génération de nouveaux exemples pour les ensembles de données
Les GAN peuvent ĂȘtre utilisĂ©s pour gĂ©nĂ©rer de nouveaux exemples d'ensembles de donnĂ©es d'images simples. Si vous n'avez qu'une poignĂ©e d'exemples de formation et que vous en avez besoin de plus, les GAN peuvent ĂȘtre utilisĂ©s pour gĂ©nĂ©rer de nouvelles donnĂ©es de formation pour un classificateur d'images, gĂ©nĂ©rant de nouveaux exemples de formation Ă diffĂ©rentes orientations et angles.
Générer des visages humains uniques

La femme sur cette photo n'existe pas. L'image a été générée par StyleGAN. Photo : Owlsmcgee via Wikimedia Commons, domaine public (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)
Lorsqu'ils sont suffisamment formĂ©s, les GAN peuvent ĂȘtre utilisĂ©s pour gĂ©nĂ©rer des images extrĂȘmement rĂ©alistes de visages humains. Ces images gĂ©nĂ©rĂ©es peuvent ĂȘtre utilisĂ©es pour aider Ă former des systĂšmes de reconnaissance faciale.
Traduction d'image Ă image
GAN exceller dans la traduction d'images. Les GAN peuvent ĂȘtre utilisĂ©s pour coloriser des images en noir et blanc, traduire des croquis ou des dessins en images photographiques ou convertir des images du jour Ă la nuit.
Traduction de texte en image
La traduction de texte en image est possible grĂące Ă l'utilisation des GAN. Lorsqu'il est fourni avec un texte dĂ©crivant une image et l'image qui l'accompagne, un GAN peut ĂȘtre formĂ© pour crĂ©er une nouvelle image lorsqu'il est fourni avec une description de l'image souhaitĂ©e.
Ădition et rĂ©paration d'images
Les GAN peuvent ĂȘtre utilisĂ©s pour Ă©diter des photographies existantes. GAN supprimer des Ă©lĂ©ments comme la pluie ou la neige Ă partir d'une image, mais ils peuvent Ă©galement ĂȘtre utilisĂ©s pour rĂ©parer les anciennes images endommagĂ©es ou les images corrompues.
Super résolution
La super rĂ©solution est le processus qui consiste Ă prendre une image basse rĂ©solution et Ă insĂ©rer plus de pixels dans l'image, amĂ©liorant ainsi la rĂ©solution de cette image. Les GAN peuvent ĂȘtre formĂ©s pour prendre une image et gĂ©nĂ©rer une version Ă plus haute rĂ©solution de cette image.