Stumm Wat ass e Generative Adversarial Network (GAN)? - Unite.AI
Connect mat eis

AI 101

Wat ass e Generative Adversarial Network (GAN)?

mm
aktualiséiert on

Generative Adversarial Networks (GANs) sinn Aarte vun neuralen Netzwierkarchitekturen kapabel nei Donnéeën ze generéieren déi dem geléierte Muster entsprécht. GANs kënne benotzt ginn fir Biller vu mënschleche Gesiichter oder aner Objeten ze generéieren, Text-zu-Bild Iwwersetzung auszeféieren, eng Zort Bild an eng aner ze konvertéieren, an d'Resolutioun vu Biller (Superopléisung) ënner anerem Uwendungen ze verbesseren. Well GANs ganz nei Donnéeën generéiere kënnen, sinn se un der Spëtzt vu ville modernste AI Systemer, Uwendungen a Fuerschung. Wéi och ëmmer wéi funktionnéiere GANs genau? Loosst eis entdecken wéi GANs funktionnéieren an e puer vun hire primäre Gebrauch kucken.

Generative Modeller a GANs definéieren

E GAN ass e Beispill vun engem generative Modell. Déi meescht AI Modeller kënnen an eng vun zwou Kategorien opgedeelt ginn: iwwerwaacht an net iwwerwaacht Modeller. Iwwerwaacht Léiermodeller ginn typesch benotzt fir tëscht verschiddene Kategorien vun Inputen ze diskriminéieren, fir ze klassifizéieren. Am Géigesaz, onkontrolléiert Modeller ginn typesch benotzt fir d'Verdeelung vun Daten ze resuméieren, dacks léieren eng Gaussesch Verdeelung vun den Daten. Well se d'Verdeelung vun engem Dateset léieren, kënne se Proben aus dëser geléierter Verdeelung zéien an nei Daten generéieren.

Verschidde generativ Modeller hu verschidde Methoden fir Daten ze generéieren a Wahrscheinlechkeetsverdeelungen ze berechnen. Zum Beispill, de Naiv Bayes Modell funktionéiert duerch Berechnung vun enger Wahrscheinlechkeetsverdeelung fir déi verschidden Inputfunktiounen an déi generativ Klass. Wann den Naive Bayes Modell eng Prognose mécht, berechent et déi wahrscheinlechst Klass duerch d'Wahrscheinlechkeet vun de verschiddene Variabelen ze huelen an se zesummen ze kombinéieren. Aner net-deep Learning generativ Modeller enthalen Gaussian Mixture Models a Latent Dirichlet Allocation (LDA). Deep leaning-baséiert generativ Modeller gehéiert Restricted Boltzmann Machines (RBMs), Variational Autoencoders (VAEs), an natierlech, GANs.

Generative Adversarial Netzwierker waren fir d'éischt vum Ian Goodfellow am Joer 2014 proposéiert, a si goufen vum Alec Redford an aner Fuerscher am 2015 verbessert, wat zu enger standardiséierter Architektur fir GANs féiert. GANs sinn tatsächlech zwee verschidde Netzwierker, déi matenee verbonne sinn. GAN sinn besteet aus zwee Hälften: e Generatiounsmodell an en Diskriminéierungsmodell, och als Generator an Diskriminator bezeechent.

D'GAN Architektur

Generativ Adversarial Netzwierker sinn gebaut aus engem Generator Modell an Diskriminator Modell zesummegesat. D'Aarbecht vum Generatormodell ass nei Beispiller vun Daten ze kreéieren, baséiert op de Musteren, déi de Modell aus den Trainingsdaten geléiert huet. D'Aarbecht vum Diskriminatormodell ass d'Biller ze analyséieren (ugeholl datt et op Biller trainéiert gëtt) a festzestellen ob d'Biller generéiert / gefälscht oder echt sinn.

Déi zwee Modeller stinn géinteneen, trainéiert op eng Spilltheoretesch Manéier. D'Zil vum Generatormodell ass Biller ze produzéieren déi säi Géigner täuschen - den Diskriminatormodell. Mëttlerweil ass d'Aarbecht vum Diskriminatormodell säi Géigner, de Generatormodell, ze iwwerwannen an déi gefälschte Biller ze fangen déi de Generator produzéiert. D'Tatsaach, datt d'Modeller géintenee gekämpft ginn, féiert zu enger Waffencourse wou béid Modeller sech verbesseren. Den Diskriminator kritt Feedback iwwer wéi eng Biller echt waren a wéi eng Biller vum Generator produzéiert goufen, während de Generator Informatioun gefiddert gëtt iwwer wéi eng vu senge Biller als falsch vum Diskriminator markéiert goufen. Béid Modeller verbesseren wärend dem Training, mam Zil e Generatiounsmodell ze trainéieren deen gefälschte Donnéeën produzéiere kann, déi am Fong net z'ënnerscheeden vun realen, echten Donnéeën.

Wann eng Gaussesch Verdeelung vun Daten während Training erstallt gouf, kann de generative Modell benotzt ginn. De Generatormodell gëtt ufanks mat engem zoufällege Vektor gefüttert, deen en transforméiert baséiert op der Gaussescher Verdeelung. An anere Wierder, de Vektor setzt d'Generatioun. Wann de Modell trainéiert ass, wäert de Vektorraum eng kompriméiert Versioun sinn, oder Representatioun, vun der Gaussescher Verdeelung vun den Daten. Déi kompriméiert Versioun vun der Dateverdeelung gëtt als latente Raum bezeechent, oder latente Variablen. Méi spéit kann de GAN Modell dann d'latente Raumvertriedung huelen an Punkte doraus zéien, déi dem Generatiounsmodell ginn a benotzt ginn fir nei Daten ze generéieren déi ganz ähnlech wéi d'Trainingsdaten sinn.

Den Diskriminatormodell gëtt mat Beispiller aus dem ganzen Trainingsdomän gefiddert, deen aus realen a generéierten Datebeispiller besteet. Déi richteg Beispiller sinn am Trainingsdaten enthale, während déi gefälschte Daten vum generative Modell produzéiert ginn. De Prozess vun der Ausbildung vum Diskriminatormodell ass genau d'selwecht wéi Basis, binär Klassifikatiounsmodell Training.

GAN Training Prozess

Loosst eis dat Ganzt kucken Formatiounen Prozess fir eng hypothetesch Bild Generatioun Aufgab.

Fir unzefänken, gëtt de GAN trainéiert mat echten, realen Biller als Deel vum Trainingsdataset. Dëst setzt den Diskrimnatormodell op fir tëscht generéierte Biller an echte Biller z'ënnerscheeden. Et produzéiert och d'Datenverdeelung déi de Generator benotzt fir nei Daten ze produzéieren.

De Generator hëlt e Vektor vun zoufälleg numereschen Donnéeën an transforméiert se baséiert op der Gaussescher Verdeelung, e Bild zréck. Dës generéiert Biller, nieft e puer echt Biller aus dem Trainingsdataset, ginn an den Diskriminatormodell gefüttert. Den Diskriminator gëtt eng probabilistesch Prognose iwwer d'Natur vun de Biller déi se kritt, e Wäert tëscht 0 an 1 erausginn, wou 1 typesch authentesch Biller ass an 0 e gefälscht Bild ass.

Et gëtt eng duebel Feedback Loop am Spill, well den Terrain Diskriminator d'Grondwahrheet vun de Biller gefiddert gëtt, während de Generator Feedback iwwer seng Leeschtung vum Diskriminator gëtt.

Déi generativ an Diskriminatiounsmodeller spillen en Null-Zom-Spill mateneen. En Null-Zomm Spill ass een wou d'Gewënn vun enger Säit op d'Käschte vun der anerer Säit kommen (d'Zomm ass béid Aktiounen ass null ex). Wann den Diskriminatormodell fäeg ass erfollegräich tëscht realen a gefälschte Beispiller z'ënnerscheeden, gi keng Ännerungen un d'Parameteren vum Diskriminator gemaach. Wéi och ëmmer, grouss Updates ginn un d'Parameter vum Modell gemaach wann et net fäeg ass tëscht realen a gefälschte Biller z'ënnerscheeden. Den Invers ass wouer fir de generative Modell, et gëtt bestrooft (a seng Parameteren aktualiséiert) wann et net fäerdeg ass den diskriminativen Modell ze narren, awer soss sinn seng Parameteren onverännert (oder et gëtt belount).

Ideal ass de Generator fäeg seng Leeschtung ze verbesseren op e Punkt wou den Diskriminator net tëscht de gefälschten an echte Biller z'ënnerscheeden kann. Dëst bedeit datt den Diskriminator ëmmer Wahrscheinlechkeeten vun 50% fir real a gefälschte Biller gëtt, dat heescht datt déi generéiert Biller net vun den echten Biller z'ënnerscheeden sollen. An der Praxis wäerten GANs typesch dëse Punkt net erreechen. Wéi och ëmmer, de generative Modell brauch net perfekt ähnlech Biller ze kreéieren fir nach ëmmer nëtzlech ze sinn fir déi vill Aufgaben GANs fir benotzt ginn.

GAN Uwendungen

GANs hunn eng Rei vu verschiddenen Uwendungen, déi meescht vun hinnen dréinen ëm d'Generatioun vu Biller a Komponente vu Biller. GANs ginn allgemeng an Aufgaben benotzt, wou déi erfuerderlech Bilddaten fehlen oder an enger Kapazitéit limitéiert sinn, als Method fir déi erfuerderlech Donnéeën ze generéieren. Loosst eis e puer vun den allgemenge Gebrauchsfäll fir GANs ënnersichen.

Generéiere nei Beispiller fir Datesets

GANs kënne benotzt ginn fir nei Beispiller fir einfach Bilddatesets ze generéieren. Wann Dir nëmmen eng Handvoll Trainingsbeispiller hutt a méi vun hinnen brauch, kéint GAN benotzt ginn fir nei Trainingsdaten fir e Bildklassifizéierer ze generéieren, nei Trainingsbeispiller op verschidden Orientatiounen a Winkelen ze generéieren.

Generéiere eenzegaarteg Mënsch Gesiichter

D'Fra op dëser Foto gëtt et net. D'Bild gouf vum StyleGAN generéiert. Foto: Owlsmcgee iwwer Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

Wann genuch trainéiert, kann GAN benotzt ginn generéiert extrem realistesch Biller vu mënschleche Gesiichter. Dës generéiert Biller kënne benotzt ginn fir Gesiichtserkennungssystemer ze trainéieren.

Bild-zu-Bild Iwwersetzung

GAN excel bei Bild Iwwersetzung. GANs kënne benotzt ginn fir schwaarz-wäiss Biller ze faarwen, Skizzen oder Zeechnungen op fotografesch Biller ze iwwersetzen oder Biller vun Dag op Nuecht ze konvertéieren.

Text-zu-Bild Iwwersetzung

Text-zu-Bild Iwwersetzung ass méiglech duerch d'Benotzung vun GANs. Wann Dir mat Text gëtt, deen e Bild an dat Begleetbild beschreift, kann e GAN trainéiert ginn fir en neit Bild ze kreéieren wann mat enger Beschreiwung vun der gewënschter Bild gëtt.

Änneren a reparéieren Biller

GANs kënne benotzt ginn fir existent Fotoen z'änneren. GAN ewechzehuelen Elementer wéi Reen oder Schnéi vun engem Bild, mä si kënnen och benotzt ginn al, beschiedegt Biller oder korrupt Biller reparéieren. 

Super Opléisung

Super Resolutioun ass de Prozess fir e Bild mat niddereger Resolutioun ze huelen an méi Pixelen an d'Bild ze setzen, d'Resolutioun vun deem Bild ze verbesseren. GAN kann trainéiert ginn e Bild ze huelen an generéiert eng méi héich Opléisung Versioun vun deem Bild. 

Blogger a Programméierer mat Spezialitéiten am Machine Learning an Deep Learning Themen. Den Daniel hofft anerer ze hëllefen d'Kraaft vun der AI fir sozial Gutt ze benotzen.