škrbina Što je Generative Adversarial Network (GAN)? - Ujedinite se.AI
Povežite se s nama
Majstorski tečaj umjetne inteligencije:

AI 101

Što je Generative Adversarial Network (GAN)?

mm
Ažurirano on

Generativne kontradiktorne mreže (GAN) su tipovi arhitektura neuronskih mreža sposobni generirati nove podatke koji je u skladu s naučenim obrascima. GAN-ovi se mogu koristiti za generiranje slika ljudskih lica ili drugih objekata, za prevođenje teksta u sliku, za pretvaranje jedne vrste slike u drugu i za poboljšanje rezolucije slika (super rezolucija) između ostalih aplikacija. Budući da GAN-ovi mogu generirati potpuno nove podatke, oni su na čelu mnogih vrhunskih AI sustava, aplikacija i istraživanja. Ipak, kako točno rade GAN-ovi? Istražimo kako funkcioniraju GAN-ovi i pogledajmo neke od njihovih primarnih namjena.

Definiranje generativnih modela i GAN-ova

GAN je primjer generativnog modela. Većina AI modela može se podijeliti u jednu od dvije kategorije: nadzirani i nenadzirani modeli. Modeli nadziranog učenja obično se koriste za razlikovanje različitih kategorija inputa, za klasifikaciju. Nasuprot tome, nenadzirani modeli obično se koriste za sažimanje distribucije podataka, često učenja Gaussova distribucija podataka. Budući da uče distribuciju skupa podataka, mogu izvući uzorke iz te naučene distribucije i generirati nove podatke.

Različiti generativni modeli imaju različite metode generiranja podataka i izračunavanja distribucija vjerojatnosti. Na primjer, Naivni Bayesov model funkcionira izračunavanjem distribucije vjerojatnosti za različite ulazne značajke i generativnu klasu. Kada naivni Bayesov model prikazuje predviđanje, on izračunava najvjerojatnije klase uzimajući vjerojatnost različitih varijabli i kombinirajući ih zajedno. Ostali generativni modeli koji nisu dubokog učenja uključuju Gaussove modele mješavine i latentnu Dirichletovu raspodjelu (LDA). Generativni modeli temeljeni na dubokom naginjanju uključiti Ograničeni Boltzmannovi strojevi (RBM), Varijacijski autokoderi (VAE), i naravno, GAN-ovi.

Generativne kontradiktorne mreže bile su prvi predložio Ian Goodfellow 2014, a poboljšali su ih Alec Redford i drugi istraživači 2015., što je dovelo do standardizirane arhitekture za GAN-ove. GAN-ovi su zapravo dvije različite mreže spojene zajedno. GAN-ovi su sastoji se od dvije polovice: generacijski model i diskriminacijski model, koji se također naziva generator i diskriminator.

GAN arhitektura

Generativne kontradiktorne mreže su izgrađen od modela generatora i modela diskriminatora zajedno. Posao modela generatora je stvaranje novih primjera podataka na temelju obrazaca koje je model naučio iz podataka za obuku. Posao diskriminatorskog modela je analiza slika (pod pretpostavkom da je obučen na slikama) i utvrđivanje jesu li slike generirane/lažne ili originalne.

Dva modela suprotstavljena su jedan drugome, trenirana u teoriji igara. Cilj modela generatora je proizvesti slike koje varaju protivnika – model diskriminatora. U međuvremenu, posao modela diskriminatora je nadvladati svog protivnika, model generatora, i uhvatiti lažne slike koje generator proizvodi. Činjenica da su modeli suprotstavljeni rezultira utrkom u naoružanju u kojoj se oba modela poboljšavaju. Diskriminator dobiva povratnu informaciju o tome koje su slike bile originalne, a koje je proizveo generator, dok generator dobiva informacije o tome koje je njegove slike diskriminator označio kao lažne. Oba modela poboljšavaju se tijekom obuke, s ciljem obuke modela generacije koji može proizvesti lažne podatke koji se u osnovi ne mogu razlikovati od pravih, originalnih podataka.

Nakon što se tijekom obuke stvori Gaussova distribucija podataka, može se koristiti generativni model. Model generatora se inicijalno hrani slučajnim vektorom, koji transformira na temelju Gaussove distribucije. Drugim riječima, vektor pokreće generaciju. Kada se model uvježba, vektorski prostor bit će komprimirana verzija ili prikaz Gaussove distribucije podataka. Komprimirana verzija distribucije podataka naziva se latentni prostor ili latentne varijable. Kasnije GAN model tada može uzeti prikaz latentnog prostora i iz njega izvući točke, koje se mogu dati modelu generacije i koristiti za generiranje novih podataka koji su vrlo slični podacima za obuku.

Diskriminatorski model se hrani primjerima iz cijele domene obuke, koja se sastoji od stvarnih i generiranih primjera podataka. Pravi primjeri sadržani su u skupu podataka za obuku, dok lažne podatke proizvodi generativni model. Proces obuke diskriminatorskog modela potpuno je isti kao i osnovna obuka modela binarne klasifikacije.

GAN Proces obuke

Pogledajmo cijelu trening postupak za zadatak generiranja hipotetske slike.

Za početak, GAN se obučava korištenjem izvornih, stvarnih slika kao dijela skupa podataka za obuku. Ovo postavlja model diskriminatora za razlikovanje generiranih slika od stvarnih slika. Također proizvodi distribuciju podataka koju će generator koristiti za proizvodnju novih podataka.

Generator uzima vektor slučajnih numeričkih podataka i transformira ih na temelju Gaussove distribucije, vraćajući sliku. Ove generirane slike, zajedno s nekim originalnim slikama iz skupa podataka za obuku, unose se u model diskriminatora. Diskriminator će prikazati vjerojatnost predviđanja o prirodi slika koje prima, izlazeći vrijednost između 0 i 1, gdje je 1 obično autentična slika, a 0 je lažna slika.

U igri je dvostruka povratna sprega, budući da se zemaljski diskriminator napaja zemaljskom istinitošću slika, dok generatoru diskriminator daje povratnu informaciju o svojoj izvedbi.

Generativni i diskriminacijski model igraju igru ​​nulte sume jedan s drugim. Igra s nultim zbrojem je igra u kojoj dobici jedne strane dolaze na štetu druge strane (zbroj je da su obje akcije nula ex). Kada je model diskriminatora u stanju uspješno razlikovati stvarne od lažnih primjera, ne mijenjaju se parametri diskriminatora. Međutim, velika ažuriranja se rade na parametrima modela kada on ne uspije razlikovati prave od lažnih slika. Obrnuto vrijedi za generativni model, on je kažnjen (i njegovi parametri ažurirani) kada ne uspije prevariti diskriminativni model, ali inače su njegovi parametri nepromijenjeni (ili je nagrađen).

U idealnom slučaju, generator može poboljšati svoje performanse do točke u kojoj diskriminator ne može razlikovati lažne od stvarnih slika. To znači da će diskriminator uvijek renderirati vjerojatnosti od 50% za stvarne i lažne slike, što znači da se generirane slike ne bi trebale razlikovati od originalnih slika. U praksi, GAN-ovi obično neće doći do ove točke. Međutim, generativni model ne mora stvarati savršeno slične slike kako bi i dalje bio koristan za mnoge zadatke za koje se koriste GAN-ovi.

GAN aplikacije

GAN-ovi imaju brojne različite primjene, od kojih se većina vrti oko generiranja slika i komponenti slika. GAN-ovi se obično koriste u zadacima gdje potrebni slikovni podaci nedostaju ili su ograničeni u nekom kapacitetu, kao metoda generiranja potrebnih podataka. Ispitajmo neke od uobičajenih slučajeva upotrebe GAN-ova.

Generiranje novih primjera za skupove podataka

GAN-ovi se mogu koristiti za generiranje novih primjera za skupove jednostavnih slika. Ako imate samo nekoliko primjera obuke i trebate ih više, GAN-ovi se mogu koristiti za generiranje novih podataka za obuku za klasifikator slika, generirajući nove primjere obuke u različitim orijentacijama i kutovima.

Stvaranje jedinstvenih ljudskih lica

Žena na ovoj fotografiji ne postoji. Sliku je izradio StyleGAN. Fotografija: Owlsmcgee putem Wikimedia Commons, javna domena (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

Kada su dovoljno uvježbani, GAN-ovi se mogu koristiti za stvaraju izuzetno realistične slike ljudskih lica. Ove generirane slike mogu se koristiti za pomoć pri treniranju sustava za prepoznavanje lica.

Prijevod sa slike na sliku

GAN -ovi izvrsni u prijevodu slika. GAN-ovi se mogu koristiti za bojanje crno-bijelih slika, prevođenje skica ili crteža u fotografske slike ili pretvaranje slika iz dana u noć.

Prijevod teksta u sliku

Prijevod teksta u sliku je moguće korištenjem GAN-ova. Kada se dobije tekst koji opisuje sliku i tu popratnu sliku, GAN može biti osposobljen za stvaranje nove slike kada se dobije opis željene slike.

Uređivanje i popravak slika

GAN-ovi se mogu koristiti za uređivanje postojećih fotografija. GAN-ovi uklonite elemente poput kiše ili snijega sa slike, ali se također mogu koristiti popraviti stare, oštećene slike ili oštećene slike. 

Super rezolucija

Super rezolucija je postupak snimanja slike niske rezolucije i umetanja više piksela u sliku, čime se poboljšava rezolucija te slike. GAN-ovi se mogu osposobiti za snimanje slike generirajte verziju te slike u višoj razlučivosti. 

Bloger i programer sa specijalnošću u Strojno učenje i Duboko učenje temama. Daniel se nada pomoći drugima da iskoriste snagu umjetne inteligencije za društveno dobro.