- Terminológia (A-tól D-ig)
- AI képességvezérlés
- AIOps
- albumációk
- Eszköz teljesítménye
- Autoencoder
- Visszaszaporítás
- Bayes-tétel
- Big adatok
- Chatbot: Útmutató kezdőknek
- Számítási gondolkodás
- Számítógépes látás
- Zavart mátrix
- Konvolúciós neurális hálózatok
- Kiberbiztonság
- Data Fabric
- Adattörténetmondás
- Data Science
- Adattárolás
- Döntési fa
- Deepfakes
- Deep Learning
- Mély megerősítésű tanulás
- DevOps
- DevSecOps
- Diffúziós modellek
- Digitális iker
- Dimenzionalitás csökkentés
- Terminológia (E-től K-ig)
- Edge AI
- Érzelem AI
- Együttes tanulás
- Etikai hackelés
- ETL
- Megmagyarázható AI
- Egyesített tanulás
- FinOps
- Generatív AI
- Generatív versenytársak hálózata
- Generatív vs. diszkriminatív
- Gradiens Boosting
- Gradiens Descent
- Few-Shot Learning
- Képosztályozás
- IT-műveletek (ITOps)
- Incidens automatizálás
- Befolyásolás Mérnökség
- K-Means klaszterezés
- K-Legközelebbi szomszédok
- Terminológia (L-től Q-ig)
- Terminológia (R-től Z-ig)
- Erősítő tanulás
- Felelős mesterséges intelligencia
- RLHF
- Robotikus folyamat automatizálás
- Strukturált vs strukturálatlan
- Érzelmi elemzés
- Felügyelt vs nem felügyelt
- Támogatja a vektoros gépeket
- Szintetikus adatok
- Szintetikus média
- Szöveg osztályozása
- TinyML
- Transzfer tanulás
- Transzformátor neurális hálózatok
- Turing teszt
- Vektoros hasonlóság keresése
AI 101
Mi az a Generatív Adversarial Network (GAN)?
Tartalomjegyzék
Generatív ellenséges hálózatok (GAN) a neurális hálózati architektúrák típusai képes új adatokat generálni amely megfelel a tanult mintáknak. A GAN-ok felhasználhatók emberi arcok vagy egyéb tárgyak képeinek előállítására, szöveg-kép fordításra, egyik képtípus másikra konvertálására, valamint a képek felbontásának (szuperfelbontás) növelésére más alkalmazások mellett. Mivel a GAN-ok teljesen új adatokat generálhatnak, számos élenjáró mesterséges intelligencia-rendszer, alkalmazás és kutatás élén állnak. Mégis hogyan működnek pontosan a GAN-ok? Vizsgáljuk meg, hogyan működnek a GAN-ok, és vessünk egy pillantást néhány elsődleges felhasználási területükre.
Generatív modellek és GAN-ok meghatározása
A GAN egy példa a generatív modellre. A legtöbb AI modell két kategóriába sorolható: felügyelt és nem felügyelt modellek. A felügyelt tanulási modelleket jellemzően az inputok különböző kategóriái közötti megkülönböztetésre, osztályozásra használják. Ezzel szemben a nem felügyelt modelleket jellemzően az adatok eloszlásának összegzésére, gyakran tanulásra használják az adatok Gauss-eloszlása. Mivel megtanulják egy adatkészlet eloszlását, mintákat vehetnek ebből a tanult eloszlásból, és új adatokat generálhatnak.
A különböző generatív modellek eltérő módszerekkel rendelkeznek az adatok generálására és a valószínűségi eloszlások kiszámítására. Például a Naiv Bayes modell úgy működik, hogy kiszámítja a különböző bemeneti jellemzők és a generatív osztály valószínűségi eloszlását. Amikor a Naive Bayes-modell előrejelzést ad, a legvalószínűbb osztályt úgy számítja ki, hogy figyelembe veszi a különböző változók valószínűségét, és kombinálja őket. Egyéb nem mély tanulási generatív modellek közé tartozik a Gaussian Mixture Models és a Latent Dirichlet Allocation (LDA). Mély hajláson alapuló generatív modellek tartalmaz Korlátozott Boltzmann gépek (RBM), Változatos automatikus kódolók (VAE), és természetesen a GAN-ok.
A generatív ellenséges hálózatok voltak először Ian Goodfellow javasolta 2014-ben2015-ben Alec Redford és más kutatók továbbfejlesztették őket, ami a GAN-ok szabványosított architektúrájához vezetett. A GAN valójában két különböző hálózat, amelyek összekapcsolódnak. A GAN-ok azok két félből áll: generációs modell és diszkriminációs modell, más néven generátor és diszkriminátor.
A GAN architektúra
A generatív ellenséges hálózatok generátormodellből és diszkriminátormodellből összerakva. A generátormodell feladata, hogy új adatpéldákat hozzon létre azon minták alapján, amelyeket a modell megtanult a betanítási adatokból. A diszkriminátor modell feladata a képek elemzése (feltételezve, hogy a képekre tanítják), és meghatározza, hogy a képek generáltak/hamisak vagy eredetiek-e.
A két modell egymással szembe van állítva, játékelméleti módon kiképezve. A generátormodell célja, hogy olyan képeket állítson elő, amelyek megtévesztik az ellenfelét – a megkülönböztető modellt. Eközben a diszkriminátor modell feladata, hogy legyőzze ellenfelét, a generátor modellt, és elkapja a generátor által előállított hamis képeket. Az a tény, hogy a modellek egymással szemben állnak, fegyverkezési versenyt eredményez, ahol mindkét modell javul. A diszkriminátor visszajelzést kap arról, hogy mely képek voltak eredetiek, és mely képeket készítette a generátor, míg a generátor információt kap arról, hogy melyik képét jelölte meg hamisnak a diszkriminátor. Mindkét modell javul az edzés során, azzal a céllal, hogy egy olyan generációs modellt tanítsunk, amely képes hamis adatokat előállítani, amelyek alapvetően megkülönböztethetetlenek a valódi, valódi adatoktól.
Miután a betanítás során létrejött az adatok Gauss-eloszlása, a generatív modell használható. A generátormodell kezdetben egy véletlen vektort kap, amelyet a Gauss-eloszlás alapján transzformál. Más szóval, a vektor magolja a nemzedéket. Amikor a modellt betanítják, a vektortér az adatok Gauss-eloszlásának tömörített változata vagy reprezentációja lesz. Az adateloszlás tömörített változatát látens térnek vagy látens változóknak nevezzük. A későbbiekben a GAN-modell felveheti a látens térábrázolást és abból pontokat húzhat, amelyeket a generálási modellnek adhatunk, és felhasználhatjuk a betanítási adatokhoz nagymértékben hasonló új adatok generálására.
A diszkriminátor modell a teljes képzési tartományból példákat táplál, amely valós és generált adatpéldákból áll. A valódi példákat a betanítási adatkészlet tartalmazza, míg a hamis adatokat a generatív modell állítja elő. A diszkriminátor modell betanítási folyamata pontosan megegyezik az alap, bináris osztályozási modell képzésével.
GAN képzési folyamat
Nézzük az egészet edzés folyamat hipotetikus képgenerálási feladathoz.
Kezdetben a GAN képzése valódi, valós képek felhasználásával történik a képzési adatkészlet részeként. Ez beállítja a megkülönböztető modellt a generált és a valós képek megkülönböztetésére. Előállítja azt az adateloszlást is, amelyet a generátor új adatok előállításához fog használni.
A generátor beveszi a véletlenszerű numerikus adatok vektorát, és a Gauss-eloszlás alapján átalakítja azokat, visszaadva egy képet. Ez a generált kép, valamint néhány eredeti kép a képzési adatkészletből, bekerül a megkülönböztető modellbe. A diszkriminátor valószínűségi előrejelzést ad a kapott képek természetére vonatkozóan, és 0 és 1 közötti értéket ad ki, ahol az 1 általában hiteles képek, a 0 pedig hamis kép.
Kettős visszacsatolási hurok működik, mivel a talajdiszkriminátor a képek alapigazságával táplálkozik, míg a generátor a diszkriminátortól kap visszajelzést a teljesítményéről.
A generatív és a diszkriminációs modell zéró összegű játékot játszik egymással. A nulla összegű játék az, ahol az egyik oldal nyeresége a másik oldal árán történik (az összeg mindkét akció nulla ex). Ha a diszkriminátormodell sikeresen képes megkülönböztetni a valós és a hamis példákat, akkor a diszkriminátor paraméterei nem változnak. A modell paramétereit azonban nagy mértékben módosítják, ha nem tesz különbséget a valódi és a hamis képek között. Az inverz igaz a generatív modellre, büntetést kap (és paramétereit frissítik), ha nem sikerül becsapni a diszkriminatív modellt, de egyébként a paraméterei változatlanok (vagy jutalmazzák).
Ideális esetben a generátor képes olyan mértékben javítani a teljesítményén, hogy a megkülönböztető nem tud különbséget tenni a hamis és a valós képek között. Ez azt jelenti, hogy a megkülönböztető mindig %50 valószínűséggel jelenít meg valós és hamis képeket, vagyis a generált képeknek megkülönböztethetetlennek kell lenniük a valódi képektől. A gyakorlatban a GAN-ok általában nem érik el ezt a pontot. A generatív modellnek azonban nem kell tökéletesen hasonló képeket létrehoznia ahhoz, hogy továbbra is hasznos legyen a GAN-ok által használt sok feladathoz.
GAN alkalmazások
A GAN-oknak számos különböző alkalmazása van, amelyek többsége a képek és a képek összetevőinek létrehozása körül forog. A GAN-okat általában olyan feladatokban használják, ahol a szükséges képadatok hiányoznak vagy bizonyos kapacitásuk korlátozott, a szükséges adatok előállításának módszereként. Vizsgáljuk meg a GAN-ok néhány gyakori felhasználási esetét.
Új példák generálása adatkészletekhez
A GAN-ok segítségével új példákat hozhatunk létre egyszerű képadatkészletekhez. Ha csak néhány tanítási példája van, és többre van szüksége belőlük, a GAN-ok segítségével új képzési adatokat generálhat egy képosztályozóhoz, és új oktatási példákat hozhat létre különböző tájolású és szögekből.
Egyedi emberi arcok létrehozása
Ha kellően képzett, a GAN-ok használhatók rendkívül valósághű képeket generál az emberi arcokról. Ezek a generált képek felhasználhatók az arcfelismerő rendszerek képzésére.
Képről képre fordítás
Gans kiváló képfordításban. A GAN-ok használhatók fekete-fehér képek színezésére, vázlatok vagy rajzok fényképes képpé fordítására, vagy a képek nappalról éjszakára konvertálására.
Szövegből képbe fordítás
A szövegből képbe fordítás az GAN-ok használatával lehetséges. Ha egy képet és a hozzá tartozó képet leíró szöveggel látják el, a GAN képes meg kell képezni egy új arculat létrehozását ha a kívánt kép leírásával látják el.
Képek szerkesztése és javítása
A GAN-ok a meglévő fényképek szerkesztésére használhatók. GAN-ok távolítsa el az olyan elemeket, mint az eső vagy a hó képből, de arra is használhatók javítsa ki a régi, sérült vagy sérült képeket.
Szuper felbontás
A szuperfelbontás az a folyamat, amikor egy kis felbontású képet készítünk, és több pixelt illesztünk be a képbe, ezzel javítva a kép felbontását. A GAN-okat kép készítésére lehet képezni a kép nagyobb felbontású változatát generálja.
Blogger és programozó szakterületekkel Gépi tanulás és a Deep Learning témákat. Daniel abban reménykedik, hogy segíthet másoknak az AI erejét társadalmi javára használni.
Talán tetszene
Midjourney vs Stable Diffusion: Az AI képgenerátorok csatája
Nagy pontosságú szemantikus képszerkesztés az EditGAN segítségével
Diffúziós modellek az AI-ban – Minden, amit tudnod kell
A vezetési szimulációk fotorealizmusának javítása generatív ellenséges hálózatokkal
Hogyan tudhatjuk meg, hogy a képszintézis-rendszerek valóban „eredeti” anyagot állítanak elő
A GAN arcrenderelőként a „hagyományos” CGI-hez