Se opune rețelei generative

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În domeniul „ învățării automate ”, se definește rețeaua opusă generativă sau rețea generativă antagonică sau contradictorie rețea generativă sau rețea adversară generativă engleză (GAN), o clasă de metode, introdusă pentru prima dată de la Ian Goodfellow , [1] în care două rețelele neuronale sunt instruite competitiv într-un cadru de joc minimax . Acest tip de cadru permite rețelei neuronale să învețe cum să genereze date noi cu aceeași distribuție ca datele utilizate în faza de antrenament. De exemplu, este posibil să se obțină o rețea neuronală capabilă să genereze fețe umane hiper-realiste, [2] așa cum a demonstrat în 2018 NVIDIA Corporation , un producător de GPU .

Metodă

Se opune rețelei generative

În versiunea sa originală, o rețea adversă generativă este compusă din două componente: un model generativ sau un generator și un model discriminatoriu sau discriminatoriu , ambele realizate prin rețele neuronale. Scopul modelului generativ este de a produce date noi, în timp ce modelul discriminativ învață cum să distingem datele reale de cele generate artificial. În special, având în vedere un spațiu latent , având o distribuție a priori , generatorul reprezintă o funcție diferențiată care scoate noile date în funcție de o anumită distribuție , unde este sunt parametrii modelului generativ. Discriminatorul reprezintă o funcție diferențiată , unde este sunt parametrii modelului discriminator, care produce probabilitatea ca provine din distribuirea datelor de instruire . Scopul este de a obține un generator care să fie un bun estimator al . Când se întâmplă acest lucru, discriminatorul este „păcălit” și nu mai poate distinge eșantioanele provenite de la cei din .

Cheia pentru realizarea acestui lucru este formarea competitivă. Rețeaua discriminativă este instruită pentru a maximiza probabilitatea clasificării corecte a probelor din datele de instruire și din probele generate. În același timp, rețeaua generativă este instruită prin minimizare

,

și astfel maximizarea probabilității discriminatorului de a lua în considerare probele produse de rețeaua generativă, adică , ca provenind din .

Prin urmare, învățarea constă în optimizarea unui joc minimax cu doi jucători (D și G):

,

care are un ansamblu foarte bun pentru . [1]

Cele două rețele sunt antrenate alternativ prin propagarea înapoi a erorii , păstrând neschimbați parametrii modelului generativ în timpul antrenamentului discriminatorului și, invers, păstrând parametrii rețelei discriminative neschimbate în timpul antrenamentului generatorului.

Variante

În ultimii ani, a existat o dezvoltare rapidă a metodelor care reprezintă versiuni modificate ale cadrului original.

Rețea condiționată de adversar generativ

O rețea contradictorie generativă condiționată (cGAN) este o extensie a GAN în care atât generatorul, cât și discriminatorul sunt condiționate prin utilizarea unui fel de informații suplimentare. . Funcția obiectivă devine:

.

De exemplu, este posibil să se genereze o nouă imagine a unei anumite cifre scrise de mână, oferind eticheta referitoare la clasificarea sa, adică un scalar în , ca intrare suplimentară în cele două rețele, [3] sau generează automat imagini ale mediilor externe pornind de la un aspect semantic al scenei. [4] În general, posibilele câmpuri de aplicare se încadrează în domeniul problemelor de traducere a unei imagini în alta: [5] [6] generarea de fotografii realiste pornind de la etichete semantice, generarea de imagini aeriene pornind de la hărți urbane (pt. exemplu Google Maps ), generație de imagini realiste pornind de la contururile scenei sau de la un desen, pictură și multe altele.

VAE-GAN

Această clasă de metode se bazează pe unirea autoencoderului variațional sau auto-codificatorilor variaționali englezi (VAE) și GAN. În general, un discriminator este utilizat pentru a distinge între exemplele de ieșire VAE și cele reale. În acest fel, în loc să utilizeze o funcție de eroare definită, discriminatorul permite să învețe o funcție de asemănare între exemplul reconstruit în ieșire din VAE și cel furnizat în intrare. Această abordare are ca rezultat reconstituiri mai bune decât un singur VAE. [7]

cycleGAN

Un cycleGAN, din rețeaua engleză generativă adversară generatoare de cicluri, [8] este o evoluție a rețelei generative adversare în care antrenamentul are loc într-o manieră nesupravegheată . În acest fel, este posibil să învățați un model capabil să traducă o imagine dintr-un domeniu altcuiva , și invers, fără a fi nevoie să folosiți imagini țintă, adesea indisponibile, în timpul fazei de antrenament . Modelul este format din două generatoare Și pentru a traduce, respectiv, imagini din domeniu la domeniu și invers și de doi discriminatori, Și , pentru a face distincția între exemplele generate și cele reale pentru fiecare domeniu. În timpul antrenamentului, pe lângă funcția obișnuită a adversarului, următoarea funcție de consistență este minimizată:

.

Ideea este că dai două poze Și , aplicând cei doi generatori în cascadă Și imaginile respective se obțin din nou Și . Acest tip de model este aplicat cu succes în problemele în care nu există date de antrenament asociate, adică atunci când nu sunt disponibile pentru fiecare element al unui domeniu echivalentul său în domeniul țintă (de exemplu, transfer de stil de la o imagine la alta).

Alte variante

Există multe alte variații ale cadrului de bază. În special, numeroase metode s-au specializat în funcție de domeniul aplicației, care diferă atât din punctul de vedere al arhitecturii rețelei, cât și de funcția obiectivă adoptată în timpul antrenamentului. Dezvoltarea rețelelor generative opuse a avut loc mai ales în câmpul viziunii artificiale , în care acestea au fost puternic folosite de la prima lor apariție. [9]

Elemente conexe

Notă

  1. ^ a b Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville și Yoshua Bengio, Generative Adversarial Nets ( PDF ), în Z. Ghahramani, M. Welling, C. Cortes , ND Lawrence, KQ Weinberger (eds.) (Eds.), Advances in Neural Information Processing Systems 27 , Curran Associates, Inc., 2014, pp. 2672-2680. Adus pe 2 iulie 2019 .
  2. ^ Tero Karras, Samuli Laine și Timo Aila, A Style-Based Generator Architecture for Generative Adversarial Networks , în arXiv: 1812.04948 [cs, stat] , 12 decembrie 2018. Accesat 2 iulie 2019 .
  3. ^ Mehdi Mirza și Simon Osindero, Conditional Generative Adversarial Nets , în arXiv: 1411.1784 [cs, stat] , 6 noiembrie 2014. Accesat la 3 iulie 2019 .
  4. ^ Levent Karacan, Zeynep Akata, Aykut Erdem și Erkut Erdem, Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts , în arXiv: 1612.00215 [cs] , 1 decembrie 2016. Accesat 4 iulie 2019 .
  5. ^ Phillip Isola, Jun-Yan Zhu, Tinghui Zhou și Alexei A. Efros, Image-to-Image Translation with Conditional Adversarial Networks , în arXiv: 1611.07004 [cs] , 21 noiembrie 2016. Accesat la 4 iulie 2019 .
  6. ^ Chaoyue Wang, Chang Xu, Chaohui Wang și Dacheng Tao, Rețele adversare perceptive pentru transformarea imagine-la-imagine , în IEEE Transactions on Image Processing , vol. 27, n. 8, 2018-08, pp. 4066–4079, DOI : 10.1109 / TIP.2018.2836316 , ISSN 1057-7149 ( WC ACNP ) . Adus pe 4 iulie 2019 .
  7. ^ Anders Boesen Lindbo Larsen, Søren Kaae Sønderby, Hugo Larochelle și Ole Winther, Autoencodare dincolo de pixeli folosind o metrică de similitudine învățată , în arXiv: 1512.09300 [cs, stat] , 31 decembrie 2015. Adus pe 5 iulie 2019 .
  8. ^ Jun-Yan Zhu, Taesung Park, Phillip Isola și Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks , în arXiv: 1703.10593 [cs] , 30 martie 2017. Accesat 4 iulie 2019 .
  9. ^ Zhengwei Wang, Qi She și Tomas E. Ward, Generative Adversarial Networks: A Survey and Taxonomy , în arXiv: 1906.01529 [cs] , 4 iunie 2019. Accesat pe 5 iulie 2019 .

Alte proiecte