Hvad er GAN'er? Hvordan og hvorfor du skal bruge dem!



Denne artikel dækker den detaljerede forklaring af 'Hvad er GAN'er' med begrænsninger og udfordringer, der dækker træningsprocessen og implementering af brugssager.

Generative modsætningsnetværk eller GAN'er er en generativ modelleringsmetode, der bruger Dyb læring at træne modellen på en smart måde til at generere data ved hjælp af submodel-tilgangen. I denne artikel vil vi forsøge at forstå “Hvad er GAN'er” i detaljer. Følgende emner er dækket af denne artikel:

Hvad er generative modeller?

Generative modeller er intet andet end de modeller, der bruger en nærme sig. I en generativ model er der prøver i dataene, dvs. inputvariabler X, men den mangler outputvariablen Y. Vi bruger kun inputvariablerne til at træne den generative model, og den genkender mønstre fra inputvariablerne til at generere en output, der er ukendt og kun baseret på træningsdataene.





I , vi er mere tilpasset til at skabe forudsigelige modeller fra inputvariablerne, denne type modellering er kendt som diskriminerende modellering. I et klassificeringsproblem skal modellen skelne mellem, hvilken klasse eksemplet tilhører. På den anden side bruges modeller uden tilsyn til at oprette eller generere nye eksempler i inputfordelingen.

For at definere generative modeller i lægmandssæt kan vi sige, generative modeller, er i stand til at generere nye eksempler fra prøven, der ikke kun ligner andre eksempler, men som også kan skelnes.



Det mest almindelige eksempel på en generativ model er en som ofte bruges som en diskriminerende model. Andre eksempler på generative modeller inkluderer Gaussian Mixture Model og et ret moderne eksempel, der er General Adversarial Networks. Lad os prøve at forstå Hvad er GAN'er?

Hvad er generativt kontradiktorisk netværk?

Generative Adversarial Networks eller GAN'er er en dyb-læringsbaseret generativ model, der bruges til ikke-overvåget læring. Det er dybest set et system, hvor to konkurrerer Neurale netværk konkurrere med hinanden om at oprette eller generere variationer i dataene.

Det blev først beskrevet i et papir i 2014 af Ian Goodfellow, og en standardiseret og meget stabil modelteori blev foreslået af Alec Radford i 2016, der er kendt som DCGAN (Deep Convolutional General Adversarial Networks). De fleste af de GAN'er, der findes i dag, bruger DCGAN-arkitektur.



GAN-arkitekturen består af to undermodeller kendt som Generatormodel og Diskriminator-model. Lad os prøve at forstå, hvordan GAN'er faktisk fungerer.

Hvordan virker det?

Lad os nedbryde det for at forstå, hvordan GAN fungerer.

  • Generativ - Det betyder, at modellen følger tilgang og er en generativ model.
  • Kontradiktorisk - Modellen trænes i en kontradiktorisk indstilling
  • Netværk - Til træning af modellen bruger de neurale netværk som algoritmer for kunstig intelligens.

I GAN'er er der et generatornetværk, der tager en prøve og genererer en stikprøve af data, og derefter beslutter Diskriminator-netværket, om dataene genereres eller tages fra den rigtige prøve ved hjælp af en binær problem ved hjælp af en sigmoid-funktion, der giver output i området 0 til 1.

flowchart - hvad er gnas - edureka

Den generative model analyserer distributionen af ​​dataene på en sådan måde, at sandsynligheden for, at diskriminatoren begår en fejl maksimerer efter træningsfasen. Og Diskriminatoren er derimod baseret på en model, der estimerer sandsynligheden for, at prøven kommer fra de reelle data og ikke fra generatoren.

Hele processen kan formaliseres i en matematisk formel, der er angivet nedenfor.

I ovenstående formel:

G = Generator

D = diskriminator

Pdata (x) = Fordeling af reelle data

undtagelseshåndtering i pl kvl

Pdata (z) = Distributør af generator

x = prøve fra reelle data

z = prøve fra generator

D (x) = Diskriminator netværk

G (z) = Generatornetværk

Nu kommer træningsdelen til en GAN, som yderligere kan opdeles i 2 dele, der udføres sekventielt.

Sådan træner du et GAN?

Del 1:

Træn diskriminatoren og frys generatoren, hvilket betyder, at træningssættet til generatoren er vendt som falsk, og netværket vil kun foretage et fremadgående pass, og der vil ikke blive anvendt nogen tilbagespredning.

flet sortering c ++ - algoritme

Grundlæggende trænes diskriminatoren med de rigtige data og kontrollerer, om den kan forudsige dem korrekt, og det samme med falske data for at identificere dem som falske.

Del 2:

Træn generatoren og frys diskriminatoren. I denne fase får vi resultaterne fra den første fase og kan bruge dem til at gøre det bedre fra den tidligere tilstand for at prøve at narre diskriminatoren bedre.

Trin til træning

  1. Definer problemet - definere problemet og indsamle data.
  2. Vælg GAN-arkitektur - Afhængigt af dit problem skal du vælge, hvordan din GAN skal se ud.
  3. Træn diskriminator på rigtige data - Træn diskriminatoren med ægte data til at forudsige dem som reelle i et antal gange.
  4. Generer falske input til generator - Generer falske prøver fra generatoren
  5. Træn diskriminator på falske data - Træn diskriminatoren til at forudsige de genererede data som falske.
  6. Toggenerator med output fra diskriminator - Efter at have fået forudsigelserne om diskriminator, skal du træne generatoren til at narre diskriminatoren

Udfordringer ved generativt kontradiktorisk netværk

Begrebet GAN'er er ret fascinerende, men der er mange tilbageslag, der kan forårsage en masse hindringer i vejen. Nogle af de største udfordringer, som GAN står over for, er:

  1. Stabilitet kræves mellem diskriminatoren og generatoren, ellers ville hele netværket bare falde. Hvis diskriminatoren er for kraftig, kan generatoren ikke træne helt. Og hvis netværket er for skånsomt, genereres ethvert billede, hvilket gør netværket ubrugeligt.
  2. GAN mislykkes hårdt i bestemmelsen af positionering af objekterne med hensyn til hvor mange gange objektet skal forekomme på det sted.
  3. 3-D perspektiv plager GAN'er, da det ikke er i stand til at forstå perspektiv , det giver ofte et fladt billede for et 3-d objekt.
  4. GAN'er har et problem med at forstå globale objekter . Det kan ikke differentiere eller forstå en holistisk struktur.
  5. Nyere typer GAN'er er mere avancerede og forventes at overvinde disse mangler helt.

Generelle kontradiktoriske netværksapplikationer

Følgende er et par applikationer af GAN'er.

Forudsigelse af næste ramme i en video

Forudsigelsen af ​​fremtidige begivenheder i en videoramme muliggøres ved hjælp af GAN'er. DVD-GAN eller Dual Video Discriminator GAN kan generere 256 × 256 videoer med bemærkelsesværdig troskab op til 48 billeder i længden. Dette kan bruges til forskellige formål, herunder overvågning, hvor vi kan bestemme aktiviteterne i en ramme, der bliver forvrænget på grund af andre faktorer som regn, støv, røg osv.

Tekst til billedgenerering

Objektdrevet opmærksom GAN (obj-GAN) udfører syntese af tekst til billede i to trin. Generering af semantisk layout er det indledende trin, og derefter er det sidste trin at generere billedet ved at syntetisere billedet ved hjælp af en de-konvolutionsbilledgenerator.

pmi-acp det værd

Dette kunne bruges intensivt til at generere billeder ved at forstå billedtekster, layouts og forfine detaljer ved at syntetisere ordene. Der er en anden undersøgelse om storyGAN'erne, der kan syntetisere hele storyboards fra blot afsnit.

Forbedring af et billedes opløsning

Superopløsningsgenererende adversarialnetværk eller SRGAN er en GAN, der kan generere superopløsningsbilleder fra billeder med lav opløsning med finere detaljer og bedre kvalitet.

Applikationerne kan være enorme, forestil dig et billede af højere kvalitet med finere detaljer genereret fra et billede med lav opløsning. Mængden af ​​hjælp, det ville producere til at identificere detaljer i billeder med lav opløsning, kan bruges til bredere formål, herunder overvågning, dokumentation, sikkerhed, afsløring af mønstre osv.

Oversættelse af billede til billede

Pix2Pix GAN er en model designet til generel brug af billede-billede-oversættelse.

Interaktiv billedgenerering

GAN'er kan også bruges til at generere interaktive billeder, Computer Science og kunstig intelligenslaboratorium (CSAIL) har udviklet et GAN, der kan generere 3D-modeller med realistisk belysning og refleksioner muliggjort af form- og teksturredigering.

For nylig er forskere kommet med en model, der kan syntetisere et reenacted ansigt animeret af en persons bevægelse, samtidig med at ansigtets udseende bevares på samme tid.

Dette bringer os til slutningen af ​​denne artikel, hvor vi har lært 'Hvad er GAN'er'. Jeg håber, du er klar med alt, hvad der er delt med dig i denne vejledning.

Hvis du fandt denne artikel om 'Hvad er GAN'er' relevant, skal du tjekke et betroet online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Vi er her for at hjælpe dig med hvert trin på din rejse og komme med en læseplan, der er designet til studerende og fagfolk, der ønsker at være en . Kurset er designet til at give dig et forspring i Python-programmering og træne dig til både kerne- og avancerede Python-koncepter sammen med forskellige synes godt om

Hvis du støder på spørgsmål, er du velkommen til at stille alle dine spørgsmål i kommentarfeltet i 'Hvad er GAN'er', og vores team vil med glæde svare.