Hva er GAN? Hvordan og hvorfor du skal bruke dem!



Denne artikkelen dekker den detaljerte forklaringen av 'Hva er GAN-er' med begrensninger og utfordringer som dekker opplæringsprosessen og implementering av brukstilfeller.

Generative Adversarial Networks eller GAN er en generativ modelleringsmetode som bruker Dyp læring å trene modellen på en smart måte for å generere data ved å bruke delmodelltilnærmingen. I denne artikkelen vil vi prøve å forstå “Hva er GANer” i detalj. Følgende emner er dekket i denne artikkelen:

Hva er generative modeller?

Generative modeller er ingenting annet enn de modellene som bruker en nærme seg. I en generativ modell er det prøver i dataene, dvs. inputvariabler X, men det mangler outputvariabelen Y. Vi bruker bare inputvariablene til å trene den generative modellen, og den gjenkjenner mønstre fra inputvariablene for å generere en output som er ukjent og kun basert på treningsdataene.





I , vi er mer innrettet mot å lage prediktive modeller fra inngangsvariablene, denne typen modellering er kjent som diskriminerende modellering. I et klassifiseringsproblem må modellen skille mellom hvilken klasse eksemplet tilhører. På den annen side brukes modeller uten tilsyn for å lage eller generere nye eksempler i inngangsfordelingen.

For å definere generative modeller i lekmannsbetegnelser, kan vi si, generative modeller, er i stand til å generere nye eksempler fra utvalget som ikke bare ligner på andre eksempler, men som også ikke kan skilles.



Det vanligste eksemplet på en generativ modell er en som oftere brukes som en diskriminerende modell. Andre eksempler på generative modeller inkluderer Gaussian Mixture Model og et ganske moderne eksempel som er General Adversarial Networks. La oss prøve å forstå Hva er GAN?

Hva er generativt motstandernettverk?

Generative Adversarial Networks eller GANs er en dyplæringsbasert generativ modell som brukes til ikke-overvåket læring. Det er i utgangspunktet et system der to konkurrerer Nevrale nettverk konkurrere med hverandre om å opprette eller generere variasjoner i dataene.

Det ble først beskrevet i et papir i 2014 av Ian Goodfellow, og en standardisert og mye stabil modellteori ble foreslått av Alec Radford i 2016, som er kjent som DCGAN (Deep Convolutional General Adversarial Networks). De fleste GAN-er som eksisterer i dag bruker DCGAN-arkitektur.



GAN-arkitekturen består av to undermodeller kjent som Generatormodell og Diskriminatormodell. La oss prøve å forstå hvordan GAN faktisk fungerer.

Hvordan virker det?

For å forstå hvordan GAN-er fungerer, la oss bryte det ned.

  • Generativ - Det betyr at modellen følger tilnærming og er en generativ modell.
  • Motstander - Modellen er opplært i en kontradiktorisk setting
  • Nettverk - For opplæring av modellen, bruker nevrale nettverk som kunstig intelligens algoritmer.

I GAN er det et generatornettverk som tar et utvalg og genererer et utvalg av data, og etter dette bestemmer Diskriminator-nettverket om dataene blir generert eller hentet fra den virkelige prøven ved hjelp av en binær problem ved hjelp av en sigmoidfunksjon som gir utdata i området 0 til 1.

flytskjema - hva er gnas - edureka

Den generative modellen analyserer distribusjonen av dataene på en slik måte at sannsynligheten for at diskriminatoren gjør en feil maksimerer seg etter treningsfasen. Og diskriminatoren er derimot basert på en modell som vil estimere sannsynligheten for at prøven kommer fra de virkelige dataene og ikke fra generatoren.

forskjell mellom metodeoverbelastning og metodeoverstyring

Hele prosessen kan formaliseres i en matematisk formel gitt nedenfor.

I formelen ovenfor:

G = Generator

D = diskriminator

Pdata (x) = Distribusjon av reelle data

Pdata (z) = Distributør av generator

x = prøve fra reelle data

z = prøve fra generator

D (x) = Diskriminator nettverk

G (z) = Generator Network

Nå kommer treningsdelen for en GAN, som kan deles videre i 2 deler som gjøres sekvensielt.

Hvordan trene en GAN?

Del 1:

Tren diskriminatoren og frys generatoren, noe som betyr at treningssettet for generatoren blir slått på som False, og nettverket vil bare gjøre fremoverpasningen og ingen tilbakeforplantning vil bli brukt.

I utgangspunktet er diskriminatoren trent med ekte data og sjekker om den kan forutsi dem riktig, og det samme med falske data for å identifisere dem som falske.

Del 2:

Tren generatoren og frys diskriminatoren. I denne fasen får vi resultatene fra første fase og kan bruke dem til å gjøre det bedre fra den forrige staten for å prøve å lure diskriminatoren bedre.

hvordan du installerer php windows

Fremgangsmåte for trening

  1. Definer problemet - definere problemet og samle inn data.
  2. Velg Architecture Of GAN - Avhengig av problemet ditt, velg hvordan GAN skal se ut.
  3. Train Discriminator On Real Data - Tren diskriminatoren med reelle data for å forutsi dem som reelle i et antall ganger.
  4. Generer falske innganger for generator - Generer falske prøver fra generatoren
  5. Tren diskriminator på falske data - Tren diskriminatoren i å forutsi genererte data som falske.
  6. Toggenerator med utgang fra diskriminator - Etter å ha fått diskriminatorens spådommer, trener generatoren til å lure diskriminatoren

Utfordringer med generativt motstandernettverk

Konseptet med GAN er ganske fascinerende, men det er mange tilbakeslag som kan forårsake mye hindring i veien. Noen av de største utfordringene GAN står overfor er:

  1. Stabilitet kreves mellom diskriminatoren og generatoren, ellers vil hele nettverket bare falle. I tilfelle hvis diskriminatoren er for kraftig, klarer ikke generatoren å trene helt. Og hvis nettverket er for mildt, vil et hvilket som helst bilde bli generert og gjøre nettverket ubrukelig.
  2. GAN mislykkes stort i å bestemme posisjonering av gjenstandene når det gjelder hvor mange ganger objektet skal forekomme på det stedet.
  3. 3D-perspektiv plager GAN-er, da det ikke er i stand til å forstå perspektiv , vil det ofte gi et flatt bilde for et 3-d objekt.
  4. GAN har problemer med å forstå globale objekter . Det kan ikke skille eller forstå en helhetlig struktur.
  5. Nyere typer GAN er mer avanserte og forventes å overvinne disse manglene helt.

Generative Adversarial Network-applikasjoner

Følgende er noen få applikasjoner av GAN.

Forutsigelse av neste ramme i en video

Forutsigelse av fremtidige hendelser i en videoramme er mulig ved hjelp av GAN-er. DVD-GAN eller Dual Video Discriminator GAN kan generere 256 × 256 videoer med bemerkelsesverdig troskap med en lengde på opptil 48 bilder. Dette kan brukes til forskjellige formål, inkludert overvåking der vi kan bestemme aktivitetene i en ramme som blir forvrengt på grunn av andre faktorer som regn, støv, røyk, etc.

Tekst til bildegenerering

Objektdrevet oppmerksom GAN (obj-GAN), utfører tekst-til-bilde-syntese i to trinn. Generering av semantisk layout er det første trinnet, og deretter er det å generere bildet ved å syntetisere bildet ved å bruke en de-konvolusjonell bildegenerator.

Dette kan brukes intenst til å generere bilder ved å forstå bildetekster, oppsett og avgrense detaljer ved å syntetisere ordene. Det er en annen studie om storyGANs som kan syntetisere hele storyboards fra bare avsnitt.

Java-kode for å avslutte programmet

Forbedre oppløsningen til et bilde

Super-resolution generative adversarial network eller SRGAN er en GAN som kan generere superoppløsningsbildene fra bilder med lav oppløsning med finere detaljer og bedre kvalitet.

Applikasjonene kan være enorme, forestill deg et bilde av høyere kvalitet med finere detaljer generert fra et bilde med lav oppløsning. Mengden hjelp det vil gi til å identifisere detaljer i bilder med lav oppløsning, kan brukes til bredere formål, inkludert overvåking, dokumentasjon, sikkerhet, oppdage mønstre osv.

Oversettelse av bilde til bilde

Pix2Pix GAN er en modell designet for generell bruk av bilde-bilde-oversettelse.

Interaktiv bildegenerering

GAN kan også brukes til å generere interaktive bilder. Datalogi og kunstig intelligenslaboratorium (CSAIL) har utviklet en GAN som kan generere 3D-modeller med realistisk belysning og refleksjoner muliggjort av form- og teksturredigering.

Mer nylig har forskere kommet med en modell som kan syntetisere et gjenopptatt ansikt animert av en persons bevegelse samtidig som ansiktsutseendet bevares.

Dette fører oss til slutten av denne artikkelen der vi har lært ‘Hva er GAN’er”. Jeg håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om 'Hva er GAN-er' relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden.

Vi er her for å hjelpe deg med hvert trinn på reisen og komme med en læreplan som er designet for studenter og fagpersoner som ønsker å være en . Kurset er designet for å gi deg et forsprang i Python-programmering og trene deg for både kjerne- og avanserte Python-konsepter sammen med forskjellige som

Hvis du kommer over noen spørsmål, er du velkommen til å stille alle spørsmålene dine i kommentarfeltet i 'Hva er GAN-er', og teamet vårt svarer gjerne.