Ano ang mga GAN? Paano at bakit mo dapat gamitin ang mga ito!



Saklaw ng artikulong ito ang detalyadong paliwanag ng 'Ano ang mga GAN' na may mga limitasyon at hamon na sumasaklaw sa proseso ng pagsasanay at Paggamit ng Pagpapatupad ng kaso.

Ang Generative Adversarial Networks o GAN ay isang generative na pagmomodelo na diskarte na ginagamit Malalim na Pag-aaral upang sanayin ang modelo sa isang matalino na paraan upang makabuo ng data sa pamamagitan ng paggamit ng diskarte sa sub-modelo. Sa artikulong ito, susubukan naming maunawaan nang detalyado ang 'Ano ang Mga GAN'. Ang mga sumusunod na paksa ay sakop sa artikulong ito:

Ano ang mga Generative Model?

Ang mga generative model ay walang iba kundi ang mga modelong gumagamit ng an lapitan. Sa isang nabuong modelo, may mga sample sa data hal na mga variable ng pag-input X, ngunit wala itong variable ng output Y. Ginagamit lamang namin ang mga variable ng pag-input upang sanayin ang generative model at kinikilala nito ang mga pattern mula sa mga variable ng pag-input upang makabuo ng isang output na hindi kilala at batay lamang sa data ng pagsasanay.





Sa , mas nakahanay kami patungo sa paglikha ng mga mahuhulaan na modelo mula sa mga variable ng pag-input, ang ganitong uri ng pagmomodelo ay kilala bilang diskriminasyon na pagmomodelo. Sa isang problema sa pag-uuri, kailangang i-discriminate ng modelo kung aling klase ang nabibilang na halimbawa. Sa kabilang banda, ang mga hindi sinusuportahang modelo ay ginagamit upang lumikha o makabuo ng mga bagong halimbawa sa pamamahagi ng pag-input.

Upang tukuyin ang mga generative na modelo sa mga term ng layman maaari naming sabihin, ang mga generative na modelo, ay makakalikha ng mga bagong halimbawa mula sa sample na hindi lamang katulad sa iba pang mga halimbawa ngunit hindi rin makikilala.



Ang pinakakaraniwang halimbawa ng isang generative model ay a na mas madalas na ginagamit bilang isang modelo ng diskriminasyon. Ang iba pang mga halimbawa ng mga nabuong modelo ay kasama ang Modelong Paghahalo ng Gaussian at isang medyo modernong halimbawa na ang General Adversarial Networks. Subukan nating maunawaan kung Ano ang Mga GAN?

Ano ang Generative Adversarial Network?

Ang Generative Adversarial Networks o GANs ay isang malalim na modelong generative na batay sa pag-aaral na ginagamit para sa Hindi Pinupamahalaang Pag-aaral. Karaniwan ito ay isang sistema kung saan dalawang nakikipagkumpitensya Mga Neural Network makipagkumpitensya sa bawat isa upang lumikha o makabuo ng mga pagkakaiba-iba sa data.

Una itong inilarawan sa isang papel noong 2014 ni Ian Goodfellow at isang pamantayan at mas matatag na teorya ng modelo ay iminungkahi ni Alec Radford noong 2016 na kilala bilang DCGAN (Deep Convolutional General Adversarial Networks). Karamihan sa mga GAN ngayon na mayroon ay gumagamit ng arkitektura ng DCGAN.



Ang arkitektura ng GANs ay binubuo ng dalawang mga sub-modelo na kilala bilang ang Modelo ng generator at ang Modelong Discriminator. Subukan nating maunawaan kung paano talaga gumagana ang mga GAN.

Paano ito gumagana?

Upang maunawaan kung paano gumagana ang mga GAN, paghiwalayin natin ito.

html na tag para sa line break
  • Generative - Nangangahulugan ito na ang modelo ay sumusunod sa diskarte at isang generative model.
  • Adversarial - Ang modelo ay sinanay sa isang kalaban na setting
  • Network - Para sa pagsasanay ng modelo, gumagamit ng mga neural network bilang mga artipisyal na algorithm ng intelligence.

Sa GANs, mayroong isang Generator network na kumukuha ng isang sample at bumubuo ng isang sample ng data, at pagkatapos nito, nagpapasya ang Discriminator network kung ang data ay nabuo o kinuha mula sa totoong sample gamit ang isang binary problema sa tulong ng isang sigmoid function na nagbibigay ng output sa saklaw na 0 hanggang 1.

flowchart - ano ang mga gnas - edureka

Sinusuri ng generative model ang pamamahagi ng data sa isang paraan na pagkatapos ng yugto ng pagsasanay, ang posibilidad ng discriminator na nagkakamali ay nag-maximize. At ang Discriminator, sa kabilang banda, ay batay sa isang modelo na tantyahin ang posibilidad na ang sample ay nagmumula sa totoong data at hindi sa generator.

Ang buong proseso ay maaaring gawing pormal sa isang pormula sa matematika na ibinigay sa ibaba.

Sa pormula sa itaas:

G = Tagabuo

D = Discriminator

Pdata (x) = Pamamahagi ng totoong data

Pdata (z) = Distributor ng generator

x = sample mula sa totoong data

z = sample mula sa generator

D (x) = Discriminator Network

G (z) = Generator Network

Dumarating ngayon ang bahagi ng pagsasanay para sa isang GAN, na maaaring karagdagang nahahati sa 2 bahagi na tapos nang sunud-sunod.

Paano Magsanay ng Isang GAN?

Bahagi 1:

Sanayin ang diskriminasyon at i-freeze ang generator, na nangangahulugang ang pagsasanay na itinakda para sa generator ay nakabukas bilang Mali at gagawin lamang ng network ang forward pass at hindi ilalapat ang back-propagation.

Karaniwan ang diskriminasyon ay sinanay sa totoong data at sinusuri kung mahuhulaan nila ang mga ito nang tama, at pareho sa pekeng data upang makilala ang mga ito bilang pekeng.

Bahagi 2:

pagkakaiba sa pagitan ng aws at azure

Sanayin ang generator at i-freeze ang diskriminasyon. Sa yugtong ito, nakukuha namin ang mga resulta mula sa unang yugto at magagamit ito upang mas mahusay mula sa nakaraang estado upang masubukan at lokohin ang diskriminasyon.

Mga Hakbang Para sa Pagsasanay

  1. Tukuyin ang problema - tukuyin ang problema at mangolekta ng data.
  2. Piliin ang Arkitektura Ng GAN - Depende sa iyong problema pumili kung paano ang hitsura ng iyong GAN.
  3. Discriminator ng Tren Sa Tunay na Data - Sanayin ang diskriminasyon gamit ang totoong data upang mahulaan ang mga ito bilang tunay para sa n bilang ng beses.
  4. Bumuo ng Pekeng Mga Input Para sa Generator - Bumuo ng pekeng mga sample mula sa generator
  5. Train Discriminator On Fake Data - Sanayin ang diskriminasyon upang mahulaan ang nabuong data bilang pekeng.
  6. Train Generator Sa Ang Output Ng Discriminator - Matapos makuha ang mga hula ng diskriminasyon, sanayin ang generator na lokohin ang diskriminasyon

Mga Hamon Ng Generative Adversarial Network

Ang konsepto ng GAN ay kaakit-akit ngunit maraming mga sagabal na maaaring maging sanhi ng maraming sagabal sa daanan nito. Ang ilan sa mga pangunahing hamon na kinakaharap ng mga GAN ay:

  1. Katatagan ay kinakailangan sa pagitan ng diskriminasyon at ng generator kung hindi man ay mahuhulog lamang ang buong network. Kung sakali, kung ang Discriminator ay masyadong malakas, mabibigo ang generator na sanayin ang kabuuan. At kung ang network ay masyadong mapagbigay, ang anumang imahe ay mabuo na ginagawang walang silbi ang network.
  2. Malubhang nabigo ang mga GAN sa pagtukoy ng pagpoposisyon ng mga bagay sa mga termino kung gaano karaming beses dapat maganap ang object sa lokasyong iyon.
  3. Ang problemang 3-D ay gumugulo sa mga GAN dahil hindi nito maintindihan pananaw , madalas itong magbibigay ng isang patag na imahe para sa isang 3-d na bagay.
  4. Ang mga GAN ay may problema sa pag-unawa sa pandaigdigang mga bagay . Hindi nito naiiba o naiintindihan ang isang holistic na istraktura.
  5. Ang mga mas bagong uri ng GAN ay mas advanced at inaasahang magtagumpay sa kabuuan ng mga pagkukulang na ito.

Mga Application ng Generative Adversarial Network

Ang mga sumusunod ay ilang mga application ng GANs.

Pagtataya ng Susunod na Frame Sa Isang Video

Ang hula ng mga kaganapan sa hinaharap sa isang frame ng video ay ginawang posible sa tulong ng mga GAN. Ang DVD-GAN o Dual Video Discriminator GAN ay maaaring makabuo ng 256 × 256 na mga video ng kilalang katapatan hanggang 48 na mga frame ang haba. Maaari itong magamit para sa iba't ibang mga layunin kabilang ang pagsubaybay kung saan maaari nating matukoy ang mga aktibidad sa isang frame na napangit dahil sa iba pang mga kadahilanan tulad ng ulan, alikabok, usok, atbp.

Teksto sa Pagbuo ng Larawan

Ginagawa ng matulungin na maasikaso na GAN (obj-GAN), gumaganap ng pagbubuo ng teksto sa imahe sa dalawang hakbang. Ang pagbuo ng layout ng semantiko ay ang paunang hakbang at pagkatapos ay pagbuo ng imahe sa pamamagitan ng pagbubuo ng imahe sa pamamagitan ng paggamit ng isang de-convolutional na imaheng generator ay ang panghuling hakbang.

Maaari itong magamit nang masinsinang upang makabuo ng mga imahe sa pamamagitan ng pag-unawa sa mga caption, layout at pinuhin ang mga detalye sa pamamagitan ng pagbubuo ng mga salita. May isa pang pag-aaral tungkol sa mga storyGAN na maaaring synthesize ang buong mga storyboard mula sa mga talata lamang.

Pagpapahusay ng Resolusyon ng isang Imahe

Ang super-resolusyon na generative na adversarial network o SRGAN ay isang GAN na maaaring makabuo ng mga super-resolusyon na imahe mula sa mga imahe na may mababang resolusyon na may mas detalyadong mga detalye at mas mahusay na kalidad.

Ang mga application ay maaaring maging napakalawak, isipin ang isang mas mataas na kalidad ng imahe na may mas pinong mga detalye na nabuo mula sa isang imahe na may mababang resolusyon. Ang dami ng tulong na makagawa nito upang makilala ang mga detalye sa mga imahe na may mababang resolusyon ay maaaring magamit para sa mas malawak na layunin kabilang ang pagsubaybay, dokumentasyon, seguridad, pagtuklas ng mga pattern, atbp.

Imahe Sa Pagsasalin ng Imahe

Ang Pix2Pix GAN ay isang modelo na idinisenyo para sa pangkalahatang layunin ng imahe-imahe-pagsasalin.

Pakikipag-ugnay na Pagbuo ng Larawan

Ang GAN ay maaaring magamit upang makabuo ng mga interactive na imahe din, ang Computer Science at artipisyal na intelihensiya ng laboratoryo (CSAIL) ay bumuo ng isang GAN na maaaring makabuo ng mga modelo ng 3-D na may makatotohanang pag-iilaw at mga pagsasalamin na pinagana ng pag-edit ng hugis at pagkakayari.

Kamakailan-lamang, ang mga mananaliksik ay nakagawa ng isang modelo na maaaring synthesize ng isang reenact mukha na animated sa pamamagitan ng isang kilusan ng isang tao habang pinapanatili ang hitsura ng mukha nang sabay-sabay.

Dinadala tayo nito sa pagtatapos ng artikulong ito kung saan natutunan natin ang 'Ano ang mga GAN '. Inaasahan kong malinaw ka sa lahat ng naibahagi sa iyo sa tutorial na ito.

Kung nakita mo ang artikulong ito sa 'Ano ang mga GAN' na nauugnay, tingnan ang isang pinagkakatiwalaang kumpanya sa online na pag-aaral na may isang network ng higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

pinakamahusay na java ide para sa mga nagsisimula

Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay at magkaroon ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging . Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa Python program at sanayin ka para sa parehong core at advanced na mga konsepto ng Python kasama ang iba't ibang katulad

Kung may nahahanap kang anumang mga katanungan, huwag mag-atubiling itanong ang lahat ng iyong mga katanungan sa seksyon ng mga komento ng 'Ano ang mga GAN' at ang aming koponan ay nalulugod na sagutin.