Čo sú to GANy? Ako a prečo by ste ich mali používať!



Tento článok sa zaoberá podrobným vysvetlením pojmu „Čo sú to siete GAN“ s obmedzeniami a výzvami týkajúcimi sa procesu školenia a implementácie prípadu použitia.

Generatívne Adversarial Networks alebo GAN sú generatívnym prístupom modelovania, ktorý sa používa Hlboké učenie šikovným spôsobom trénovať model generovania údajov pomocou prístupu podmodelu. V tomto článku sa pokúsime podrobne porozumieť téme „Čo sú to GANy“. V tomto článku sa venujeme týmto témam:

Čo sú to generatívne modely?

Generatívne modely nie sú nič iné ako tie modely, ktoré používajú prístup. V generatívnom modeli sú v dátach vzorky, tj. Vstupné premenné X, ale chýba mu výstupná premenná Y. Na trénovanie generatívneho modelu používame iba vstupné premenné a rozpoznáva vzory zo vstupných premenných na generovanie výstupu, ktorý nie je známy. a iba na základe tréningových údajov.





V , sme viac zosúladení s vytváraním prediktívnych modelov zo vstupných premenných, tento typ modelovania je známy ako diskriminačné modelovanie. Pri probléme s klasifikáciou musí model rozlišovať, do ktorej triedy patrí príklad. Na druhej strane sa modely bez dozoru používajú na vytváranie alebo generovanie nových príkladov vo vstupnej distribúcii.

Laicky môžeme definovať generatívne modely, ktoré môžeme povedať, generatívne modely, ktoré sú schopné generovať zo vzorky nové príklady, ktoré sú nielen podobné iným príkladom, ale sú tiež nerozlíšiteľné.



Najbežnejším príkladom generatívneho modelu je a ktorý sa častejšie používa ako diskriminačný model. Medzi ďalšie príklady generatívnych modelov patrí Gaussian Mixture Model a pomerne moderný príklad, ktorým je General Adversarial Networks. Pokúsme sa pochopiť, čo sú GANy?

Čo sú generatívne kontradiktórne siete?

Generatívne Adversarial Networks alebo GANs sú generatívny model založený na hlbokom učení, ktorý sa používa pre učenie bez dozoru. Je to v podstate systém, kde dvaja súperia Neurálne siete navzájom si konkurujú pri vytváraní alebo generovaní variácií údajov.

Prvýkrát to popísal v článku v roku 2014 Ian Goodfellow a štandardizovanú a oveľa stabilnejšiu teóriu modelu navrhol Alec Radford v roku 2016, ktorý je známy ako DCGAN (Deep Convolutional General Adversarial Networks). Väčšina súčasných GAN používa architektúru DCGAN.



Architektúra GANs sa skladá z dvoch čiastkových modelov známych ako Model generátora a Diskriminačný model. Pokúsme sa pochopiť, ako vlastne fungujú siete GAN.

Ako to funguje?

Aby sme pochopili, ako fungujú siete GAN, rozoberme si to.

  • Generatívne - To znamená, že model nasleduje prístup a je generatívnym modelom.
  • Adversarial - Model je trénovaný v kontradiktórnom prostredí
  • Sieť - Na výcvik modelu využíva neurónové siete ako algoritmy umelej inteligencie.

V sieťach GAN existuje sieť generátorov, ktorá odoberá vzorku a generuje vzorku údajov. Sieť diskriminátora potom rozhodne, či sa údaje generujú alebo odoberajú zo skutočnej vzorky pomocou binárneho súboru. problém pomocou sigmoidnej funkcie, ktorá dáva výstup v rozsahu 0 až 1.

vývojový diagram - čo sú to gnas - edureka

Generatívny model analyzuje distribúciu údajov takým spôsobom, že po tréningovej fáze sa maximalizuje pravdepodobnosť chyby diskriminujúceho. A diskriminátor je na druhej strane založený na modeli, ktorý odhadne pravdepodobnosť, že vzorka pochádza zo skutočných údajov, a nie z generátora.

ako vytvoriť triedu singleton v jave

Celý proces možno formalizovať pomocou matematického vzorca uvedeného nižšie.

Vo vyššie uvedenom vzorci:

G = generátor

D = Diskriminátor

Pdata (x) = Distribúcia skutočných údajov

Pdata (z) = distribútor generátora

x = vzorka zo skutočných údajov

z = vzorka z generátora

D (x) = Diskriminačná sieť

G (z) = sieť generátora

Teraz prichádza tréningová časť pre GAN, ktorú je možné ďalej rozdeliť na 2 časti, ktoré sa robia postupne.

Ako trénovať GAN?

Časť 1:

Vycvičte diskriminátor a zmrazte generátor, čo znamená, že tréningová sada pre generátor je otočená na hodnotu False a sieť bude robiť iba priechod vpred a nebude sa aplikovať spätné šírenie.

Diskriminátor je v zásade trénovaný so skutočnými údajmi a kontroluje, či ich dokáže správne predpovedať. Rovnako je to s falošnými údajmi, aby ich mohol označiť za falošné.

Časť 2:

Vycvičte generátor a zmrazte diskriminátor. V tejto fáze dostaneme výsledky z prvej fázy a môžeme ich použiť na zlepšenie predchádzajúceho stavu, aby sme sa pokúsili lepšie oklamať diskriminujúceho.

ako vytvoriť power bi dashboard

Kroky pre výcvik

  1. Definujte problém - definovať problém a zhromažďovať údaje.
  2. Vyberte si Architecture Of GAN - V závislosti od vášho problému vyberte, ako by mal váš GAN vyzerať.
  3. Trénujte diskriminátora na základe skutočných údajov - Trénujte diskriminátora pomocou skutočných údajov, aby ste ich mohli mnohokrát predpovedať ako skutočných.
  4. Generujte falošné vstupy pre generátor - Generujte falošné vzorky z generátora
  5. Trénujte diskriminátora na falošných údajoch - Vycvičte diskriminátora, aby predpovedal generované údaje ako falošné.
  6. Generátor vlaku s výstupom diskriminátora - Po získaní predpovedí diskriminátora trénujte generátor, aby ste diskriminátora oklamali

Výzvy generatívnej kontradiktórnej siete

Koncept sietí GAN je dosť fascinujúci, ale existuje veľa prekážok, ktoré môžu spôsobiť veľa prekážok v jeho ceste. Niektoré z hlavných výziev, ktorým čelia siete GAN, sú:

  1. Stabilita medzi diskriminátorom a generátorom sa vyžaduje, inak by celá sieť iba padla. V prípade, že je diskriminátor príliš silný, generátor nedokáže úplne trénovať. A ak je sieť príliš zhovievavá, vygeneruje sa akýkoľvek obrázok, ktorý ju zneužije.
  2. GAN zlyhávajú pri určovaní umiestnenie objektov pokiaľ ide o to, koľkokrát by sa mal objekt na danom mieste vyskytnúť.
  3. 3D perspektíva znepokojuje GAN, pretože nie je schopná pochopiť perspektíva , často poskytne plochý obraz pre trojrozmerný objekt.
  4. GAN majú problém porozumieť globálne objekty . Nedokáže rozlíšiť alebo pochopiť holistickú štruktúru.
  5. Novšie typy sietí GAN sú pokročilejšie a očakáva sa, že tieto nedostatky úplne prekonajú.

Generatívne sporové sieťové aplikácie

Nasleduje niekoľko aplikácií sietí GAN.

Predikcia ďalšieho rámca vo videu

Predikcia budúcich udalostí vo video snímke je možná pomocou GAN. DVD-GAN alebo Dual Video Discriminator GAN dokáže generovať 256 × 256 videí pozoruhodnej vernosti až do dĺžky 48 snímok. To možno použiť na rôzne účely vrátane sledovania, pri ktorom môžeme určiť aktivity v rámci, ktorý sa skreslí v dôsledku iných faktorov, ako je dážď, prach, dym atď.

Generovanie textu na obrázok

Objektovo riadený pozorný GAN (obj-GAN) vykonáva syntézu textu na obrázok v dvoch krokoch. Počiatočným krokom je generovanie sémantického rozloženia a posledným krokom je generovanie obrázka jeho syntézou pomocou dekonvolučného generátora obrazu.

To by sa dalo intenzívne použiť na generovanie obrázkov pochopením titulkov, rozložení a spresnením detailov syntézou slov. Existuje ďalšia štúdia o storyGAN, ktorá dokáže syntetizovať celé storyboardy z iba odsekov.

viacnásobné dedičstvo v jave s príkladom

Zvýšenie rozlíšenia obrázka

Generatívna kontradiktórna sieť s vysokým rozlíšením alebo SRGAN je GAN, ktorý dokáže generovať obrázky v super rozlíšení z obrazov s nízkym rozlíšením s jemnejšími detailmi a lepšou kvalitou.

Aplikácií môže byť neúrekom, predstavte si kvalitnejší obraz s jemnejšími detailmi generovanými z obrázka s nízkym rozlíšením. Množstvo pomoci, ktoré by vyprodukovalo pri identifikácii detailov v obrázkoch s nízkym rozlíšením, sa dá využiť na širšie účely vrátane sledovania, dokumentácie, bezpečnosti, detekcie vzorov atď.

Preklad medzi obrázkami

Pix2Pix GAN je model určený na všeobecné preklady obrázkov a obrázkov.

Generovanie interaktívneho obrazu

GAN je možné použiť aj na generovanie interaktívnych obrázkov. Laboratórium počítačovej vedy a umelej inteligencie (CSAIL) vyvinulo GAN, ktoré dokáže generovať trojrozmerné modely s realistickým osvetlením a odrazmi, ktoré umožňujú úpravy tvaru a textúry.

Nedávno vedci prišli s modelom, ktorý dokáže syntetizovať rekonštruovanú tvár animovanú pohybom človeka a súčasne zachovať jej vzhľad.

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli „Čo sú to GANY“. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak považujete tento článok o „Čo sú to GANY“ za relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste a prišli s učebným plánom, ktorý je určený pre študentov a profesionálov, ktorí chcú byť . Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Pythone a naučil vás základné aj pokročilé koncepty Pythonu spolu s rôznymi Páči sa mi to

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Čo sú GANy“ a náš tím na ne rád odpovie.