Rețeaua adversară generativă

Rețeaua generativă adversară ( GAN  pe scurt) este un algoritm de învățare automată nesupravegheat construit pe o combinație de două rețele neuronale , dintre care una (rețeaua G) generează mostre (vezi modelul generativ ), iar cealaltă (rețeaua D) încearcă să distinge mostrele corecte („autentice”) de cele incorecte (vezi Modelul discriminatoriu ). Întrucât rețelele G și D au scopuri opuse - să creeze eșantioane și să respingă mostre - între ele apare un joc antagonic . Rețeaua adversativă generativă a fost descrisă de Ian Goodfellow de la Google în 2014 [1] .

Utilizarea acestei tehnici face posibilă, în special, generarea de fotografii care sunt percepute de ochiul uman ca imagini naturale. De exemplu, există o încercare binecunoscută de a sintetiza fotografii cu pisici, care induce în eroare expertul, care le consideră a fi fotografii naturale [2] . În plus, GAN poate fi utilizat pentru a îmbunătăți calitatea fotografiilor neclare sau parțial corupte.

Metoda

În sistemul GAN, una dintre rețele (rețeaua G, de la Generator) generează mostre (vezi Modelul generativ ), iar cealaltă (rețeaua D, de la Discriminator) încearcă să distingă mostrele corecte („autentice”) de cele incorecte (vezi Modelul Discriminativ ) [1] . Folosind un set de variabile spațiale latente , rețeaua generativă încearcă să modeleze un nou model amestecând mai multe dintre modelele originale. Rețeaua discriminativă este antrenată să facă distincția între eșantioanele autentice și cele false, iar rezultatele distincției sunt transmise la intrarea rețelei generative, astfel încât să poată alege cel mai bun set de parametri latenți, iar rețeaua discriminativă nu ar mai fi capabilă să distinge mostrele autentice de cele false. Astfel, scopul rețelei G este de a crește rata de eroare a rețelei D, iar scopul rețelei D este, dimpotrivă, de a îmbunătăți acuratețea recunoașterii [1] [3] .

Rețeaua de discriminare D, analizând mostre din datele originale și din cele falsificate de generator, atinge o anumită acuratețe de discriminare. În acest caz, generatorul începe cu combinații aleatorii ale parametrilor spațiului latenți (vezi distribuția normală multivariată ), iar după evaluarea probelor obținute de către rețeaua D, se aplică metoda de propagare inversă a erorii , care îmbunătățește calitatea generării prin corectarea intrării. set de parametri latenți. Treptat, imaginile artificiale la ieșirea rețelei generative devin din ce în ce mai calitative [4] . Rețeaua D este implementată ca o rețea neuronală convoluțională , în timp ce rețeaua G, dimpotrivă, desfășoară imaginea pe baza unor parametri ascunși.

În procesul de învățare competitivă comună, dacă sistemul este suficient de echilibrat, se ajunge la o stare de echilibru minimax , în care ambele rețele și-au îmbunătățit semnificativ calitatea, iar acum imaginile generate pot fi folosite aproape ca și pe cele reale.

Ideea învățării contradictorii a fost propusă în 2013 de Li, Gauci și Gross [5] . Această metodă este numită și „învățare Turing” [6] deoarece își propune să treacă testul Turing .

Explicații populare metode

Principiul disputei într-un GAN este adesea descris prin metafore. De exemplu, o rețea generativă este asemănată cu un falsificator sau un falsificator de tablouri, iar o rețea discriminatorie este asemănată cu un expert care încearcă să recunoască un fals [7] [8] . Un alt exemplu este imaginea a doi boxeri, dintre care unul a studiat cu maestrul, iar al doilea este obligat să imite elevul [9] .

Într-o aplicație populară de generare a feței umane, fotografiile reale acționează ca date autentice, iar o rețea generativă încearcă să creeze fețe artificiale prin combinații variate de parametri latenți precum culoarea părului, proporțiile feței, forma ochilor, forma nasului, dimensiunea urechii, barba și mustața. , etc. d [10] [11]

Articolele cercetătorilor oferă exemple de implementare GAN bazată pe biblioteca TensorFlow [12] [13] .

Aplicație

GAN-urile sunt folosite pentru a obține imagini fotorealiste , de exemplu, pentru elemente de design industrial , design interior , haine, genți, serviete, scene de jocuri pe calculator etc. GAN-urile sunt, de asemenea, utilizate în rețeaua Facebook [14] . Recent, GAN-urile au fost folosite pentru a pregăti cadre de film sau animație [15] . De asemenea, aceste sisteme ajută la recrearea unui model tridimensional al unui obiect folosind imagini fragmentare [16] și la îmbunătățirea imaginilor obținute din observații astronomice [17] .

Note

  1. 1 2 3 Goodfellow, Ian J.; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron & Bengio, Yoshua (2014), Generative Adversarial Networks, arΧiv : 1406.2661 [stat.ML]. 
  2. Salimans, Tim; Bun prieten, Ian; Zaremba, Wojciech; Cheung, Vicki; Radford, Alec & Chen, Xi (2016), Improved Techniques for Training GANs, arΧiv : 1606.03498 [cs.LG]. 
  3. Luc, Pauline; Couprie, Camille; Chintala, Soumith; Verbeek, Iacob. Segmentarea semantică folosind rețele adversare  (neopr.)  // Atelierul NIPS privind antrenamentul adversarului, decembrie, Barcelona, ​​​​Spania. - 2016. - 25 noiembrie ( vol. 2016 ). - arXiv : 1611.08408 .
  4. Andrej Karpathy, Pieter Abbeel, Greg Brockman, Peter Chen, Vicki Cheung, Rocky Duan, Ian Goodfellow, Durk Kingma, Jonathan Ho, Rein Houthooft, Tim Salimans, John Schulman, Ilya Sutskever și Wojciech Zaremba, Generative Models , OpenAI , < http://openai.com/blog/generative-models/ > . Preluat la 7 aprilie 2016. Arhivat 22 aprilie 2021 la Wayback Machine 
  5. Li, Wei; Gauci, Melvin; Gross, Roderich (6 iulie 2013). „O abordare coevoluționară pentru a învăța comportamentul animalelor prin interacțiune controlată” . Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation (GECCO 2013) . Amsterdam, Țările de Jos: ACM. pp. 223-230.
  6. Li, Wei; Gauci, Melvin; Gross, Roderich. Învățarea Turing: o abordare fără metrică pentru deducerea comportamentului și aplicarea acestuia la roiuri  //  Swarm Intelligence : jurnal. - 2016. - 30 august ( vol. 10 , nr. 3 ). - P. 211-243 . - doi : 10.1007/s11721-016-0126-1 .
  7. Falsificatorii împotriva bancherilor: joc de rețele adverse în Theano . Preluat la 19 iulie 2017. Arhivat din original la 20 august 2017.
  8. Editarea fotografiilor cu rețele generative adverse (Partea 1) . Preluat la 19 iulie 2017. Arhivat din original la 20 august 2017.
  9. Michael Dietz. Despre intuiția din spatele învățării profunde și a GAN-urilor — spre o înțelegere fundamentală  (link indisponibil)
  10. Anders Boesen Lindbo Larsen și Søren Kaae Sønderby Generating Faces with Torch . Preluat la 19 iulie 2017. Arhivat din original la 11 iulie 2017.
  11. Editarea fotografiilor cu rețele generative adverse (Partea 1) . Preluat la 19 iulie 2017. Arhivat din original la 20 august 2017.
  12. Generative Adversarial Nets în TensorFlow Agustinus Kristiadi . Data accesului: 14 noiembrie 2017. Arhivat din original pe 17 noiembrie 2017.
  13. Finalizarea imaginii cu Deep Learning în TensorFlow . Consultat la 14 noiembrie 2017. Arhivat din original pe 15 noiembrie 2017.
  14. Greenemeier, Larry Când vor avea computerele bun-simț? Întrebați Facebook . Scientific American (20 iunie 2016). Preluat la 31 iulie 2016. Arhivat din original la 24 iulie 2016.
  15. Generarea de videoclipuri cu dinamica scenei . web.mit.edu _ Preluat la 19 iulie 2017. Arhivat din original la 20 martie 2017.
  16. 3D Generative Adversarial Network . 3dgan.csail.mit.edu . Consultat la 19 iulie 2017. Arhivat din original la 27 octombrie 2019.
  17. Schawinski, Kevin; Zhang, Ce; Zhang, Hantian; Fowler, Lucas & Santhanam, Gokula Krishnan (2017-02-01), Generative Adversarial Networks recuperează caracteristici în imaginile astrofizice ale galaxiilor dincolo de limita de deconvoluție, arΧiv : 1702.00403 [astro-ph.IM]. 

Link -uri