Što su GAN-ovi? Kako i zašto biste ih trebali koristiti!



Ovaj članak pokriva detaljno objašnjenje 'Što su GAN-ovi' s ograničenjima i izazovima koji pokrivaju proces obuke i provedbu slučaja upotrebe.

Generativne kontradiktorne mreže ili GAN-ovi su pristup generativnog modeliranja koji se koristi Duboko učenje osposobiti model na pametan način za generiranje podataka korištenjem pristupa pod-modela. U ovom ćemo članku pokušati detaljno razumjeti 'Što su GAN-ovi'. U ovom su članku obrađene sljedeće teme:

Što su generativni modeli?

Generativni modeli nisu ništa drugo nego oni modeli koji koriste pristup. U generativnom modelu postoje uzorci u podacima, tj. Ulazne varijable X, ali nedostaje mu izlazna varijabla Y. Za obuku generativnog modela koristimo samo ulazne varijable i on prepoznaje uzorke iz ulaznih varijabli kako bi generirao izlaz koji je nepoznat i samo na osnovu podataka o treningu.





U , više smo usmjereni ka stvaranju prediktivnih modela iz ulaznih varijabli, ova vrsta modeliranja poznata je kao diskriminacijsko modeliranje. U klasifikacijskom problemu model mora diskriminirati kojoj klasi pripada primjer. S druge strane, nenadzirani modeli koriste se za stvaranje ili generiranje novih primjera u ulaznoj distribuciji.

Da bismo definirali generativne modele laički rečeno, možemo reći da generativni modeli mogu generirati nove primjere iz uzorka koji nisu samo slični drugim primjerima već se i ne mogu razlikovati.



Najčešći primjer generativnog modela je koja se češće koristi kao diskriminacijski model. Ostali primjeri generativnih modela uključuju Gaussov model smjese i prilično moderan primjer koji je General Adversarial Networks. Pokušajmo shvatiti što su GAN-ovi?

Što su generativna kontradiktorna mreža?

Generativne kontradiktorne mreže ili GAN-ovi generativni su model temeljen na dubokom učenju koji se koristi za nenadzirano učenje. To je u osnovi sustav u kojem se dvoje natječu Neuronske mreže natječu se jedni s drugima u stvaranju ili generiranju varijacija podataka.

Prvi ga je u radu 2014. godine opisao Ian Goodfellow, a standardiziranu i mnogo stabilniju teoriju modela predložio je Alec Radford 2016. godine koji je poznat pod nazivom DCGAN (Deep Convolutional General Adversarial Networks). Većina postojećih GAN-ova koristi DCGAN arhitekturu.



Arhitektura GAN-a sastoji se od dva podmodela poznata kao Model generatora i Model diskriminacije. Pokušajmo razumjeti kako GAN-ovi zapravo rade.

Kako radi?

Da bismo razumjeli kako GAN-ovi rade, raščlanimo ga.

  • Generativno - Znači da model slijedi pristup i generativni je model.
  • Suparnički - Model je obučen u kontradiktornom okruženju
  • Mreža - Za obuku modela koristi neuronske mreže kao algoritme umjetne inteligencije.

U GAN-ovima postoji mreža generatora koja uzima uzorak i generira uzorak podataka, a nakon toga mreža diskriminator odlučuje hoće li se podaci generirati ili uzeti iz stvarnog uzorka pomoću binarne datoteke problem uz pomoć sigmoidne funkcije koja daje izlaz u rasponu od 0 do 1.

dijagram toka - što su gnas - edureka

Generativni model analizira raspodjelu podataka na takav način da se nakon faze treninga vjerojatnost da diskriminator učini pogrešku maksimizira. A Diskriminator se, s druge strane, temelji na modelu koji će procijeniti vjerojatnost da uzorak dolazi iz stvarnih podataka, a ne iz generatora.

Cijeli postupak može se formalizirati matematičkom formulom danom u nastavku.

U gornjoj formuli:

koja je razlika između xml i html

G = Generator

D = Diskriminator

Pdata (x) = Raspodjela stvarnih podataka

Pdata (z) = Distributer generatora

x = uzorak iz stvarnih podataka

z = uzorak iz generatora

D (x) = Diskriminatorna mreža

G (z) = mreža generatora

Sada dolazi dio obuke za GAN, koji se dalje može podijeliti u 2 dijela koji se rade uzastopno.

Kako trenirati GAN?

1. dio:

kako koristiti python anaconda

Obučite diskriminator i zamrznite generator, što znači da je set treninga za generator pretvoren u False i mreža će raditi samo prolazak unaprijed i neće se primijeniti povratno širenje.

U osnovi diskriminator je obučen sa stvarnim podacima i provjerava može li ih točno predvidjeti, a isto s lažnim podacima da bi ih prepoznao kao lažne.

2. dio:

Obučite generator i zamrznite diskriminator. U ovoj fazi dobivamo rezultate iz prve faze i možemo ih koristiti za poboljšanje u odnosu na prethodno stanje kako bismo pokušali bolje zavarati diskriminator.

Koraci za trening

  1. Definirajte problem - definirati problem i prikupiti podatke.
  2. Odaberite Architecture Of GAN - Ovisno o vašem problemu, odaberite kako treba izgledati vaš GAN.
  3. Obučiti diskriminator na stvarnim podacima - Obučite diskriminator sa stvarnim podacima da ih predviđaju stvarnim n broj puta.
  4. Generirajte lažne ulaze za generator - Generirajte lažne uzorke iz generatora
  5. Obučite diskriminator na lažnim podacima - Osposobiti diskriminator za predviđanje generiranih podataka kao lažnih.
  6. Generator vlakova s ​​izlazom diskriminatora - Nakon dobivanja predviđanja diskriminatora, osposobite generatora da zavara diskriminator

Izazovi generativne kontradiktorne mreže

Koncept GAN-ova prilično je fascinantan, ali postoji puno zastoja koji mogu na putu stvarati puno zapreka. Neki od glavnih izazova s ​​kojima se suočavaju GAN-ovi su:

  1. Stabilnost potreban je između diskriminatora i generatora, inače bi cijela mreža jednostavno pala. U slučaju da je Diskriminator premoćan, generator neće uspjeti potpuno trenirati. A ako je mreža previše popustljiva, generirala bi se bilo kakva slika koja bi mrežu učinila beskorisnom.
  2. GAN-ovi gadno propadaju u određivanju pozicioniranje predmeta u smislu koliko puta bi se objekt trebao dogoditi na tom mjestu.
  3. Trodimenzionalna perspektiva muči GAN-ove jer ih on ne može razumjeti perspektiva , često će dati ravnu sliku za 3-d objekt.
  4. GAN-ovi imaju problem s razumijevanjem globalni objekti . Ne može razlikovati ili razumjeti holističku strukturu.
  5. Noviji tipovi GAN-ova su napredniji i očekuje se da će te nedostatke u potpunosti prevladati.

Primjene generativne kontradiktorne mreže

Slijedi nekoliko primjena GAN-ova.

Predviđanje sljedećeg kadra u video zapisu

Predviđanje budućih događaja u video okviru omogućeno je uz pomoć GAN-ova. DVD-GAN ili Dual Video Discriminator GAN mogu generirati 256 × 256 videozapisa značajne vjernosti dužine do 48 sličica. To se može koristiti u razne svrhe, uključujući nadzor, u kojem možemo odrediti aktivnosti u okviru koji se iskrivljuje zbog drugih čimbenika poput kiše, prašine, dima itd.

Stvaranje teksta u sliku

Objektno usmjereni pažljivi GAN (obj-GAN) izvodi sintezu teksta na sliku u dva koraka. Generiranje semantičkog izgleda početni je korak, a zatim je generiranje slike sintezom slike uporabom de-konvolucijskog generatora slike završni korak.

To bi se moglo intenzivno koristiti za stvaranje slika razumijevanjem opisa, izgleda i pročišćavanjem detalja sintezom riječi. Postoji još jedna studija o storyGAN-ovima koja može sintetizirati cijelu ploču scenarija iz pukih odlomaka.

Poboljšanje razlučivosti slike

Generativna suparnička mreža super-razlučivosti ili SRGAN je GAN koji može generirati slike super-razlučivosti od slika niske razlučivosti sa finijim detaljima i boljom kvalitetom.

Aplikacije mogu biti neizmjerne, zamislite kvalitetniju sliku s finijim detaljima generiranim iz slike niske rezolucije. Količina pomoći koju bi pružila za prepoznavanje detalja na slikama niske rezolucije može se koristiti u šire svrhe, uključujući nadzor, dokumentaciju, sigurnost, uzorke otkrivanja itd.

Prijevod slike u sliku

Pix2Pix GAN je model dizajniran za prevođenje slika-slika opće namjene.

Interaktivna generacija slike

GAN-ovi se mogu koristiti i za generiranje interaktivnih slika, Laboratorij za računalne znanosti i umjetnu inteligenciju (CSAIL) razvio je GAN koji može generirati trodimenzionalne modele s realističnim osvjetljenjem i refleksijama omogućenim uređivanjem oblika i teksture.

U novije vrijeme istraživači su smislili model koji može sintetizirati rekonstruirano lice animirano pokretom osobe, istodobno zadržavajući izgled lica.

stvoriti singleton klasu u javi

To nas dovodi do kraja ovog članka u kojem smo naučili 'Što su GAN-ovi'. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču.

Ako smatrate da je ovaj članak o 'Što su GAN-ovi' relevantan, pogledajte članak pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.

Ovdje smo da vam pomognemo u svakom koraku na putovanju i osmislimo kurikulum koji je stvoren za studente i profesionalce koji žele biti . Tečaj je osmišljen kako bi vam pružio prednost u programiranju Pythona i osposobio vas za osnovne i napredne koncepte Pythona, zajedno s raznim Kao

Ako naiđete na neko pitanje, slobodno postavite sva svoja pitanja u odjeljku za komentare u 'Što su GAN-ovi' i naš će tim rado odgovoriti.