Vad är GAN? Hur och varför ska du använda dem!

Den här artikeln omfattar den detaljerade förklaringen av 'Vad är GAN' med begränsningar och utmaningar som täcker utbildningsprocessen och Implementering av användningsfall

Generativa kontroversiella nätverk eller GAN: er är en generativ modelleringsmetod som använder Djup lärning att träna modellen på ett smart sätt för att generera data med hjälp av submodellmetoden. I den här artikeln kommer vi att försöka förstå 'Vad är GAN' i detalj. Följande ämnen behandlas i den här artikeln:



Vad är generativa modeller?

Generativa modeller är inget annat än de modeller som använder en närma sig. I en generativ modell finns det prover i datan, dvs inmatningsvariabler X, men det saknar utdatavariabeln Y. Vi använder bara inmatningsvariablerna för att träna den generativa modellen och den känner igen mönster från ingångsvariablerna för att generera en okänd utgång och endast baserat på träningsdata.



I , vi är mer inriktade mot att skapa förutsägbara modeller från ingångsvariablerna, denna typ av modellering är känd som diskriminerande modellering. I ett klassificeringsproblem måste modellen urskilja vilken klass exemplet tillhör. Å andra sidan används modeller utan tillsyn för att skapa eller generera nya exempel i ingångsfördelningen.

För att definiera generativa modeller i lekmanns termer kan vi säga, generativa modeller, kan generera nya exempel från urvalet som inte bara liknar andra exempel utan också kan urskiljas.



Det vanligaste exemplet på en generativ modell är en som oftare används som en diskriminerande modell. Andra exempel på generativa modeller inkluderar Gaussian Mixture Model och ett ganska modernt exempel som är General Adversarial Networks. Låt oss försöka förstå vad är GAN?

Vad är generativa kontroversiella nätverk?

Generativa kontroversiella nätverk eller GAN: er är en djupt inlärningsbaserad generativ modell som används för icke-övervakat lärande. Det är i grunden ett system där två tävlar Neurala nätverk konkurrera med varandra för att skapa eller generera variationer i data.

php print_r array

Det beskrevs först i en uppsats 2014 av Ian Goodfellow och en standardiserad och mycket stabil modellteori föreslogs av Alec Radford 2016 som kallas DCGAN (Deep Convolutional General Adversarial Networks). De flesta av de GAN som finns idag använder DCGAN-arkitektur.



GAN-arkitekturen består av två delmodeller som kallas Generatormodell och den Diskriminatormodell. Låt oss försöka förstå hur GAN verkligen fungerar.

Hur fungerar det?

För att förstå hur GAN fungerar, låt oss bryta ner det.

  • Generativ - Det betyder att modellen följer strategi och är en generativ modell.
  • Kontradiktoriskt - Modellen tränas i en kontradiktorisk miljö
  • Nätverk - För träning av modellen använder de neurala nätverken som artificiell intelligensalgoritmer.

I GAN finns det ett generatornätverk som tar ett prov och genererar ett dataprov, och efter detta bestämmer diskrimineringsnätverket om data genereras eller tas från det verkliga samplet med hjälp av en binär problem med hjälp av en sigmoidfunktion som ger utdata i intervallet 0 till 1.

flödesschema - vad är gnas - edureka

Den generativa modellen analyserar distributionen av data på ett sådant sätt att efter träningsfasen maximeras sannolikheten för att diskriminatorn gör ett misstag. Och diskriminatorn, å andra sidan, baseras på en modell som kommer att uppskatta sannolikheten att provet kommer från den verkliga datan och inte generatorn.

Hela processen kan formaliseras i en matematisk formel som ges nedan.

I ovanstående formel:

G = Generator

D = diskriminator

Pdata (x) = Fördelning av verkliga data

Pdata (z) = Distributör av generator

x = exempel från verkliga data

z = prov från generator

D (x) = Discriminator Network

faktoria av ett nummer java

G (z) = Generator Network

Nu kommer träningsdelen för en GAN, som kan delas upp i två delar som görs i följd.

Hur man tränar en GAN?

Del 1:

Träna diskriminatorn och frys generatorn, vilket innebär att träningsuppsättningen för generatorn vänds som falsk och nätverket kommer bara att göra framåtpassningen och ingen backutbredning kommer att tillämpas.

I grund och botten tränas diskriminatorn med riktiga data och kontrollerar om den kan förutsäga dem korrekt, och samma sak med falska data för att identifiera dem som falska.

Del 2:

Träna generatorn och frys diskriminatorn. I denna fas får vi resultaten från den första fasen och kan använda dem för att förbättra från det tidigare tillståndet för att försöka lura diskriminatorn bättre.

Steg för träning

  1. Definiera problemet - definiera problemet och samla in data.
  2. Välj GAN-arkitektur - Beroende på ditt problem, välj hur ditt GAN ska se ut.
  3. Träna diskriminator på verkliga data - Träna diskriminatorn med verkliga data för att förutsäga dem som verkliga under ett antal gånger.
  4. Generera falska ingångar för generator - Generera falska prover från generatorn
  5. Träna diskriminator på falska data - Träna diskriminatorn att förutsäga genererade data som falska.
  6. Tåggenerator med utgång från diskriminator - Efter att ha fått diskriminatorns förutsägelser, träna generatorn att lura diskriminatorn

Utmaningar från generativa kontroversiella nätverk

Begreppet GAN är ganska fascinerande men det finns många bakslag som kan orsaka mycket hinder i dess väg. Några av de största utmaningarna för GAN är:

  1. Stabilitet krävs mellan diskriminatorn och generatorn annars skulle hela nätverket bara falla. Om diskriminatorn är för kraftfull kan generatorn inte träna helt. Och om nätverket är för lätt, skulle någon bild genereras och göra nätverket värdelöst.
  2. GAN: er misslyckas med att bestämma positionering av föremålen när det gäller hur många gånger objektet ska förekomma på den platsen.
  3. 3D-perspektiv stör GAN eftersom det inte kan förstå perspektiv , det ger ofta en platt bild för ett 3-d-objekt.
  4. GAN har problem med att förstå globala objekt . Det kan inte skilja eller förstå en holistisk struktur.
  5. Nyare typer av GAN är mer avancerade och förväntas övervinna dessa brister helt och hållet.

Generativa kontroversiella nätverksapplikationer

Följande är några tillämpningar av GAN.

Förutsägelse av nästa bild i en video

Förutsägelsen av framtida händelser i en videoram möjliggörs med hjälp av GAN. DVD-GAN eller Dual Video Discriminator GAN kan generera 256 × 256 videor med anmärkningsvärd trohet upp till 48 bilder i längd. Detta kan användas för olika ändamål, inklusive övervakning där vi kan bestämma aktiviteterna i en ram som blir förvrängd på grund av andra faktorer som regn, damm, rök etc.

hur man skapar ett Java-paket

Text till bildgenerering

Objektdriven uppmärksam GAN (obj-GAN), utför text-till-bild-syntesen i två steg. Att generera den semantiska layouten är det första steget och att sedan generera bilden genom att syntetisera bilden med hjälp av en de-konvolutionsbildgenerator är det sista steget.

Detta kan användas intensivt för att generera bilder genom att förstå bildtexter, layouter och förfina detaljer genom att syntetisera orden. Det finns en annan studie om storyGAN som kan syntetisera hela storyboards från bara stycken.

Förbättra upplösningen på en bild

Super-resolution generative adversarial network eller SRGAN är ett GAN som kan generera superupplösningsbilder från bilder med låg upplösning med finare detaljer och bättre kvalitet.

Applikationerna kan vara enorma, föreställ dig en bild av högre kvalitet med finare detaljer som genereras från en bild med låg upplösning. Mängden hjälp det skulle ge för att identifiera detaljer i bilder med låg upplösning kan användas för bredare ändamål, inklusive övervakning, dokumentation, säkerhet, detekteringsmönster etc.

Bild till bildöversättning

Pix2Pix GAN är en modell designad för allmän bild-bild-översättning.

Interaktiv bildgenerering

GAN kan också användas för att generera interaktiva bilder, datavetenskap och artificiell intelligenslaboratorium (CSAIL) har utvecklat ett GAN som kan generera 3D-modeller med realistisk belysning och reflektioner som möjliggör redigering av form och struktur.

På senare tid har forskare kommit med en modell som kan syntetisera ett återskapat ansikte animerat av en persons rörelse samtidigt som ansiktsutseendet bevaras samtidigt.

Detta leder oss till slutet av den här artikeln där vi har lärt oss 'Vad är GAN'. Jag hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Om du tyckte att den här artikeln om ”Vad är GAN” är relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.

Vi är här för att hjälpa dig med varje steg på din resa och komma med en läroplan som är utformad för studenter och yrkesverksamma som vill vara en . Kursen är utformad för att ge dig ett försprång till Python-programmering och träna dig för både grundläggande och avancerade Python-koncept tillsammans med olika tycka om

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i 'Vad är GAN' och vårt team kommer gärna att svara.