Ce sunt GAN-urile? Cum și de ce ar trebui să le folosiți!



Acest articol acoperă explicația detaliată a „Ce sunt GAN-urile”, cu limitări și provocări care acoperă procesul de instruire și implementarea cazului de utilizare.

Rețelele contradictorii generative sau GAN-urile sunt o abordare de modelare generativă folosind Invatare profunda pentru a antrena modelul într-un mod inteligent pentru a genera date utilizând abordarea sub-model. În acest articol, vom încerca să înțelegem „Ce sunt GAN-urile” în detaliu. Următoarele subiecte sunt tratate în acest articol:

Ce sunt modelele generative?

Modelele generative nu sunt altceva decât acele modele care folosesc un abordare. Într-un model generativ, există eșantioane în date, adică variabilele de intrare X, dar nu are variabila de ieșire Y. Folosim doar variabilele de intrare pentru a antrena modelul generativ și recunoaște modele din variabilele de intrare pentru a genera o ieșire necunoscută și numai pe baza datelor de instruire.





În , suntem mai aliniați la crearea de modele predictive din variabilele de intrare, acest tip de modelare este cunoscut sub numele de modelare discriminativă. Într-o problemă de clasificare, modelul trebuie să discrimineze la ce clasă aparține exemplul. Pe de altă parte, modelele nesupravegheate sunt utilizate pentru a crea sau genera noi exemple în distribuția de intrare.

Pentru a defini modele generative în termeni laici putem spune că modelele generative sunt capabile să genereze noi exemple din eșantion, care nu numai că sunt similare cu alte exemple, dar sunt, de asemenea, de nedistins.



Cel mai frecvent exemplu de model generativ este un care este mai des folosit ca model discriminator. Alte exemple de modele generative includ modelul Gaussian Mixture Model și un exemplu destul de modern care este General Adversarial Networks. Să încercăm să înțelegem Ce sunt GAN-urile?

Ce sunt rețeaua adversară generativă?

Rețelele Adversariale Generative sau GAN-urile sunt un model generativ bazat pe învățarea profundă, care este utilizat pentru învățarea fără supraveghere. Este practic un sistem în care doi concurează Rețele neuronale concurați unul cu celălalt pentru a crea sau genera variații în date.

def __init__ în python

A fost descrisă pentru prima dată într-o lucrare în 2014 de Ian Goodfellow și o teorie model standardizată și mult stabilă a fost propusă de Alec Radford în 2016, cunoscută sub numele de DCGAN (Deep Convolutional General Adversarial Networks). Majoritatea GAN-urilor existente astăzi folosesc arhitectura DCGAN.



Arhitectura GAN constă din două sub-modele cunoscute sub numele de Model generator si Model discriminator. Să încercăm să înțelegem cum funcționează GAN-urile.

Cum functioneazã?

Pentru a înțelege cum funcționează GAN-urile, să le descompunem.

  • Generativ - Înseamnă că modelul urmează abordare și este un model generativ.
  • Adversarial - Modelul este instruit într-un cadru contradictoriu
  • Rețea - Pentru instruirea modelului, utilizează rețelele neuronale ca algoritmi de inteligență artificială.

În GAN-uri, există o rețea Generator care preia un eșantion și generează un eșantion de date, iar după aceasta, rețeaua Discriminator decide dacă datele sunt generate sau preluate din eșantionul real folosind un binar problemă cu ajutorul unei funcții sigmoide care dă ieșirea în intervalul 0-1.

diagramă - ce sunt gnas - edureka

Modelul generativ analizează distribuția datelor în așa fel încât, după faza de antrenament, probabilitatea ca discriminatorul să comită o greșeală să fie maximizată. Iar Discriminatorul, pe de altă parte, se bazează pe un model care va estima probabilitatea ca eșantionul să provină din datele reale și nu din generator.

Întregul proces poate fi formalizat printr-o formulă matematică dată mai jos.

În formula de mai sus:

G = Generator

D = Discriminator

Pdata (x) = Distribuirea datelor reale

Pdata (z) = Distribuitor al generatorului

x = eșantion din date reale

z = eșantion de la generator

D (x) = Discriminator Network

G (z) = Rețea generatoare

Acum vine partea de instruire pentru un GAN, care poate fi împărțit în continuare în 2 părți care se realizează secvențial.

Cum să antrenezi un GAN?

Partea 1:

Instruiți discriminatorul și înghețați generatorul, ceea ce înseamnă că setul de antrenament pentru generator este transformat ca False, iar rețeaua va efectua doar trecerea înainte și nu va fi aplicată nicio propagare înapoi.

Practic, discriminatorul este instruit cu datele reale și verifică dacă le poate prezice corect și la fel cu datele false pentru a le identifica drept false.

Partea 2:

Instruiți generatorul și înghețați discriminatorul. În această fază, obținem rezultatele din prima fază și le putem folosi pentru a face mai bine din starea anterioară pentru a încerca să păcălească mai bine discriminatorul.

Pași pentru instruire

  1. Defineste problema - definiți problema și colectați date.
  2. Alegeți Arhitectura GAN - În funcție de problema dvs., alegeți cum ar trebui să arate GAN-ul dvs.
  3. Antrenează discriminatorul asupra datelor reale - Antrenează discriminatorul cu date reale pentru a le prezice ca reale de n număr de ori.
  4. Generați intrări false pentru generator - Generați probe false din generator
  5. Antrenează discriminatorul cu privire la date false - Antrenează discriminatorul pentru a prezice datele generate ca fiind false.
  6. Generator de trenuri cu rezultatul discriminatorului - După ce ați primit predicțiile discriminatorului, instruiți generatorul să-l păcălească pe discriminator

Provocările rețelei contradictorii generative

Conceptul de GAN-uri este destul de fascinant, dar există o mulțime de eșecuri care pot provoca multe piedici în calea sa. Unele dintre provocările majore cu care se confruntă GAN-urile sunt:

  1. Stabilitate este necesar între discriminator și generator, altfel întreaga rețea ar cădea. În cazul în care, dacă discriminatorul este prea puternic, generatorul nu va reuși să se antreneze complet. Și dacă rețeaua este prea îngăduitoare, orice imagine ar fi generată, făcând rețeaua inutilă.
  2. GAN-urile eșuează lamentabil în determinarea poziționarea obiectelor în termeni de câte ori ar trebui să apară obiectul în acea locație.
  3. Perspectiva tridimensională deranjează GAN-urile, deoarece nu este capabilă să înțeleagă perspectivă , va oferi adesea o imagine plană pentru un obiect 3-d.
  4. GAN-urile au o problemă în înțelegerea obiecte globale . Nu poate diferenția sau înțelege o structură holistică.
  5. Tipurile mai noi de GAN-uri sunt mai avansate și se așteaptă să depășească cu totul aceste neajunsuri.

Aplicații generative de rețea adversă

Următoarele sunt câteva aplicații ale GAN-urilor.

ce este un certificat postuniversitar

Predicția următorului cadru într-un videoclip

Predicția evenimentelor viitoare într-un cadru video este posibilă cu ajutorul GAN-urilor. DVD-GAN sau Dual Video Discriminator GAN pot genera 256 × 256 videoclipuri cu o fidelitate notabilă de până la 48 de cadre în lungime. Aceasta poate fi utilizată în diverse scopuri, inclusiv supravegherea în care putem determina activitățile dintr-un cadru care se distorsionează din cauza altor factori precum ploaie, praf, fum etc.

Generarea de text către imagini

GAN atent orientat pe obiecte (obj-GAN), realizează sinteza text-imagine în doi pași. Generarea aspectului semantic este pasul inițial și apoi generarea imaginii prin sintetizarea imaginii folosind un generator de imagini deconvoluționale este pasul final.

Acest lucru ar putea fi folosit intens pentru a genera imagini prin înțelegerea subtitrărilor, aspectelor și rafinarea detaliilor prin sintetizarea cuvintelor. Există un alt studiu despre storyGAN-uri care poate sintetiza întregul storyboard din simple paragrafe.

Îmbunătățirea rezoluției unei imagini

Rețeaua contradictorie generativă de super-rezoluție sau SRGAN este un GAN care poate genera imagini de super-rezoluție din imagini cu rezoluție mică, cu detalii mai fine și o calitate mai bună.

python ce este __init__

Aplicațiile pot fi imense, imaginați-vă o imagine de calitate superioară cu detalii mai fine generate de o imagine cu rezoluție mică. Cantitatea de ajutor pe care ar produce-o pentru identificarea detaliilor în imaginile cu rezoluție mică poate fi utilizată în scopuri mai largi, inclusiv supravegherea, documentarea, securitatea, modelele de detectare etc.

Traducere imagine în imagine

Pix2Pix GAN este un model conceput pentru traducere imagine-imagine de uz general.

Generare interactivă de imagini

GAN-urile pot fi folosite și pentru a genera imagini interactive, Laboratorul de științe informatice și inteligență artificială (CSAIL) a dezvoltat un GAN care poate genera modele 3-D cu iluminare realistă și reflecții permise de editarea formei și texturii.

Mai recent, cercetătorii au venit cu un model care poate sintetiza o față reconstituită, animată de mișcarea unei persoane, păstrând în același timp aspectul feței.

Acest lucru ne duce la sfârșitul acestui articol, unde am învățat „Ce sunt GAN-urile”. Sper că ești clar cu tot ce ți-a fost împărtășit în acest tutorial.

Dacă ați găsit relevant acest articol despre „Ce sunt GAN-urile”, consultați o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul.

Suntem aici pentru a vă ajuta cu fiecare pas din călătoria dvs. și pentru a veni cu un curriculum care este conceput pentru studenți și profesioniști care doresc să fie un . Cursul este conceput pentru a vă oferi un început avansat în programarea Python și vă va instrui atât pentru conceptele Python de bază, cât și pentru cele avansate, împreună cu diverse ca

Dacă întâmpinați întrebări, nu ezitați să vă adresați toate întrebările în secțiunea de comentarii din „Ce sunt GAN-urile”, iar echipa noastră va fi bucuroasă să vă răspundă.