Ģeneratīvie pretrunīgie tīkli (GAN): ievads

Ģeneratīvie pretrunīgie tīkli (GAN) ir viena no modernajām tehnoloģijām, kas piedāvā lielu potenciālu daudzos lietošanas gadījumos, sākot no jūsu veco attēlu izveides un balss palielināšanas līdz dažādu lietojumu nodrošināšanai medicīnas un citās nozarēs.

Šī progresīvā tehnoloģija var palīdzēt jums veidot jūsu produktus un pakalpojumus. To var izmantot arī attēla kvalitātes uzlabošanai, lai saglabātu atmiņas.

Lai gan GAN daudziem ir svētība, dažiem tas šķiet satraucoši.

Bet kas īsti ir šī tehnoloģija?

Šajā rakstā es apspriedīšu, kas ir GAN, kā tas darbojas un tā lietojumus.

Tātad, nirsim tieši iekšā!

Kas ir ģeneratīvs pretrunīgs tīkls?

Ģeneratīvais pretrunīgais tīkls (GAN) ir mašīnmācīšanās sistēma, kas sastāv no diviem neironu tīkliem, kas sacenšas, lai sniegtu precīzākas prognozes, piemēram, attēlus, unikālu mūziku, zīmējumus utt.

GAN 2014. gadā izstrādāja datorzinātnieks un inženieris Ians Gudfelovs un daži viņa kolēģi. Tie ir unikāli dziļi neironu tīkli, kas spēj ģenerēt jaunus datus, kas līdzīgi tiem, par kuriem viņi tiek apmācīti. Viņi sacenšas nulles summas spēlē, kuras rezultātā viens aģents zaudē spēli, bet otrs to uzvar.

Sākotnēji GAN tika ierosināts kā ģeneratīvs mašīnmācības modelis, galvenokārt bez uzraudzības. Taču GAN ir noderīgi arī pilnībā uzraudzītai mācībām, daļēji uzraudzītai mācībām un pastiprinošai apmācībai.

Divi bloki konkurencē GAN ir:

Ģenerators: tas ir konvolucionāls neironu tīkls, kas mākslīgi rada faktiskajiem datiem līdzīgus rezultātus.

Diskriminators: tas ir dekonvolucionāls neironu tīkls, kas var identificēt mākslīgi radītās izejas.

Galvenie jēdzieni

Lai labāk izprastu GAN jēdzienu, ātri sapratīsim dažus svarīgus saistītos jēdzienus.

Mašīnmācība (ML)

Mašīnmācība ir daļa no mākslīgā intelekta (AI), kas ietver mācīšanos un modeļu veidošanu, izmantojot datus, lai uzlabotu veiktspēju un precizitāti, veicot uzdevumus vai pieņemot lēmumus vai prognozes.

ML algoritmi veido modeļus, pamatojoties uz apmācību datiem, uzlabojoties ar nepārtrauktu mācīšanos. Tos izmanto vairākās jomās, tostarp datorredzēšanā, automatizētā lēmumu pieņemšanā, e-pasta filtrēšanā, medicīnā, banku darbībā, datu kvalitātē, kiberdrošībā, runas atpazīšanā, ieteikumu sistēmās un citās jomās.

Diskriminējošais modelis

Padziļinātajā apmācībā un mašīnmācībā diskriminējošais modelis darbojas kā klasifikators, lai atšķirtu līmeņu kopu vai divas klases.

Piemēram, atšķirt dažādus augļus vai dzīvniekus.

Ģeneratīvais modelis

Ģeneratīvajos modeļos tiek uzskatīts, ka izlases veida paraugi rada jaunus reālistiskus attēlus. Tā mācās no reāliem dažu objektu vai dzīvo būtņu attēliem, lai radītu savas reālistiskas, taču atdarinātas idejas. Šie modeļi ir divu veidu:

Variācijas autokodētāji: tie izmanto kodētājus un dekodētājus, kas ir atsevišķi neironu tīkli. Tas darbojas, jo dotais reālistisks attēls iet caur kodētāju, lai attēlotu šos attēlus kā vektorus latentā telpā.

Pēc tam tiek izmantots dekodētājs, lai iegūtu šīs interpretācijas, lai izveidotu dažas reālistiskas šo attēlu kopijas. Sākumā tā attēla kvalitāte varētu būt zema, taču tā uzlabosies pēc tam, kad dekodētājs kļūs pilnībā funkcionāls, un jūs varat neņemt vērā kodētāju.

Ģeneratīvie pretrunīgie tīkli (GAN): kā minēts iepriekš, GAN ir dziļš neironu tīkls, kas spēj ģenerēt jaunus, līdzīgus datus no datu ievades, ar kuru tas tiek nodrošināts. Tas attiecas uz nepārraudzītu mašīnmācīšanos, kas ir viens no tālāk apspriestajiem mašīnmācīšanās veidiem.

Uzraudzīta mācīšanās

Uzraudzītā apmācībā mašīna tiek apmācīta, izmantojot labi marķētus datus. Tas nozīmē, ka daži dati jau būs marķēti ar pareizo atbildi. Šeit iekārtai tiek doti daži dati vai piemēri, lai uzraudzītais mācību algoritms varētu analizēt apmācības datus un iegūt precīzu rezultātu no šiem marķētajiem datiem.

  Kā izveidot KVM virtuālo mašīnu Ubuntu

Mācības bez uzraudzības

Nepārraudzīta mācīšanās ietver mašīnas apmācību, izmantojot datus, kas nav ne marķēti, ne klasificēti. Tas ļauj mašīnmācīšanās algoritmam strādāt ar šiem datiem bez norādījumiem. Šāda veida mācībās mašīnas uzdevums ir klasificēt nešķirotos datus, pamatojoties uz modeļiem, līdzībām un atšķirībām bez iepriekšējas datu apmācības.

Tātad GAN ir saistīti ar nekontrolētas mācīšanās veikšanu ML. Tam ir divi modeļi, kas var automātiski atklāt un apgūt modeļus no ievades datiem. Šie divi modeļi ir ģenerators un diskriminators.

Izpratīsim tos mazliet vairāk.

GAN daļas

Termins “pretrunīgs” ir iekļauts GAN, jo tam ir divas daļas – konkurējošs ģenerators un saucējs. Tas tiek darīts, lai tvertu, rūpīgi pārbaudītu un kopētu datu variācijas datu kopā. Labāk izpratīsim šīs divas GAN daļas.

Ģenerators

Ģenerators ir neironu tīkls, kas spēj mācīties un ģenerēt viltus datu punktus, piemēram, attēlus un audio, kas izskatās reālistiski. Tas tiek izmantots apmācībā un kļūst labāks, nepārtraukti mācoties.

Ģeneratora ģenerētie dati tiek izmantoti kā negatīvs piemērs otrai daļai – saucējam, ko redzēsim tālāk. Ģenerators izmanto nejaušu fiksēta garuma vektoru kā ievadi, lai iegūtu parauga izvadi. Tā mērķis ir parādīt rezultātu diskriminatora priekšā, lai tas varētu klasificēt, vai tas ir īsts vai viltots.

Ģenerators ir apmācīts ar šādām sastāvdaļām:

  • Trokšņaini ievades vektori
  • Ģeneratora tīkls, lai pārveidotu nejaušu ievadi datu instancē
  • Diskriminatoru tīkls ģenerēto datu klasificēšanai
  • Ģeneratora zudums, lai sodītu ģeneratoru, jo tas nespēj apmānīt diskriminētāju

Ģenerators darbojas kā zaglis, lai replicētu un izveidotu reālus datus, lai apmānītu diskriminētāju. Tā mērķis ir apiet vairākas veiktās pārbaudes. Lai gan sākotnējā posmā tas var briesmīgi neizdoties, tas turpina uzlaboties, līdz ģenerē vairākus reālistiskus, augstas kvalitātes datus un var izvairīties no testiem. Kad šī spēja ir sasniegta, varat izmantot tikai ģeneratoru, neprasot atsevišķu diskriminatoru.

Diskriminētājs

Diskriminators ir arī neironu tīkls, kas var atšķirt viltotu un īstu attēlu vai citus datu veidus. Tāpat kā ģeneratoram, tam ir būtiska loma apmācības posmā.

Tas darbojas kā policija, lai notvertu zagli (viltus dati, ko nodrošina ģenerators). Tā mērķis ir atklāt nepatiesus attēlus un novirzes datu instancē.

Kā minēts iepriekš, ģenerators mācās un turpina pilnveidoties, lai sasniegtu punktu, kurā tas kļūst pašpaļāvīgs, lai radītu augstas kvalitātes attēlus, kuriem nav nepieciešams diskriminētājs. Kad augstas kvalitātes dati no ģeneratora tiek nodoti caur diskriminatoru, tas vairs nevar atšķirt īstu un viltotu attēlu. Tātad, jums ir labi iet tikai ar ģeneratoru.

Kā darbojas GAN?

Ģeneratīvā pretrunu tīklā (GAN) ir trīs lietas:

  • Ģeneratīvs modelis, lai aprakstītu veidu, kā tiek ģenerēti dati.
  • Konkurences vide, kurā tiek apmācīts modelis.
  • Dziļi neironu tīkli kā AI algoritmi apmācībai.

Divi GAN neironu tīkli – ģenerators un diskriminators – tiek izmantoti, lai spēlētu pretrunīgu spēli. Ģenerators izmanto ievades datus, piemēram, audio failus, attēlus utt., lai ģenerētu līdzīgu datu gadījumu, savukārt diskriminators apstiprina šīs datu instances autentiskumu. Pēdējais noteiks, vai tā pārskatītais datu gadījums ir vai nav īsts.

Piemēram, vēlaties pārbaudīt, vai dotais attēls ir īsts vai viltots. Varat izmantot manuāli ģenerētu datu ievadi, lai tos ievadītu ģeneratorā. Tas kā izvadi radīs jaunus, replicētus attēlus.

To darot, ģeneratora mērķis ir, lai visi tā ģenerētie attēli tiktu uzskatīti par autentiskiem, neskatoties uz to, ka tie ir viltoti. Tā vēlas radīt pieņemamus rezultātus, lai melotu un izvairītos no pieķeršanas.

Pēc tam šī izvade nonāks diskriminatorā kopā ar attēlu kopu no reāliem datiem, lai noteiktu, vai šie attēli ir autentiski vai nē. Tas negatīvi darbojas uz ģeneratoru neatkarīgi no tā, cik smagi tas mēģina atdarināt; diskriminētājs palīdzēs atšķirt faktu datus no viltotiem.

  Kā notīrīt teksta formatējumu pakalpojumā Gmail

Diskriminators izmantos gan viltotus, gan reālus datus, lai atgrieztu varbūtību 0 vai 1. Šeit 1 apzīmē autentiskumu, bet 0 apzīmē viltus.

Šajā procesā ir divas atgriezeniskās saites cilpas:

  • Ģenerators pievienojas atgriezeniskās saites cilpai ar diskriminatoru
  • Diskriminators pievienojas citai atgriezeniskās saites cilpai ar reālu attēlu kopu

GAN apmācība darbojas, jo apmācībā ir gan ģenerators, gan diskriminētājs. Ģenerators nepārtraukti mācās, nododot nepatiesus ievades datus, savukārt diskriminators iemācīsies uzlabot noteikšanu. Šeit abi ir dinamiski.

Diskriminators ir konvolucionārs tīkls, kas spēj klasificēt tam piegādātos attēlus. Tas darbojas kā binomiāls klasifikators, lai apzīmētu attēlus kā viltotus vai īstus.

No otras puses, ģenerators ir kā apgriezts konvolūcijas tīkls, kas ņem nejaušus datu paraugus, lai izveidotu attēlus. Taču diskriminators pārbauda datus, izmantojot samazināšanas metodes, piemēram, maksimālo apvienošanu.

Abi tīkli mēģina optimizēt pretēju un atšķirīgu zaudējumu vai mērķa funkciju pretinieku spēlē. Viņu zaudējumi ļauj viņiem vēl vairāk spiesties vienam pret otru.

GAN veidi

Ģeneratīvie pretrunīgie tīkli ir dažāda veida atkarībā no ieviešanas. Šeit ir norādīti galvenie aktīvi izmantotie GAN veidi:

  • Nosacītais GAN (CGAN): tā ir padziļināta mācīšanās metode, kas ietver konkrētus nosacījumu parametrus, lai palīdzētu atšķirt reālus un viltus datus. Tas ietver arī papildu parametru – „y“ ģeneratora fāzē, lai iegūtu atbilstošus datus. Turklāt šai ievadei tiek pievienotas etiķetes un tiek ievadītas diskriminatoram, lai tas varētu pārbaudīt, vai dati ir autentiski vai viltoti.
  • Vaniļas GAN: Tas ir vienkāršs GAN tips, kurā diskriminators un ģenerators ir vienkāršāki un daudzslāņu perceptroni. Tās algoritmi ir vienkārši, optimizējot matemātisko vienādojumu ar stohastiskā gradienta nolaišanās palīdzību.
  • Deep convolutional GAN ​​(DCGAN): tas ir populārs un tiek uzskatīts par visveiksmīgāko GAN ieviešanu. DCGAN sastāv no ConvNets, nevis no daudzslāņu perceptroniem. Šie ConvNet tiek lietoti, neizmantojot tādas metodes kā maksimālā apvienošana vai pilnīga slāņu savienošana.
  • Super Resolution GAN (SRGAN): tā ir GAN ieviešana, kas izmanto dziļu neironu tīklu kopā ar pretrunīgu tīklu, lai palīdzētu radīt augstas kvalitātes attēlus. SRGAN ir īpaši noderīgs, lai efektīvi palielinātu sākotnējos zemas izšķirtspējas attēlus, tādējādi uzlabojot to detaļas un samazinot kļūdas.
  • Laplasijas piramīdas GAN (LAPGAN): tas ir apgriežams un lineārs attēlojums, kas ietver vairākus joslas caurlaides attēlus, kas ir novietoti astoņas atstarpes viens no otra ar zemas frekvences atlikumiem. LAPGAN izmanto vairākus diskriminatoru un ģeneratoru tīklus un vairākus Laplasijas piramīdas līmeņus.

LAPGAN tiek plaši izmantots, jo tas rada visaugstāko attēla kvalitāti. Šie attēli vispirms tiek samazināti katrā piramīdas slānī un pēc tam palielināti katrā slānī, kur idejām tiek piešķirts zināms troksnis, līdz tās iegūst sākotnējo izmēru.

GAN lietojumprogrammas

Ģeneratīvie pretrunīgie tīkli tiek izmantoti dažādās jomās, piemēram:

Zinātne

GAN var nodrošināt precīzu un ātrāku veidu, kā modelēt augstas enerģijas strūklas veidošanos un veikt fizikas eksperimentus. Šos tīklus var arī apmācīt, lai novērtētu vājās vietas, veicot daļiņu fizikas simulācijas, kas patērē lielus resursus.

GAN var paātrināt simulāciju un uzlabot simulācijas precizitāti. Turklāt GAN var palīdzēt pētīt tumšo vielu, simulējot gravitācijas lēcas un uzlabojot astronomiskos attēlus.

Video spēles

Videospēļu pasaule ir arī izmantojusi GAN, lai uzlabotu zemas izšķirtspējas 2-dimensiju datus, ko izmanto vecākās videospēlēs. Tas palīdzēs jums atjaunot šādus datus 4K vai pat augstākā izšķirtspējā, izmantojot attēlu apmācību. Pēc tam varat samazināt datu vai attēlu paraugus, lai tie būtu piemēroti videospēles reālajai izšķirtspējai.

Nodrošiniet atbilstošu apmācību saviem GAN modeļiem. Tie var piedāvāt asākus un skaidrākus iespaidīgas kvalitātes 2D attēlus, salīdzinot ar vietējiem datiem, vienlaikus saglabājot reālās attēla detaļas, piemēram, krāsas.

  Novērsiet Samsung Note 4 akumulatora iztukšošanas problēmu

Videospēles, kurās ir izmantots GAN, ietver Resident Evil Remake, Final Fantasy VIII un IX un citas.

Māksla un mode

Varat izmantot GAN, lai ģenerētu mākslu, piemēram, veidojot tādu personu attēlus, kuras nekad nav pastāvējušas, krāsojot fotogrāfijas, veidojot nereālu modes modeļu attēlus un daudz ko citu. To izmanto arī zīmējumos, kas rada virtuālās ēnas un skices.

Reklāma

Izmantojot GAN, lai izveidotu un sagatavotu reklāmas, tiks ietaupīts laiks un resursi. Kā redzams iepriekš, ja vēlaties pārdot savas rotaslietas, ar GAN palīdzību varat izveidot iedomātu modeli, kas izskatās kā īsts cilvēks.

Tādā veidā jūs varat likt modelim valkāt jūsu rotaslietas un parādīt tās saviem klientiem. Tas ietaupīs jūs no modeļa nolīgšanas un samaksas par to. Jūs pat varat novērst papildu izdevumus, piemēram, transporta apmaksu, studijas īri, fotogrāfu, grima mākslinieku organizēšanu utt.

Tas ievērojami palīdzēs, ja jums ir augošs uzņēmums un nevarat atļauties nolīgt modeli vai izvietot infrastruktūru reklāmu uzņemšanai.

Audio sintēze

Ar GAN palīdzību varat izveidot audio failus no audio klipu kopas. To sauc arī par ģeneratīvo audio. Lūdzu, nejauciet to ar Amazon Alexa, Apple Siri vai citām mākslīgā intelekta balsīm, kurās balss fragmenti ir labi sašūti un tiek ražoti pēc pieprasījuma.

Tā vietā ģeneratīvais audio izmanto neironu tīklus, lai pētītu audio avota statistiskās īpašības. Pēc tam tas tieši atveido šīs īpašības noteiktā kontekstā. Šeit modelēšana atspoguļo veidu, kā runa mainās pēc katras milisekundes.

Pārneses mācības

Uzlabotās pārsūtīšanas mācīšanās studijās tiek izmantoti GAN, lai saskaņotu jaunākās funkcijas, piemēram, dziļu pastiprināšanu. Šim nolūkam avota iegulšanas un mērķētais uzdevums tiek ievadīti diskriminētājam, lai noteiktu kontekstu. Pēc tam rezultāts tiek izplatīts, izmantojot kodētāju. Tādā veidā modelis turpina mācīties.

Citi GAN lietojumi ietver:

  • Pilnīga vai daļēja redzes zuduma diagnostika, atklājot glaukomas attēlus
  • Vizualizējiet rūpniecisko dizainu, interjera dizainu, apģērbu, apavus, somas un daudz ko citu
  • rekonstruēt slimas personas kriminālistikas sejas vaibstus
  • izveidot priekšmeta 3D modeļus no attēla, radīt jaunus objektus kā 3D punktu mākoni, modelēt kustību modeļus video
  • Parādiet cilvēka izskatu mainīgā vecumā
  • Datu palielināšana, piemēram, DNN klasifikatora uzlabošana
  • Iekrāsojiet kartē trūkstošo objektu, uzlabojiet ielu skatus, pārsūtiet kartēšanas stilus un veiciet citas darbības
  • Izveidojiet attēlus, nomainiet attēlu meklēšanas sistēmu utt.
  • Ģenerējiet vadības ievades nelineārai dinamiskai sistēmai, izmantojot GAN variāciju
  • Analizējiet klimata pārmaiņu ietekmi uz māju
  • Izveidojiet personas seju, izmantojot viņa balsi
  • Izveidojiet jaunas molekulas vairākiem proteīnu mērķiem vēža, fibrozes un iekaisuma gadījumā
  • Animējiet gifus no parasta attēla

Ir daudz vairāk GAN lietojumu dažādās jomās, un to izmantošana paplašinās. Tomēr ir arī vairāki tā ļaunprātīgas izmantošanas gadījumi. Cilvēku attēli, kuru pamatā ir GAN, ir izmantoti draudīgos gadījumos, piemēram, viltotu videoklipu un attēlu veidošanai.

GAN var izmantot arī, lai sociālajos medijos izveidotu reālistiskus cilvēku fotoattēlus un profilus, kas nekad nav bijuši uz zemes. Citi saistībā ar GNA ļaunprātīgu izmantošanu ir viltotas pornogrāfijas radīšana bez norādīto personu piekrišanas, politisko kandidātu viltotu videoklipu izplatīšana un tā tālāk.

Lai gan GNA var būt svētīgs daudzās jomās, to ļaunprātīga izmantošana var būt arī postoša. Tāpēc tā lietošanai ir jāievēro atbilstoši norādījumi.

Secinājums

GAN ir viens ievērojams mūsdienu tehnoloģiju piemērs. Tas nodrošina unikālu un labāku veidu, kā ģenerēt datus un palīdzēt tādās funkcijās kā vizuālā diagnostika, attēlu sintēze, pētniecība, datu papildināšana, māksla un zinātne un daudzas citas funkcijas.

Iespējams, jūs interesē arī zema koda un bezkoda mašīnmācīšanās platformas novatorisku lietojumprogrammu izveidei.