Grunderna i AI
Vad ÃĪr en Generative Adversarial Network (GAN)?
Generative Adversarial Networks (GANs) ÃĪr typer av neurala nÃĪtverksarkitekturer som kan generera ny data som fÃķljer lÃĪrd mÃķnster. GANs kan anvÃĪndas fÃķr att generera bilder av mÃĪnskliga ansikten eller andra fÃķremÃĨl, fÃķr att utfÃķra text-till-bild-ÃķversÃĪttning, fÃķr att konvertera en typ av bild till en annan, och fÃķr att fÃķrbÃĪttra upplÃķsningen pÃĨ bilder (superupplÃķsning) bland andra tillÃĪmpningar. Eftersom GANs kan generera helt ny data, ÃĪr de i spetsen fÃķr mÃĨnga av de senaste AI-systemen, applikationerna och forskningen. Men hur fungerar GANs egentligen? LÃĨt oss undersÃķka hur GANs fungerar och titta pÃĨ nÃĨgra av deras primÃĪra anvÃĪndningsomrÃĨden.
Definiering av Generativa Modeller och GANs
En GAN ÃĪr ett exempel pÃĨ en generativ modell. De flesta AI-modeller kan delas in i en av tvÃĨ kategorier: Ãķvervakade och oÃķvervakade modeller. Ãvervakade inlÃĪrningsmodeller anvÃĪnds vanligtvis fÃķr att diskriminera mellan olika kategorier av indata, fÃķr att klassificera. I kontrast anvÃĪnds oÃķvervakade modeller vanligtvis fÃķr att sammanfatta datadistributionen, ofta genom att lÃĪra en Gaussisk distribution av datat. Eftersom de lÃĪr sig datadistributionen kan de dra prover frÃĨn denna lÃĪrd distribution och generera ny data.
Olika generativa modeller har olika metoder fÃķr att generera data och berÃĪkna sannolikhetsfÃķrdelningar. Till exempel fungerar Naive Bayes-modellen genom att berÃĪkna en sannolikhetsfÃķrdelning fÃķr de olika indatafunktionerna och den generativa klassen. NÃĪr Naive Bayes-modellen ger en fÃķrutsÃĪgelse, berÃĪknar den den mest sannolika klassen genom att ta sannolikheten fÃķr de olika variablerna och kombinera dem. Andra icke-djupinlÃĪrningsbaserade generativa modeller inkluderar Gaussiska Blandningsmodeller och Latent Dirichlet-allokering (LDA). DjupinlÃĪrningsbaserade generativa modeller inkluderar Restriktiva Boltzmann-maskiner (RBMs), Variationella Autoencoders (VAEs) och naturligtvis GANs.
Generativa Adversarial Networks fÃķreslogs fÃķrst av Ian Goodfellow 2014, och de fÃķrbÃĪttrades av Alec Redford och andra forskare 2015, vilket ledde till en standardiserad arkitektur fÃķr GANs. GANs bestÃĨr faktiskt av tvÃĨ olika nÃĪtverk som ÃĪr sammankopplade. GANs bestÃĨr av tvÃĨ halvor: en genereringsmodell och en diskrimineringsmodell, ocksÃĨ kallad genererator och diskriminatÃķr.
GAN-arkitekturen
Generativa Adversarial Networks ÃĪr byggda av en genereringsmodell och en diskrimineringsmodell som ÃĪr sammankopplade. Genereringsmodellens uppgift ÃĪr att skapa nya exempel pÃĨ data, baserat pÃĨ mÃķnster som modellen har lÃĪrt sig frÃĨn trÃĪningsdatat. Diskrimineringsmodellens uppgift ÃĪr att analysera bilder (fÃķrutsatt att den trÃĪnas pÃĨ bilder) och bestÃĪmma om bilderna ÃĪr genererade/falska eller ÃĪkta.

De tvÃĨ modellerna ÃĪr sammankopplade i en spelteoretisk stil. Genereringsmodellens mÃĨl ÃĪr att producera bilder som bedrar sin motstÃĨndare â diskrimineringsmodellen. Samtidigt ÃĪr diskrimineringsmodellens uppgift att Ãķvervinna sin motstÃĨndare, genereringsmodellen, och upptÃĪcka de falska bilderna som genereringsmodellen producerar. Det faktum att modellerna ÃĪr sammankopplade leder till en kapprustning dÃĪr bÃĨda modellerna fÃķrbÃĪttras. Diskrimineringsmodellen fÃĨr feedback om vilka bilder som var ÃĪkta och vilka som producerades av genereringsmodellen, medan genereringsmodellen fÃĨr information om vilka av dess bilder som flaggades som falska av diskrimineringsmodellen. BÃĨda modellerna fÃķrbÃĪttras under trÃĪningsprocessen, med mÃĨlet att trÃĪna en genereringsmodell som kan producera falsk data som i princip ÃĪr omÃķjlig att skilja frÃĨn ÃĪkta data.
NÃĪr en Gaussisk datadistribution har skapats under trÃĪningsprocessen kan genereringsmodellen anvÃĪndas. Genereringsmodellen matas initialt med en slumpmÃĪssig vektor, som den omvandlar baserat pÃĨ den Gaussiska distributionen. Med andra ord initierar vektorn genereringen. NÃĪr modellen ÃĪr trÃĪnad kommer vektorutrymmet att vara en komprimerad version, eller representation, av datadistributionen. Den komprimerade versionen av datadistributionen kallas latent utrymme eller latenta variabler. Senare kan GAN-modellen sedan ta den latenta utrymmesrepresentationen och dra punkter frÃĨn den, som kan ges till genereringsmodellen och anvÃĪndas fÃķr att generera ny data som ÃĪr mycket lik trÃĪningsdatat.
Diskrimineringsmodellen matas med exempel frÃĨn hela trÃĪningsdomÃĪnen, som bestÃĨr av bÃĨde ÃĪkta och genererad data. De ÃĪkta exemplen finns i trÃĪningsdatasetet, medan den falska datan produceras av genereringsmodellen. Processen att trÃĪna diskrimineringsmodellen ÃĪr exakt densamma som grundlÃĪggande binÃĪr klassificeringsmodellstrÃĪning.
GAN-trÃĪningsprocessen
LÃĨt oss undersÃķka hela trÃĪningsprocessen fÃķr en hypotetisk bildgenereringssuppgift.
FÃķr att bÃķrja med trÃĪnas GAN med ÃĪkta bilder som en del av trÃĪningsdatasetet. Detta stÃĪller diskrimineringsmodellen att skilja mellan genererade och ÃĪkta bilder. Det producerar ocksÃĨ datadistributionen som genereringsmodellen kommer att anvÃĪnda fÃķr att producera ny data.
Genereringsmodellen tar emot en vektor med slumpmÃĪssiga numeriska data och omvandlar dem baserat pÃĨ den Gaussiska distributionen, och returnerar en bild. Den genererade bilden, tillsammans med nÃĨgra ÃĪkta bilder frÃĨn trÃĪningsdatasetet, matas in i diskrimineringsmodellen. Diskrimineringsmodellen kommer att ge en sannolikhetsbaserad fÃķrutsÃĪgelse om bildernas natur, och utdata ett vÃĪrde mellan 0 och 1, dÃĪr 1 vanligtvis ÃĪr ÃĪkta bilder och 0 ÃĪr en falsk bild.

Det finns en dubbel ÃĨterkopplingsloop, eftersom diskrimineringsmodellen matas med sanningen om bilderna, medan genereringsmodellen fÃĨr feedback om dess prestation av diskrimineringsmodellen.
De generativa och diskrimineringsmodellerna spelar ett nollsummespel med varandra. Ett nollsummespel ÃĪr ett spel dÃĪr vinsterna fÃķr ena sidan kommer pÃĨ bekostnad av den andra sidan (summan ÃĪr noll ex). NÃĪr diskrimineringsmodellen kan skilja mellan ÃĪkta och falska exempel, gÃķrs inga ÃĪndringar i diskrimineringsmodellens parametrar. Men stora uppdateringar gÃķrs i modellens parametrar nÃĪr den misslyckas med att skilja mellan ÃĪkta och falska bilder. Det omvÃĪnda gÃĪller fÃķr genereringsmodellen, den straffas (och dess parametrar uppdateras) nÃĪr den misslyckas med att lura diskrimineringsmodellen, men annars ÃĪr dess parametrar ofÃķrÃĪndrade (eller den belÃķnas).
Idealt sett kan genereringsmodellen fÃķrbÃĪttra sin prestation till en punkt dÃĪr diskrimineringsmodellen inte kan skilja mellan de falska och ÃĪkta bilderna. Det betyder att diskrimineringsmodellen kommer att ge sannolikheter pÃĨ 50% fÃķr ÃĪkta och falska bilder, vilket innebÃĪr att de genererade bilderna bÃķr vara omÃķjliga att skilja frÃĨn de ÃĪkta bilderna. I praktiken nÃĨr GANs vanligtvis inte denna punkt. Men genereringsmodellen behÃķver inte skapa perfekt lika bilder fÃķr att fortfarande vara anvÃĪndbar fÃķr de mÃĨnga uppgifter som GANs anvÃĪnds fÃķr.
GAN-tillÃĪmpningar
GANs har ett antal olika tillÃĪmpningar, de flesta av dem kretsar kring generering av bilder och komponenter i bilder. GANs anvÃĪnds vanligtvis i uppgifter dÃĪr den erforderliga bildinformationen saknas eller ÃĪr begrÃĪnsad pÃĨ nÃĨgot sÃĪtt, som en metod fÃķr att generera den erforderliga datan. LÃĨt oss undersÃķka nÃĨgra av de vanliga anvÃĪndningsfallen fÃķr GANs.
Generering av nya exempel fÃķr dataset
GANs kan anvÃĪndas fÃķr att generera nya exempel fÃķr enkla bild-datasets. Om du bara har ett fÃĨtal trÃĪningsexempel och behÃķver fler, kan GANs anvÃĪndas fÃķr att generera ny trÃĪningsdata fÃķr en bildklassificerare, som genererar nya trÃĪningsexempel i olika vinklar och riktningar.
Generering av unika mÃĪnskliga ansikten

Kvinnan pÃĨ den hÃĪr bilden finns inte. Bilden genererades av StyleGAN. Foto: Owlsmcgee via Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)
NÃĪr de ÃĪr tillrÃĪckligt trÃĪnade kan GANs anvÃĪndas fÃķr att generera extremt realistiska bilder av mÃĪnskliga ansikten. Dessa genererade bilder kan anvÃĪndas fÃķr att hjÃĪlpa till att trÃĪna ansiktsigenkÃĪnningsystem.
Bild-till-bild-ÃķversÃĪttning
GANs ÃĪr bra pÃĨ bildÃķversÃĪttning. GANs kan anvÃĪndas fÃķr att fÃĪrga svartvita bilder, ÃķversÃĪtta skisser eller teckningar till fotografiska bilder, eller konvertera bilder frÃĨn dag till natt.
Text-till-bild-ÃķversÃĪttning
Text-till-bild-ÃķversÃĪttning ÃĪr mÃķjlig med hjÃĪlp av GANs. NÃĪr de fÃĨr text som beskriver en bild och den ÃĨtfÃķljande bilden, kan en GAN trÃĪnas fÃķr att skapa en ny bild nÃĪr den fÃĨr en beskrivning av den Ãķnskade bilden.
Redigering och reparation av bilder
GANs kan anvÃĪndas fÃķr att redigera befintliga foton. GANs kan ta bort element som regn eller snÃķ frÃĨn en bild, men de kan ocksÃĨ anvÃĪndas fÃķr att reparera gamla, skadade bilder eller korrupta bilder.
SuperupplÃķsning
SuperupplÃķsning ÃĪr processen att ta en bild med lÃĨg upplÃķsning och infoga fler pixlar i bilden, vilket fÃķrbÃĪttrar upplÃķsningen pÃĨ bilden. GANs kan trÃĪnas fÃķr att ta en bild och generera en hÃķgupplÃķst version av den.
GANs kan ocksÃĨ anvÃĪndas fÃķr att reparera gamla, skadade bilder eller korrupta bilder. SuperupplÃķsning ÃĪr processen att ta en bild med lÃĨg upplÃķsning och infoga fler pixlar i bilden, vilket fÃķrbÃĪttrar upplÃķsningen pÃĨ bilden. GANs kan trÃĪnas fÃķr att ta en bild och generera en hÃķgupplÃķst version av den. GANs kan ocksÃĨ anvÃĪndas fÃķr att reparera gamla, skadade bilder eller korrupta bilder.












