Generatív ellenséges hálózatok (GAN): Bevezetés

A generatív ellenséges hálózatok (GAN-ok) a modern technológiák egyike, amelyek számos felhasználási esetben sok lehetőséget kínálnak, kezdve az elöregedett képek létrehozásától és hangjának növelésétől a különféle alkalmazásokig az orvosi és más iparágakban.

Ez a fejlett technológia segíthet a termékek és szolgáltatások kialakításában. Az emlékek megőrzése érdekében a képminőség javítására is használható.

Míg a GAN-ok sokak számára áldásosak, néhányan aggasztónak találják.

De mi is ez a technológia pontosan?

Ebben a cikkben megvitatom, mi az a GAN, hogyan működik és alkalmazásai.

Szóval, ugorjunk bele!

Mi az a generatív ellenséges hálózat?

A Generatív Adversarial Network (GAN) egy gépi tanulási keretrendszer, amely két neurális hálózatból áll, amelyek versenyeznek a pontosabb előrejelzések, például képek, egyedi zene, rajzok stb.

A GAN-t 2014-ben tervezte egy informatikus és mérnök, Ian Goodfellow és néhány kollégája. Egyedülálló mély neurális hálózatok, amelyek képesek olyan új adatokat generálni, amelyek hasonlóak ahhoz, amelyre oktatják őket. Egy nulla összegű játékban versenyeznek, amelynek eredményeként az egyik ügynök elveszíti a játékot, míg a másik megnyeri.

Eredetileg a GAN-okat a gépi tanulás generatív modelljeként javasolták, főleg a felügyelet nélküli tanuláshoz. A GAN-ok azonban hasznosak a teljes körűen felügyelt tanuláshoz, a félig felügyelt tanuláshoz és a megerősített tanuláshoz is.

A GAN-ban versenyezõ két blokk:

A generátor: Ez egy konvolúciós neurális hálózat, amely mesterségesen állít elő a tényleges adatokhoz hasonló kimeneteket.

A diszkriminátor: Ez egy dekonvolúciós neurális hálózat, amely képes azonosítani a mesterségesen létrehozott kimeneteket.

Kulcsfogalmak

A GAN fogalmának jobb megértéséhez gyorsan megértsünk néhány fontos kapcsolódó fogalmat.

Gépi tanulás (ML)

A gépi tanulás a mesterséges intelligencia (AI) része, amely magában foglalja a tanulást és a modellek felépítését, amelyek az adatok felhasználásával javítják a teljesítményt és a pontosságot feladatok végrehajtása, döntések vagy előrejelzések meghozatala során.

Az ML algoritmusok képzési adatok alapján modelleket hoznak létre, amelyek folyamatos tanulással javulnak. Több területen használják őket, beleértve a számítógépes látást, az automatizált döntéshozatalt, az e-mail-szűrést, az orvostudományt, a banki ügyeket, az adatminőséget, a kiberbiztonságot, a beszédfelismerést, az ajánlási rendszereket és még sok mást.

Megkülönböztető modell

A mély tanulásban és a gépi tanulásban a megkülönböztető modell osztályozóként működik, hogy különbséget tegyen egy szintkészlet vagy két osztály között.

Például a különböző gyümölcsök vagy állatok megkülönböztetése.

Generatív modell

A generatív modellekben a véletlenszerű minták új valósághű képeket hoznak létre. Tanul egyes tárgyak vagy élőlények valós képeiből, hogy saját valósághű, de utánzott ötleteket hozzon létre. Ezeknek a modelleknek két típusa van:

Változatos autoenkóderek: Olyan kódolókat és dekódolókat használnak, amelyek külön neurális hálózatok. Ez azért működik, mert egy adott valósághű kép áthalad egy kódolón, hogy ezeket a képeket vektorokként jelenítse meg egy látens térben.

Ezután egy dekódert használnak ezeknek az értelmezéseknek a készítésére, hogy ezekről a képekről valósághű másolatokat készítsenek. Eleinte a képminősége gyenge lehet, de a dekóder teljes működése után javulni fog, és figyelmen kívül hagyhatja a kódolót.

Generatív ellenséges hálózatok (GAN-ok): Ahogy fentebb tárgyaltuk, a GAN egy mély neurális hálózat, amely képes új, hasonló adatokat generálni az általa biztosított adatbevitelből. A felügyelet nélküli gépi tanulás hatálya alá tartozik, amely az alábbiakban tárgyalt gépi tanulási típusok egyike.

Felügyelt tanulás

A felügyelt oktatás során egy gépet jól címkézett adatok felhasználásával képeznek ki. Ez azt jelenti, hogy bizonyos adatok már meg lesznek címkézve a helyes válasszal. Itt a gép néhány adatot vagy példát kap, amelyek lehetővé teszik a felügyelt tanulási algoritmus számára, hogy elemezze a betanítási adatokat, és pontos eredményt állítson elő ezekből a címkézett adatokból.

  Hogyan lehet kijelentkezni a Mac-ről egy meghatározott tétlenség után

Felügyelet nélküli tanulás

A felügyelet nélküli tanulás magában foglalja a gép betanítását olyan adatok segítségével, amelyek nincsenek címkézve és nem osztályozva. Lehetővé teszi, hogy a gépi tanulási algoritmus útmutatás nélkül dolgozzon azokon az adatokon. Az ilyen típusú tanulás során a gép feladata a rendezetlen adatok kategorizálása a minták, hasonlóságok és különbségek alapján előzetes adattanítás nélkül.

Tehát a GAN-ok az ML-ben végzett felügyelet nélküli tanuláshoz kapcsolódnak. Két modellje van, amelyek automatikusan felfedik és megtanulják a mintákat a bemeneti adatokból. Ez a két modell generátor és diszkriminátor.

Értsük meg őket egy kicsit jobban.

A GAN részei

Az „ellenálló” kifejezés azért szerepel a GAN-ban, mert két részből áll – a generátor és a nevező verseng. Ez az adatkészlet adatváltozatainak rögzítésére, vizsgálatára és replikálására szolgál. Ismerjük meg jobban a GAN e két részét.

Generátor

A generátor egy neurális hálózat, amely képes megtanulni és hamis adatpontokat, például képeket és hangokat generálni, amelyek valósághűnek tűnnek. Edzéseken használják, és a folyamatos tanulással egyre jobb lesz.

A generátor által generált adatok negatív példaként szolgálnak a másik részhez – a nevezőhöz, amelyet a továbbiakban látni fogunk. A generátor egy véletlenszerű, rögzített hosszúságú vektort vesz be bemenetként, hogy minta kimenetet állítson elő. Célja, hogy a kimenetet a megkülönböztető előtt mutassa be, hogy az osztályozhassa, hogy valódi vagy hamis.

A generátor a következő alkatrészekkel rendelkezik:

  • Zajos bemeneti vektorok
  • Generátorhálózat egy véletlen bemenet adatpéldányba való átalakításához
  • Egy megkülönböztető hálózat a generált adatok osztályozására
  • A generátor elvesztése a generátor megbüntetésére, mivel nem tudja becsapni a megkülönböztetőt

A generátor tolvaj módjára replikál és valósághű adatokat hoz létre, hogy megtévessze a megkülönböztetőt. Célja több elvégzett ellenőrzés megkerülése. Bár a kezdeti szakaszban rettenetesen meghibásodhat, folyamatosan fejlődik, amíg több reális, jó minőségű adatot nem generál, és elkerülheti a teszteket. Miután ezt a képességet elérte, csak a generátort használhatja anélkül, hogy külön megkülönböztetőre lenne szüksége.

Diszkriminátor

A diszkriminátor egy neurális hálózat is, amely különbséget tud tenni a hamis és a valós kép vagy más adattípus között. A generátorhoz hasonlóan létfontosságú szerepet játszik az edzési szakaszban.

Úgy viselkedik, mint a rendőrség, aki elkapja a tolvajt (a generátor hamis adata). Célja a hamis képek és rendellenességek észlelése egy adatpéldányban.

Amint azt korábban tárgyaltuk, a generátor tanul és folyamatosan fejlődik, hogy elérje azt a pontot, ahol önállóvá válik a kiváló minőségű képek előállításához, amelyekhez nincs szükség megkülönböztető eszközre. Amikor a generátorból származó jó minőségű adatokat átengedik a diszkriminátoron, az már nem tud különbséget tenni valódi és hamis kép között. Tehát jó, ha csak a generátort használja.

Hogyan működik a GAN?

Egy generatív ellenséges hálózatban (GAN) három dologról van szó:

  • Generatív modell az adatok előállítási módjának leírására.
  • Ellenkező környezet, ahol a modellt képezik.
  • Mély neurális hálózatok, mint mesterséges intelligencia-algoritmusok a képzéshez.

A GAN két neurális hálózatát – a generátort és a diszkriminátort – egy ellenséges játékra használják. A generátor a bemeneti adatokat, például hangfájlokat, képeket stb. egy hasonló adatpéldány generálásához veszi, míg a megkülönböztető ellenőrzi az adatpéldány hitelességét. Ez utóbbi határozza meg, hogy az általa áttekintett adatpéldány valós-e vagy sem.

Például ellenőrizni szeretné, hogy egy adott kép valódi-e vagy hamis. Használhat kézzel generált adatbevitelt a generátorba való betápláláshoz. Kimenetként új, replikált képeket hoz létre.

Ennek során a generátor arra törekszik, hogy az általa generált összes képet hitelesnek tekintsék, annak ellenére, hogy hamisak. Kedvező eredményeket akar elérni a hazudozás és az elfogás elkerülése érdekében.

  Hogyan rögzítsük a böngészőt az iPhone-on

Ezután ez a kimenet a diszkriminátorhoz kerül a valós adatokból származó képkészlettel együtt annak megállapítására, hogy ezek a képek hitelesek-e vagy sem. Kedvezőtlenül működik a generátoron, bármennyire is próbálja utánozni; a megkülönböztető segít megkülönböztetni a tényadatokat a hamisaktól.

A diszkriminátor hamis és valós adatokat is figyelembe vesz, hogy 0 vagy 1 valószínűséget adjon vissza. Itt az 1 a hitelességet, míg a 0 a hamisságot jelenti.

Ebben a folyamatban két visszacsatolási hurok van:

  • A generátor egy visszacsatoló hurkot egy diszkriminátorral kapcsol össze
  • A diszkriminátor egy másik visszacsatoló hurokhoz csatlakozik egy sor valódi képpel

A GAN képzés működik, mert generátor és diszkriminátor is részt vesz a képzésben. A generátor folyamatosan tanul hamis bemenetek átadásával, míg a diszkriminátor az észlelés javítását. Itt mindkettő dinamikus.

A diszkriminátor egy konvolúciós hálózat, amely képes a hozzá szállított képeket kategorizálni. Binomiális osztályozóként működik a képek hamis vagy valódi címkézésére.

Másrészt a generátor olyan, mint egy inverz konvolúciós hálózat, amely véletlenszerű adatmintákat vesz a képek előállításához. A diszkriminátor azonban lemintavételi technikák, például max-pooling segítségével ellenőrzi az adatokat.

Mindkét hálózat megpróbálja optimalizálni az ellentétes és eltérő veszteség- vagy célfüggvényt egy ellenséges játékban. Veszteségeik lehetővé teszik számukra, hogy még jobban egymás ellen nyomuljanak.

A GAN-ok típusai

A generatív ellenséges hálózatok a megvalósítástól függően különböző típusúak. Íme az aktívan használt fő GAN-típusok:

  • Feltételes GAN (CGAN): Ez egy mély tanulási technika, amely meghatározott feltételes paramétereket foglal magában, hogy segítsen megkülönböztetni a valódi és a hamis adatokat. Tartalmaz egy további paramétert is – „y” a generátor fázisban a megfelelő adatok előállításához. Ezenkívül címkéket adnak hozzá ehhez a bemenethez, és továbbítják a diszkriminátorhoz, hogy ellenőrizni tudja, hogy az adatok hitelesek vagy hamisak.
  • Vanilla GAN: Ez egy egyszerű GAN típus, ahol a diszkriminátor és a generátor egyszerűbb és többrétegű perceptron. Algoritmusai egyszerűek, sztochasztikus gradiens süllyedés segítségével optimalizálják a matematikai egyenletet.
  • Mély konvolúciós GAN (DCGAN): Népszerű, és a legsikeresebb GAN implementációnak tartják. A DCGAN többrétegű perceptronok helyett ConvNetekből áll. Ezeket a ConvNeteket olyan technikák alkalmazása nélkül alkalmazzák, mint a max-pooling vagy a rétegek teljes összekapcsolása.
  • Super Resolution GAN (SRGAN): Ez egy GAN-megvalósítás, amely egy mély neurális hálózatot használ egy ellenséges hálózat mellett a kiváló minőségű képek előállításához. Az SRGAN különösen hasznos az eredeti kis felbontású képek hatékony felskálázásában, így azok részleteit javítják, és a hibákat minimálisra csökkentik.
  • Laplacian Pyramid GAN (LAPGAN): Ez egy megfordítható és lineáris ábrázolás, amely több sáváteresztő képet tartalmaz, amelyek egymástól nyolc térközzel vannak elhelyezve alacsony frekvenciájú maradványokkal. A LAPGAN számos megkülönböztető és generátor hálózatot és több laplaciai piramis szintet használ.

A LAPGAN-t széles körben használják, mivel kiváló képminőséget produkál. Ezeket a képeket először minden piramisrétegnél lefelé mintavételezzük, majd minden rétegben felskálázzuk, ahol az ötletek némi zajt kapnak, amíg el nem nyerik az eredeti méretet.

A GAN-ok alkalmazásai

A generatív ellenséges hálózatokat különféle területeken használják, például:

Tudomány

A GAN-ok pontos és gyorsabb módot nyújthatnak a nagy energiájú sugárképződés modellezésére és fizikai kísérletek elvégzésére. Ezeket a hálózatokat arra is ki lehet képezni, hogy megbecsüljék a részecskefizikai szimulációk végrehajtása során felmerülő szűk keresztmetszeteket, amelyek jelentős erőforrásokat fogyasztanak.

A GAN-ok felgyorsíthatják a szimulációt és javíthatják a szimuláció hűségét. Ezenkívül a GAN-ok segíthetnek a sötét anyag tanulmányozásában a gravitációs lencsék szimulálásával és a csillagászati ​​képek javításával.

Videójátékok

A videojátékok világa a GAN-okat is felhasználta a régebbi videojátékokban használt, alacsony felbontású, kétdimenziós adatok feljavítására. Segít az ilyen adatok 4k-s vagy még nagyobb felbontásban történő újraalkotásában képképzéssel. Ezután lemintázhatja az adatokat vagy képeket, hogy alkalmassá tegye őket a videojáték valós felbontására.

  Hogyan válthatja fel az iPhone hamarosan az autókulcsokat

Biztosítson megfelelő képzést GAN modelljei számára. Élesebb és tisztább, lenyűgöző minőségű 2D képeket kínálnak a natív adatokhoz képest, miközben megőrzik a valódi kép részleteit, például a színeket.

A GAN-t kihasználó videojátékok közé tartozik a Resident Evil Remake, a Final Fantasy VIII és IX, és még sok más.

Művészet és divat

A GAN-ok segítségével művészetet generálhat, például képeket hozhat létre soha nem létező egyénekről, fényképeket festhet be, képeket készíthet irreális divatmodellekről és még sok más. Virtuális árnyékokat és vázlatokat generáló rajzokban is használják.

Hirdető

A GAN-ok használata a hirdetések létrehozásához és előállításához időt és erőforrásokat takarít meg. Mint fentebb látható, ha el akarja adni ékszereit, létrehozhat egy képzeletbeli modellt, amely valódi embernek tűnik a GAN segítségével.

Így a modell viselheti ékszereit, és bemutathatja azokat vásárlóinak. Megkíméli Önt attól, hogy modellt béreljen és fizessen érte. Még az olyan többletkiadásokat is kiküszöbölheti, mint a szállítási költség, műterembérlés, fotósok, sminkesek szervezése stb.

Ez jelentősen segít abban az esetben, ha Ön egy növekvő vállalkozás, és nem engedheti meg magának, hogy modellt béreljen vagy infrastruktúrát építsen ki hirdetési forgatásokhoz.

Hangszintézis

Hangfájlokat hozhat létre hangklipekből a GAN-ok segítségével. Ezt generatív hangnak is nevezik. Kérjük, ne keverje össze ezt az Amazon Alexával, az Apple Sirivel vagy más mesterséges intelligencia hangokkal, ahol a hangrészletek jól összevarrva és igény szerint előállíthatók.

Ehelyett a generatív hang neurális hálózatokat használ az audioforrás statisztikai tulajdonságainak tanulmányozására. Ezután közvetlenül reprodukálja ezeket a tulajdonságokat egy adott kontextusban. Itt a modellezés azt jelenti, hogy a beszéd hogyan változik minden ezredmásodperc után.

Transzfer tanulás

A továbbfejlesztett transzfertanulási tanulmányok a GAN-okat használják a legújabb jellemzőterek összehangolására, mint például a mélyreható tanulás. Ehhez a forrás beágyazásait és a célzott feladatot a diszkriminátornak táplálják a kontextus meghatározásához. Ezután az eredményt a kódolón keresztül továbbítják. Így a modell tovább tanul.

A GAN-ok egyéb alkalmazásai a következők:

  • Teljes vagy részleges látásvesztés diagnosztizálása glaukómás képek kimutatásával
  • Képzelje el az ipari tervezést, belsőépítészetet, ruházati cikkeket, cipőket, táskákat és még sok mást
  • rekonstruálni egy beteg személy törvényszéki arcvonásait
  • egy elem 3D-s modelljei készítése képből, új objektumok 3D-s pontfelhőként történő létrehozása, mozgásminták modellezése videóban
  • Mutassa be a változó korú személy megjelenését
  • Adatbővítés, például a DNN osztályozó javítása
  • Festsen be egy hiányzó elemet a térképen, javítsa az utcanézeteket, vigye át a leképezési stílusokat stb
  • Képek készítése, képkereső rendszer cseréje stb.
  • Generáljon vezérlőbemeneteket egy nemlineáris dinamikus rendszerhez egy GAN-variáció használatával
  • Elemezze az éghajlatváltozás hatását a házra
  • Hozzon létre egy személy arcát úgy, hogy az ő hangját használja bemenetként
  • Hozzon létre új molekulákat számos fehérjecélpont számára rák, fibrózis és gyulladás esetén
  • Animáljon gifeket egy normál képről

A GAN-oknak sokkal több alkalmazása létezik különböző területeken, és felhasználásuk egyre bővül. Azonban több példája is van a visszaélésnek. A GAN-alapú emberi képeket baljós esetekre, például hamis videók és képek készítésére használták.

A GAN-ok arra is használhatók, hogy valósághű fényképeket és profilokat készítsenek olyan emberekről a közösségi médiában, amelyek soha nem léteztek a Földön. A GNA-kkal való visszaélésekkel kapcsolatos egyéb kérdések közé tartozik a hamis pornográfia létrehozása a kiemelt személyek hozzájárulása nélkül, a politikai jelöltekről készült hamis videók terjesztése stb.

Bár a GNA-k sok területen áldásosak lehetnek, visszaélésük katasztrofális lehet. Ezért használatához megfelelő irányelveket kell betartani.

Következtetés

A GAN a modern technológia egyik figyelemre méltó példája. Egyedülálló és jobb módot biztosít az adatok generálására, valamint olyan funkciókhoz, mint a vizuális diagnosztika, képszintézis, kutatás, adatbővítés, művészet és tudomány, és még sok más.

Érdekelhetik az alacsony kódú és kód nélküli gépi tanulási platformok is az innovatív alkalmazások építéséhez.