Kas ir GAN? Kā un kāpēc tos vajadzētu izmantot!



Šajā rakstā ir sniegts detalizēts skaidrojums “Kas ir GAN” ar ierobežojumiem un izaicinājumiem, kas attiecas uz apmācības procesu un lietojuma ieviešanu.

Generative Adversarial Networks jeb GAN ir ģeneratīvā modelēšanas pieeja, izmantojot Dziļa mācīšanās gudri apmācīt modeli, lai ģenerētu datus, izmantojot apakšmodeļa pieeju. Šajā rakstā mēs centīsimies detalizēti izprast “Kas ir GAN”. Šajā rakstā ir apskatītas šādas tēmas:

Kas ir ģeneratīvie modeļi?

Ģeneratīvie modeļi ir nekas cits kā tie modeļi, kuros tiek izmantots pieeja. Ģeneratīvā modeļa datos ir paraugi, ti, ievades mainīgie X, bet tam trūkst izejas mainīgā Y. Ģeneratīvā modeļa apmācībai mēs izmantojam tikai ievades mainīgos, un tas atpazīst ievades mainīgo modeļus, lai ģenerētu nezināmu izvadi. un pamatojoties tikai uz apmācības datiem.





In , mēs esam vairāk noskaņoti uz prediktīvu modeļu izveidi no ievades mainīgajiem, šāda veida modelēšana ir pazīstama kā diskriminējoša modelēšana. Klasifikācijas uzdevumā modelim ir jānošķir, kurai klasei piemērs pieder. No otras puses, nepieskatīti modeļi tiek izmantoti, lai izveidotu vai ģenerētu jaunus piemērus ievades sadalījumā.

Lai definētu ģeneratīvos modeļus nespeciālistiem, mēs varam teikt, ka ģeneratīvie modeļi no izlases spēj ģenerēt jaunus piemērus, kas ir ne tikai līdzīgi citiem piemēriem, bet arī nav atšķirami.



Visizplatītākais ģeneratīvā modeļa piemērs ir a ko biežāk izmanto kā diskriminējošu modeli. Citi ģeneratīvo modeļu piemēri ietver Gausa maisījuma modeli un diezgan modernu piemēru, kas ir Vispārējie sacīkstes tīkli. Mēģināsim saprast, kas ir GAN?

Kas ir ģeneratīvais sacīkstes tīkls?

Ģeneratīvie sacīkstes tīkli jeb GAN ir dziļi uz mācībām balstīts ģeneratīvs modelis, ko izmanto bez uzraudzības. Būtībā tā ir sistēma, kurā konkurē divi Neironu tīkli sacenšas savā starpā, lai izveidotu vai ģenerētu datu variācijas.

Pirmo reizi to 2014. gadā aprakstīja Īans Gildfords, un standartizētu un daudz stabilu modeļa teoriju Aleks Radfords ierosināja 2016. gadā, kas ir pazīstams kā DCGAN (Deep Convolutional General Adversarial Networks). Lielākā daļa mūsdienās esošo GAN izmanto DCGAN arhitektūru.



GAN arhitektūra sastāv no diviem apakšmodeliem, kas pazīstami kā Ģeneratora modelis un Diskriminatora modelis. Mēģināsim saprast, kā GAN faktiski darbojas.

Kā tas darbojas?

Lai saprastu, kā darbojas GAN, sadalīsim to.

  • Ģeneratīvs - Tas nozīmē, ka modelis seko pieeja un tas ir ģeneratīvs modelis.
  • Sacīkstes - Modelis ir apmācīts sacīkstēs
  • Tīkls - Modeļa apmācībai izmanto neironu tīklus kā mākslīgā intelekta algoritmus.

GAN ir ģeneratoru tīkls, kas ņem paraugu un ģenerē datu paraugu, un pēc tam tīkls Discriminator izlemj, vai dati tiek ģenerēti vai ņemti no reālā parauga, izmantojot bināru problēma ar sigmoīdās funkcijas palīdzību, kas dod izvadi diapazonā no 0 līdz 1.

blokshēma - kas ir gnas - edureka

Ģeneratīvajā modelī datu sadalījums tiek analizēts tā, ka pēc apmācības posma palielinās varbūtība, ka diskriminators kļūdīsies. No otras puses, Diskriminatora pamatā ir modelis, kas novērtēs varbūtību, ka izlase nāk no reāliem datiem, nevis no ģeneratora.

Visu procesu var formalizēt zemāk dotajā matemātiskajā formulā.

Iepriekšminētajā formulā:

G = ģenerators

D = diskriminators

Pdata (x) = reālo datu izplatīšana

kā veikt ekrānuzņēmumu selēna tīmekļa draiverī, izmantojot

Pdata (z) = ģeneratora izplatītājs

x = paraugs no reāliem datiem

z = ģeneratora paraugs

D (x) = Diskriminatoru tīkls

G (z) = ģeneratoru tīkls

Tagad nāk GAN apmācības daļa, kuru var tālāk sadalīt 2 daļās, kuras tiek veiktas secīgi.

Kā apmācīt GAN?

1. daļa:

Apmāciet diskriminatoru un iesaldējiet ģeneratoru, kas nozīmē, ka ģeneratoram iestatītā apmācība tiek pagriezta kā False, un tīkls veiks tikai pāreju uz priekšu, un netiks piemērota atpakaļ izplatīšanās.

kā izveidot singlu klasi java

Būtībā diskriminators tiek apmācīts ar reāliem datiem un pārbauda, ​​vai tas var tos pareizi paredzēt, un tas pats ar viltotiem datiem, lai tos identificētu kā viltus.

2. daļa:

Apmāciet ģeneratoru un iesaldējiet diskriminatoru. Šajā fāzē mēs iegūstam rezultātus no pirmās fāzes un varam tos izmantot, lai uzlabotu iepriekšējo stāvokli, lai mēģinātu labāk apmānīt diskriminatoru.

Soļi apmācībai

  1. Definējiet problēmu - definē problēmu un vāc datus.
  2. Izvēlieties GAN arhitektūru - Atkarībā no jūsu problēmas izvēlieties GAN izskatu.
  3. Vilciena diskriminators par reāliem datiem - Apmāciet diskriminatoru ar reāliem datiem, lai tos n reižu prognozētu kā reālus.
  4. Ģenerēt viltotas ieejas ģeneratoram - ģenerēt viltotus paraugus no ģeneratora
  5. Vilciena diskriminators par viltus datiem - Apmāciet diskriminatoru prognozēt radītos datus kā viltus.
  6. Vilcienu ģenerators ar diskriminatora jaudu - Pēc tam, kad esat saņēmis prognozes par diskriminatoru, apmāciet ģeneratoru apmānīt diskriminatoru

Ģeneratīvā sacīkstes tīkla izaicinājumi

GAN jēdziens ir diezgan aizraujošs, taču ir daudz neveiksmju, kas var radīt daudz šķēršļu tās ceļā. Dažas no galvenajām problēmām, ar kurām saskaras GAN, ir:

  1. Stabilitāte ir nepieciešama starp diskriminatoru un ģeneratoru, pretējā gadījumā viss tīkls vienkārši nokristu. Gadījumā, ja diskriminators ir pārāk spēcīgs, ģenerators pilnībā neizdosies trenēties. Ja tīkls ir pārāk saudzīgs, tiks ģenerēts jebkurš attēls, padarot tīklu bezjēdzīgu.
  2. GAN nožēlojami neizdodas, nosakot objektu pozicionēšana attiecībā uz to, cik reizes objektam vajadzētu notikt šajā vietā.
  3. 3-D perspektīva traucē GAN, jo tas nav spējīgs saprast perspektīvā , tas bieži sniegs plakanu attēlu 3-d objektam.
  4. GAN ir problēma izprast globālie objekti . Tas nevar atšķirt vai saprast holistisku struktūru.
  5. Jaunāki GAN veidi ir attīstītāki, un sagaidāms, ka šie trūkumi tiks pilnībā novērsti.

Ģeneratīvas sacīkstes tīkla lietojumprogrammas

Tālāk ir sniegti daži GAN lietojumi.

Nākamā kadra prognozēšana videoklipā

Nākotnes notikumu prognozēšana video kadrā ir iespējama ar GAN palīdzību. DVD-GAN vai Dual Video Discriminator GAN var ģenerēt 256 × 256 videoklipus ar ievērojamu precizitāti līdz 48 kadriem. To var izmantot dažādiem mērķiem, tostarp uzraudzībai, kurā mēs varam noteikt darbības rāmī, kas tiek sagrozīts citu faktoru, piemēram, lietus, putekļu, dūmu utt.

Teksts uz attēla ģenerēšanu

Objekta vadīts uzmanīgs GAN (obj-GAN), veic teksta-attēla sintēzi divos posmos. Semantiskā izkārtojuma ģenerēšana ir sākotnējais solis, un pēc tam attēla ģenerēšana, sintezējot attēlu, izmantojot konvolucionālu attēla ģeneratoru, ir pēdējais solis.

kas ir scipy pitonā

To varētu intensīvi izmantot attēlu ģenerēšanai, izprotot parakstus, izkārtojumus un precizējot detaļas, sintezējot vārdus. Ir vēl viens pētījums par stāstuGAN, kas var sintezēt visus storyboards no tikai rindkopām.

Attēla izšķirtspējas uzlabošana

Īpaši izšķirtspējas ģeneratīvs pretrunu tīkls jeb SRGAN ir GAN, kas var izveidot augstas izšķirtspējas attēlus no zemas izšķirtspējas attēliem ar sīkākām detaļām un labāku kvalitāti.

Lietojumprogrammas var būt milzīgas, iedomājieties augstākas kvalitātes attēlu ar sīkākām detaļām, kas iegūtas no zemas izšķirtspējas attēla. Palīdzību, ko tā sniegtu, lai identificētu detaļas zemas izšķirtspējas attēlos, var izmantot plašākiem mērķiem, tostarp uzraudzībai, dokumentēšanai, drošībai, modeļu noteikšanai utt.

Attēlu tulkojums

Pix2Pix GAN ir modelis, kas paredzēts vispārējas nozīmes attēlu un attēlu tulkošanai.

Interaktīva attēlu ģenerēšana

GAN var izmantot arī interaktīvu attēlu ģenerēšanai, Datorzinātnes un mākslīgā intelekta laboratorija (CSAIL) ir izstrādājusi GAN, kas var ģenerēt 3D modeļus ar reālistisku apgaismojumu un atstarojumiem, ko nodrošina formas un faktūras rediģēšana.

Pavisam nesen pētnieki ir nākuši klajā ar modeli, kas var sintezēt atjaunotu seju, ko animē cilvēka kustība, vienlaikus saglabājot sejas izskatu.

Tādējādi mēs nonākam līdz šī raksta beigām, kur mēs esam iemācījušies ‘Kas ir GAN’. Es ceru, ka jums ir skaidrs viss, kas ar jums ir kopīgots šajā apmācībā.

Ja atradāt šo rakstu par tematu “Kas ir GAN”, skatiet vietni uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē.

Mēs esam šeit, lai palīdzētu jums ik uz soļa jūsu ceļojumā un izdomātu mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt . Kurss ir paredzēts, lai dotu jums sākumu Python programmēšanā un apmācītu gan pamata, gan uzlabotas Python koncepcijas kopā ar dažādām patīk

Ja rodas kādi jautājumi, droši uzdodiet visus jautājumus komentāru sadaļā “Kas ir GAN”, un mūsu komanda ar prieku atbildēs.