Co jsou to GAN? Jak a proč byste je měli používat!



Tento článek popisuje podrobné vysvětlení „Co jsou to GANy“ s omezeními a výzvami týkajícími se procesu školení a implementace případu použití.

Generativní Adversarial Networks nebo GAN jsou generativní modelovací přístup využívající Hluboké učení trénovat model chytrým způsobem, jak generovat data pomocí přístupu podmodelů. V tomto článku se pokusíme podrobně porozumět tématu „Co jsou to GAN“. V tomto článku jsou popsána následující témata:

Co jsou to generativní modely?

Generativní modely nejsou nic jiného než ty modely, které používají přístup. V generativním modelu jsou v datech vzorky, tj. Vstupní proměnné X, ale chybí výstupní proměnná Y. K trénování generativního modelu používáme pouze vstupní proměnné a rozpoznává vzory ze vstupních proměnných pro generování výstupu, který není znám a pouze na základě tréninkových dat.





v , jsme více sladěni s vytvářením prediktivních modelů ze vstupních proměnných, tento typ modelování je známý jako diskriminační modelování. V klasifikačním problému musí model rozlišovat, do které třídy příklad patří. Na druhou stranu se modely bez dozoru používají k vytváření nebo generování nových příkladů ve vstupní distribuci.

Laicky můžeme definovat generativní modely, které můžeme říci, generativní modely, jsou schopné generovat ze vzorku nové příklady, které jsou nejen podobné ostatním příkladům, ale jsou také nerozeznatelné.



Nejběžnějším příkladem generativního modelu je a který se častěji používá jako diskriminační model. Mezi další příklady generativních modelů patří Gaussian Mixture Model a poměrně moderní příklad, kterým je General Adversarial Networks. Pokusme se pochopit, co jsou GANy?

Co jsou to generativní Adversarial Network?

Generativní Adversarial Networks nebo GAN jsou generativní model založený na hlubokém učení, který se používá pro nekontrolované učení. Je to v zásadě systém, kde dva soupeří Neuronové sítě soutěžit mezi sebou o vytvoření nebo generování variací v datech.

Poprvé to popsal v článku v roce 2014 Ian Goodfellow a standardizovanou a mnohem stabilní teorii modelu navrhl Alec Radford v roce 2016, který je známý jako DCGAN (Deep Convolutional General Adversarial Networks). Většina dnes existujících sítí GAN používá architekturu DCGAN.



Architektura GAN se skládá ze dvou dílčích modelů známých jako Model generátoru a Diskriminační model. Pokusme se pochopit, jak GAN ve skutečnosti fungují.

Jak to funguje?

Abychom pochopili, jak fungují sítě GAN, pojďme to rozebrat.

  • Generativní - To znamená, že model následuje přístup a je generativním modelem.
  • Adversarial - Model je trénován v kontradiktorním prostředí
  • Síť - Pro trénink modelu využívá neuronové sítě jako algoritmy umělé inteligence.

V sítích GAN existuje síť generátoru, která odebírá vzorek a generuje vzorek dat, a poté síť Discriminator rozhodne, zda jsou data generována nebo převzata ze skutečného vzorku pomocí binárního souboru problém s pomocí funkce sigmoid, která dává výstup v rozsahu 0 až 1.

vývojový diagram - co jsou gnas - edureka

Generativní model analyzuje distribuci dat takovým způsobem, že po fázi tréninku se maximalizuje pravděpodobnost chyby diskriminujícího. A diskriminátor je na druhé straně založen na modelu, který odhadne pravděpodobnost, že vzorek pochází ze skutečných dat, a nikoli z generátoru.

jak vytvořit třídu singleton v java

Celý proces lze formalizovat pomocí níže uvedeného matematického vzorce.

Ve výše uvedeném vzorci:

G = generátor

D = diskriminátor

Pdata (x) = Distribuce skutečných dat

Pdata (z) = distributor generátoru

x = vzorek ze skutečných dat

z = vzorek z generátoru

D (x) = diskriminující síť

G (z) = síť generátoru

Nyní přichází tréninková část pro GAN, kterou lze dále rozdělit na 2 části, které se provádějí postupně.

Jak vycvičit GAN?

Část 1:

Trénujte diskriminátor a zmrazte generátor, což znamená, že tréninková sada pro generátor je otočena jako False a síť provede pouze propust dopředu a nebude použita žádná zpětná propagace.

V zásadě je diskriminátor trénován se skutečnými daty a kontroluje, zda je dokáže správně předpovědět, a to samé s falešnými daty, aby je identifikoval jako falešné.

Část 2:

Vycvičte generátor a zmrazte diskriminátor. V této fázi získáme výsledky z první fáze a můžeme je použít k vylepšení z předchozího stavu, abychom se pokusili lépe oklamat diskriminátora.

aktivní a pasivní transformace v informatice

Kroky pro výcvik

  1. Definujte problém - definovat problém a sbírat data.
  2. Vyberte Architecture Of GAN - V závislosti na vašem problému vyberte, jak by měl vypadat váš GAN.
  3. Trénujte diskriminátora na reálných datech - Trénujte diskriminátora skutečnými daty, abyste je mohli několikrát předpovědět jako skutečné.
  4. Generování falešných vstupů pro generátor - Generujte falešné vzorky z generátoru
  5. Trénujte diskriminátor na falešných datech - Trénujte diskriminátora, aby předpověděl generovaná data jako falešná.
  6. Generátor vlaku s výstupem diskriminátoru - Po získání předpovědí diskriminátoru vycvičte generátor, aby diskriminátora oklamal

Výzvy generativní kontradiktorní sítě

Koncept sítí GAN je docela fascinující, ale existuje spousta překážek, které mu mohou na cestě způsobit spoustu překážek. Mezi hlavní výzvy, kterým GAN čelí, patří:

  1. Stabilita je vyžadován mezi diskriminátorem a generátorem, jinak by celá síť prostě padla. V případě, že je diskriminátor příliš silný, generátor nedokáže trénovat úplně. A pokud je síť příliš shovívavá, vygeneruje se jakýkoli obrázek, který ji zneužije.
  2. GAN selhávají při určování umístění předmětů pokud jde o to, kolikrát by se měl objekt na daném místě vyskytnout.
  3. 3D perspektiva problémy GAN, protože není schopen pochopit perspektivní , často poskytne plochý obraz pro 3D objekt.
  4. GAN mají problém porozumět globální objekty . Nemůže rozlišit nebo pochopit holistickou strukturu.
  5. Novější typy sítí GAN jsou pokročilejší a očekává se, že tyto nedostatky zcela překonají.

Generativní Adversarial síťové aplikace

Následuje několik aplikací sítí GAN.

Predikce dalšího snímku ve videu

Predikce budoucích událostí ve videorámečku je umožněna pomocí GAN. DVD-GAN nebo Dual Video Discriminator GAN může generovat 256 × 256 videí s pozoruhodnou věrností až do délky 48 snímků. To lze použít k různým účelům, včetně sledování, ve kterém můžeme určit činnosti v rámci, který se zkreslí kvůli dalším faktorům, jako je déšť, prach, kouř atd.

Generování textu na obrázek

Objektově řízený pozorný GAN (obj-GAN) provádí syntézu textu na obrázek ve dvou krocích. Prvním krokem je generování sémantického rozvržení a posledním krokem je generování obrazu syntézou obrazu pomocí dekonvolučního generátoru obrazu.

To by mohlo být intenzivně použito ke generování obrázků pochopením titulků, rozvržení a upřesněním detailů syntézou slov. Existuje další studie o storyGAN, která dokáže syntetizovat celé storyboardy z pouhých odstavců.

vícenásobné dědictví v Javě s příkladem

Zvýšení rozlišení obrazu

Generativní nepřátelská síť s vysokým rozlišením nebo SRGAN je GAN, který dokáže generovat obrázky v super rozlišení z obrázků s nízkým rozlišením s jemnějšími detaily a lepší kvalitou.

Aplikace mohou být obrovské, představte si obraz vyšší kvality s jemnějšími detaily generovanými z obrazu s nízkým rozlišením. Množství pomoci, které by poskytlo k identifikaci detailů v obrazech s nízkým rozlišením, lze použít pro širší účely, včetně sledování, dokumentace, zabezpečení, detekčních vzorů atd.

Překlad obrázku na obrázek

Pix2Pix GAN je model určený k obecnému překladu obrazu-obrazu.

Generování interaktivního obrazu

GAN lze použít také ke generování interaktivních obrázků. Laboratoř výpočetní techniky a umělé inteligence (CSAIL) vyvinula GAN, který dokáže generovat 3-D modely s realistickým osvětlením a odrazy umožněnými úpravou tvaru a textury.

V poslední době vědci přišli s modelem, který dokáže syntetizovat reenactovaný obličej animovaný pohybem člověka a současně zachovat jeho vzhled.

Tím se dostáváme na konec tohoto článku, kde jsme se naučili „Co jsou GANy“. Doufám, že máte jasno se vším, co bylo s vámi v tomto tutoriálu sdíleno.

Pokud shledáte tento článek „Co jsou GANy“ relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Jsme tu, abychom vám pomohli s každým krokem na vaší cestě a vytvořili osnovy určené pro studenty a profesionály, kteří chtějí být . Kurz je navržen tak, aby vám poskytl náskok v programování v Pythonu a naučil vás základní i pokročilé koncepty Pythonu spolu s různými jako

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Co jsou GANy“ a náš tým vám rád odpoví.