Kaj so GAN? Kako in zakaj bi jih morali uporabljati!



Ta članek zajema podrobno razlago „Kaj so GAN“ z omejitvami in izzivi, ki zajemajo postopek usposabljanja in izvajanje primerov uporabe.

Generativna kontradiktorna omrežja ali GAN so pristop generativnega modeliranja, ki se uporablja Globoko učenje na pameten način usposobiti model za ustvarjanje podatkov s pristopom podmodela. V tem članku bomo poskušali podrobno razumeti “Kaj so GAN”. V tem članku so zajete naslednje teme:

Kaj so generativni modeli?

Generativni modeli niso nič drugega kot tisti modeli, ki uporabljajo pristop. V generativnem modelu so v podatkih vzorci, tj. Vhodne spremenljivke X, vendar nima izhodne spremenljivke Y. Uporabljamo samo vhodne spremenljivke za usposabljanje generativnega modela in prepozna vzorce iz vhodnih spremenljivk, da ustvari izhod, ki ni znan in samo na podlagi podatkov o usposabljanju.





V , bolj smo usmerjeni k ustvarjanju napovednih modelov iz vhodnih spremenljivk, tovrstno modeliranje je znano kot diskriminacijsko modeliranje. Pri klasifikacijskem problemu mora model razlikovati, kateremu razredu primer pripada. Po drugi strani se nenadzorovani modeli uporabljajo za ustvarjanje ali ustvarjanje novih primerov v vhodni distribuciji.

Za opredelitev generativnih modelov v laičnih izrazih lahko rečemo, da generativni modeli lahko iz vzorca ustvarijo nove primere, ki niso le podobni drugim primerom, ampak jih tudi ni mogoče razlikovati.



Najpogostejši primer generativnega modela je ki se pogosteje uporablja kot diskriminacijski model. Drugi primeri generativnih modelov vključujejo Gaussov model mešanice in precej sodoben primer, ki je General Adversarial Networks. Poskusimo razumeti, kaj so GAN-i?

Kaj so generativne kontradiktorne mreže?

Generativna kontradiktorna omrežja ali GAN so poglobljeni generacijski model, ki temelji na nenadzorovanem učenju. V bistvu gre za sistem, kjer tekmujeta dva Nevronske mreže tekmujejo med seboj za ustvarjanje ali ustvarjanje sprememb podatkov.

Prvič ga je leta 2014 v prispevku opisal Ian Goodfellow, leta 2016 pa je Alec Radford, ki je znan kot DCGAN (Deep Convolutional General Adversarial Networks), predlagal standardizirano in precej stabilno teorijo modelov. Večina obstoječih omrežij GAN danes uporablja arhitekturo DCGAN.



Arhitektura GAN je sestavljena iz dveh podmodelov, znanih kot Model generatorja in Model diskriminacije. Poskusimo razumeti, kako GAN dejansko delujejo.

Kako deluje?

Da bi razumeli, kako delujejo GAN-i, ga razčlenimo.

vsota števk števila v javi z uporabo for zanke
  • Splošno - Pomeni, da model sledi pristop in je generativni model.
  • Protislovno - Model je usposobljen v kontradiktornem okolju
  • Omrežje - Za usposabljanje modela uporablja nevronske mreže kot algoritme umetne inteligence.

V GAN-ih obstaja mreža generatorjev, ki vzame vzorec in ustvari vzorec podatkov, po tem pa mreža Discriminator odloči, ali se podatki generirajo ali vzamejo iz resničnega vzorca z binarnim težava s pomočjo sigmoidne funkcije, ki daje izhod v območju od 0 do 1.

diagram poteka - kaj so gnas - edureka

Generativni model analizira distribucijo podatkov tako, da se po fazi usposabljanja verjetnost, da bo diskriminator naredil napako, poveča. In Discriminator po drugi strani temelji na modelu, ki bo ocenil verjetnost, da vzorec prihaja iz resničnih podatkov in ne iz generatorja.

Celoten postopek lahko formaliziramo v matematični formuli, navedeni spodaj.

V zgornji formuli:

G = generator

D = diskriminator

Pdata (x) = distribucija resničnih podatkov

Pdata (z) = Razdelilnik generatorja

x = vzorec iz resničnih podatkov

z = vzorec iz generatorja

D (x) = diskriminatorna mreža

G (z) = Generatorsko omrežje

dvojno na int v javi

Zdaj sledi del usposabljanja za GAN, ki ga lahko nadalje razdelimo na dva dela, ki se izvajata zaporedno.

Kako izuriti GAN?

1. del:

Usposobite diskriminator in zamrznite generator, kar pomeni, da je nastavitveni sklop za generator obrnjen kot False in da bo omrežje izvajalo le podajo naprej in povratno širjenje ne bo uporabljeno.

V bistvu je diskriminator usposobljen z resničnimi podatki in preveri, ali jih lahko pravilno napove, enako pa z lažnimi podatki, da jih prepozna kot lažne.

2. del:

Usposobite generator in zamrznite diskriminator. V tej fazi dobimo rezultate iz prve faze in jih lahko uporabimo za izboljšanje prejšnjega stanja, da bi poskušali bolje zavajati diskriminator.

Koraki za trening

  1. Določite težavo - opredeliti težavo in zbrati podatke.
  2. Izberite Architecture Of GAN - Glede na vašo težavo izberite, kako naj bo vaš GAN.
  3. Usposabljanje diskriminatorja za resnične podatke - Pripravite diskriminator z resničnimi podatki, da jih bodo lahko n predvideli za resnične število krat.
  4. Ustvari ponarejene vnose za generator - Ustvari ponarejene vzorce iz generatorja
  5. Usposabljanje diskriminatorja za lažne podatke - Usposobite diskriminator za predvidevanje ustvarjenih podatkov kot lažnih.
  6. Vlakovni generator z izhodom diskriminatorja - Ko dobite napovedi diskriminatorja, usposobite generatorja, da zavede diskriminator

Izzivi generativne kontradiktorne mreže

Koncept GAN-ov je precej fascinanten, vendar obstaja veliko ovir, ki lahko na njegovi poti povzročijo veliko ovir. Nekateri glavni izzivi, s katerimi se srečujejo GAN, so:

  1. Stabilnost je potrebno med diskriminatorjem in generatorjem, sicer bi celotno omrežje samo padlo. Če je diskriminator premočan, generator ne bo mogel popolnoma trenirati. In če je omrežje preveč popustljivo, se ustvari kakršna koli slika, zaradi katere bo omrežje neuporabno.
  2. GAN-i neuspešno določajo pozicioniranje predmetov glede na to, kolikokrat bi se moral objekt pojaviti na tej lokaciji.
  3. Tridimenzionalna perspektiva problematizira GAN, ker je ne more razumeti perspektiva , bo pogosto dal ravno sliko za 3-d objekt.
  4. GAN-i imajo težave z razumevanjem globalni predmeti . Ne more razlikovati ali razumeti celostne strukture.
  5. Novejše vrste GAN-ov so naprednejše in naj bi te pomanjkljivosti v celoti odpravile.

Generative Adversarial Network Applications

Sledi nekaj aplikacij GAN-ov.

Napovedovanje naslednjega kadra v videoposnetku

Napovedovanje prihodnjih dogodkov v video okvirju je omogočeno s pomočjo GAN-ov. DVD-GAN ali Dual Video Discriminator GAN lahko ustvari 256 × 256 videoposnetkov izjemne natančnosti do 48 sličic. To se lahko uporablja za različne namene, vključno z nadzorom, pri katerem lahko določimo dejavnosti v okviru, ki se popači zaradi drugih dejavnikov, kot so dež, prah, dim itd.

Besedilo za ustvarjanje slik

Objektno pozoren GAN (obj-GAN) izvede sintezo besedila na sliko v dveh korakih. Ustvarjanje semantične postavitve je začetni korak, nato pa je generiranje slike s sintezo slike s pomočjo dekonvolucijskega generatorja slike zadnji korak.

To bi lahko intenzivno uporabili za ustvarjanje slik z razumevanjem napisov, postavitev in izboljšanjem podrobnosti s sintezo besed. Obstaja še ena študija o storyGAN-ih, ki lahko sintetizira celotne snemalne plošče iz zgolj odstavkov.

Izboljšanje ločljivosti slike

kako namestiti php windows -

Generativno kontradiktorno omrežje super-ločljivosti ali SRGAN je GAN, ki lahko ustvari slike super-ločljivosti iz slik z nizko ločljivostjo s podrobnejšimi podrobnostmi in boljšo kakovostjo.

Aplikacij je lahko ogromno, predstavljajte si kakovostnejšo sliko z natančnejšimi podrobnostmi, ustvarjenimi iz slike z nizko ločljivostjo. Količino pomoči, ki bi jo ustvarila za prepoznavanje podrobnosti na slikah z nizko ločljivostjo, lahko uporabimo za širše namene, vključno z nadzorom, dokumentacijo, varnostjo, odkrivanjem vzorcev itd.

Prevajanje slike v sliko

Pix2Pix GAN je model, zasnovan za splošno prevajanje slik-slik.

Interaktivna generacija slik

GAN lahko uporabimo tudi za ustvarjanje interaktivnih slik, Laboratorij za računalništvo in umetno inteligenco (CSAIL) je razvil GAN, ki lahko generira 3-D modele z realistično osvetlitvijo in odsevi, ki jih omogoča urejanje oblike in teksture.

V zadnjem času so raziskovalci pripravili model, ki lahko sintetizira rekonstruiran obraz, ki ga animira gibanje osebe, hkrati pa ohrani videz obraza.

S tem smo prišli do konca tega članka, kjer smo se naučili 'Kaj so GAN-i'. Upam, da ste seznanjeni z vsem, kar je bilo z vami razdeljeno v tej vadnici.

Če se vam zdi članek o tem, kaj so GAN-i, pomemben, si oglejte zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu.

Tu smo, da vam pomagamo pri vsakem koraku na poti in pripravimo učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti . Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Python in vas usposobi za temeljne in napredne koncepte Pythona ter različne všeč

Če naletite na kakršna koli vprašanja, vas prosimo, da vsa vprašanja postavite v oddelku za komentarje v poglavju »Kaj so GAN-i« in naša ekipa vam bo z veseljem odgovorila.