close
Idi na sadržaj

Varijacijski autoenkoder

S Wikipedije, slobodne enciklopedije
Osnovna shema varijacijskog autoenkodera. Model prima kao ulaz. Enkoder ga komprimira u latentni prostor. Dekoder kao ulaz prima informaciju uzorkovanu iz latentnog prostora i proizvodi što sličnije .

U mašinskom učenju varijacijski autoenkoder (VAE) jest arhitektura vještačke neuronske mreže koju su 2013. uveli Diederik P. Kingma i Max Welling.[1] Pripada porodicama probabilističkih grafičkih modela i varijacijskih Bayesovih metoda.[2]

Osim što se može posmatrati kao arhitektura autoenkoderske neuronske mreže, varijacijski autoenkoderi mogu se proučavati i u matematičkoj formulaciji varijacijskih Bayesovih metoda, gdje se neuronska enkoderska mreža povezuje s dekoderom preko probabilističkog latentnog prostora. Taj prostor može biti, naprimjer, opisan kao višedimenzionalna normalna raspodjela koja odgovara parametrima varijacijske raspodjele.

Enkoder zato preslikava svaku tačku, kao što je slika, iz velikog i složenog skupa podataka u raspodjelu unutar latentnog prostora, a ne u jednu tačku tog prostora. Dekoder ima suprotnu funkciju: preslikava iz latentnog prostora u ulazni prostor, također prema raspodjeli, iako se u praksi šum rijetko dodaje tokom dekodiranja. Preslikavanjem tačke u raspodjelu umjesto u jednu tačku mreža može izbjeći preprilagođavanje podacima za treniranje. Obje mreže obično se treniraju zajedno pomoću trika reparametrizacije, iako se varijansa modela šuma može učiti odvojeno.

Iako je ova vrsta modela prvobitno oblikovana za nenadzirano učenje,[3][4] njegova djelotvornost potvrđena je i u polunadziranom učenju[5][6] i nadziranom učenju.[7]

Pregled arhitekture i rada

[uredi | uredi izvor]

Varijacijski autoenkoder jeste generativni model s prethodnom raspodjelom i raspodjelom šuma. Takvi modeli obično se treniraju pomoću meta-algoritma očekivanja i maksimizacije, kao u probabilističkoj analizi glavnih komponenti ili rijetkom kodiranju tipa "spike and slab". Ova shema optimizira donju granicu vjerovatnosti podataka, koja je obično računski neizvodljiva, i pritom zahtijeva pronalaženje q-raspodjela, odnosno varijacijskih posteriornih raspodjela. Takve q-raspodjele obično se parametriziraju za svaku pojedinačnu tačku podataka u zasebnom optimizacijskom procesu. Međutim, varijacijski autoenkoderi koriste neuronsku mrežu kao amortizirani pristup za zajedničku optimizaciju preko tačaka podataka. Na taj način isti parametri ponovo se koriste za više tačaka podataka, što može dovesti do velikih ušteda memorije. Prva neuronska mreža kao ulaz prima same tačke podataka i daje parametre varijacijske raspodjele. Budući da preslikava iz poznatog ulaznog prostora u niskodimenzionalni latentni prostor, naziva se enkoderom.

Dekoder je druga neuronska mreža ovog modela. On je funkcija koja preslikava iz latentnog prostora u ulazni prostor, naprimjer kao srednje vrijednosti raspodjele šuma. Moguće je koristiti još jednu neuronsku mrežu koja preslikava u varijansu, ali se to radi jednostavnosti može izostaviti. U tom slučaju varijansa se može optimizirati gradijentnim spustom.

Za optimizaciju ovog modela potrebno je poznavati dva člana: "grešku rekonstrukcije" i Kullback–Leiblerovu divergenciju (KL-D). Oba člana izvode se iz izraza slobodne energije probabilističkog modela, pa se razlikuju zavisno od raspodjele šuma i pretpostavljene prethodne raspodjele podataka, koja se ovdje naziva p-raspodjelom. Naprimjer, za standardni VAE zadatak kao što je IMAGENET obično se pretpostavlja gausovski raspodijeljen šum, dok zadaci kao što je binarizirani MNIST zahtijevaju Bernoullijev šum. KL-D iz izraza slobodne energije maksimizira vjerovatnosnu masu q-raspodjele koja se preklapa s p-raspodjelom, što nažalost može dovesti do ponašanja usmjerenog na modus. Član "rekonstrukcije" ostatak je izraza slobodne energije i za računanje svoje očekivane vrijednosti zahtijeva uzorkovnu aproksimaciju.[8]

Formulacija

[uredi | uredi izvor]

Iz ugla probabilističkog modeliranja želi se maksimizirati vjerovatnost podataka njihovom izabranom parametriziranom vjerovatnosnom raspodjelom . Ova raspodjela obično se bira kao Gaussova raspodjela , parametrizirana s i , i kao član eksponencijalne porodice pogodna je za rad kao raspodjela šuma. Jednostavne raspodjele dovoljno je lako maksimizirati, ali raspodjele u kojima se pretpostavlja prethodna raspodjela nad latentnim promjenljivim dovode do neizvodljivih integrala. Neka se pronađe marginaliziranjem preko :

gdje predstavlja zajedničku raspodjelu pod posmatranih podataka i njihove latentne reprezentacije ili kodiranja . Prema lančanom pravilu, jednačina se može prepisati kao

U osnovnom varijacijskom autoenkoderu se obično uzima kao konačnodimenzionalni vektor realnih brojeva, a kao Gaussova raspodjela. Tada je mješavina Gaussovih raspodjela.

Sada je moguće definirati skup odnosa između ulaznih podataka i njihove latentne reprezentacije kao:

  • prethodna raspodjela
  • vjerovatnost
  • posteriorna raspodjela

Nažalost, računanje skupo je i u većini slučajeva neizvodljivo. Da bi se računanje ubrzalo i učinilo izvodljivim, potrebno je uvesti dodatnu funkciju kojom se aproksimira posteriorna raspodjela:

pri čemu je definiran kao skup realnih vrijednosti koje parametriziraju . To se ponekad naziva amortizirana inferencija, jer se "ulaganjem" u pronalaženje dobre funkcije kasnije može brzo izvesti iz , bez računanja integrala.

Na taj način problem je pronaći dobar probabilistički autoenkoder, u kojem uslovnu raspodjelu vjerovatnosti računa probabilistički dekoder, a aproksimiranu posteriornu raspodjelu računa probabilistički enkoder.

Enkoder se parametrizira kao , a dekoder kao .

Donja granica evidencije (ELBO)

[uredi | uredi izvor]

Kao i mnogi pristupi dubokog učenja koji koriste optimizaciju zasnovanu na gradijentu, VAE-ovi zahtijevaju diferencijabilnu funkciju gubitka da bi se težine mreže ažurirale propagacijom unazad.

Kod varijacijskih autoenkodera ideja je zajednički optimizirati parametre generativnog modela kako bi se smanjila greška rekonstrukcije između ulaza i izlaza, te kako bi bila što bliža . Kao rekonstrukcijski gubitak često se koriste srednja kvadratna greška i unakrsna entropija.

Kullback–Leiblerova divergencija može se koristiti kao funkcija gubitka kojom se sabija pod .[8][9] Ovaj divergencijski gubitak razvija se u

Sada se definira donja granica evidencije (ELBO):

Maksimiziranje ELBO-a

ekvivalentno je istovremenom maksimiziranju i minimiziranju . Drugim riječima, maksimizira se log-vjerovatnost posmatranih podataka i minimizira divergencija od aproksimirane posteriorne raspodjele do tačne posteriorne raspodjele .

Navedeni oblik nije posebno pogodan za maksimizaciju, ali sljedeći, ekvivalentan oblik jeste:

gdje se implementira kao , jer je to, do aditivne konstante, rezultat pretpostavke . To znači da se raspodjela uslovljena s modelira kao Gaussova raspodjela centrirana u . Raspodjele i često se također biraju kao Gaussove, i to i . Tada se, prema formuli za KL-divergenciju Gaussovih raspodjela, dobija:

Ovdje je dimenzija .

Reparametrizacija

[uredi | uredi izvor]
Shema trika reparametrizacije. Slučajna promjenljiva ubrizgava se u latentni prostor kao vanjski ulaz. Na taj način moguće je propagirati gradijent unazad bez uključivanja stohastičke promjenljive tokom ažuriranja.

Za efikasno traženje

uobičajeni metod je gradijentni spust.

Lako je pronaći

Međutim,

ne dopušta da se premjesti unutar očekivanja, jer se pojavljuje u samoj vjerovatnosnoj raspodjeli. Trik reparametrizacije (poznat i kao stohastička propagacija unazad[10]) zaobilazi ovu teškoću.[8][11][12]

Najvažniji primjer javlja se kada je normalno raspodijeljeno kao .

Shema varijacijskog autoenkodera nakon trika reparametrizacije

To se može reparametrizirati tako što se uzme da je "standardni generator slučajnih brojeva" i konstruira kao . Ovdje se dobija Choleskyjevom dekompozicijom:

Tada vrijedi:

i tako se dobija nepristran estimator gradijenta, što omogućava stohastički gradijentni spust.

Pošto je reparametriziran, potrebno je pronaći . Neka je funkcija gustoće vjerovatnoće za ; tada je

gdje je Jakobijeva matrica od po . Budući da je , dobija se

Varijacije

[uredi | uredi izvor]

Mnoge primjene i proširenja varijacijskih autoenkodera korišteni su za prilagođavanje arhitekture drugim domenima i poboljšavanje njenog učinka.

-VAE je izvedba s ponderiranim članom Kullback–Leiblerove divergencije, namijenjena automatskom otkrivanju i tumačenju faktoriziranih latentnih reprezentacija. Uz ovu izvedbu moguće je forsirati razdvajanje mnogostrukosti za vrijednosti veće od jedan. Ova arhitektura može otkriti razdvojene latentne faktore bez nadzora.[13][14]

Uslovni VAE (CVAE) umeće informaciju o oznaci u latentni prostor kako bi forsirao determinističku ograničenu reprezentaciju naučenih podataka.[15]

Neke strukture neposredno se bave kvalitetom generiranih uzoraka[16][17] ili uvode više od jednog latentnog prostora radi daljeg poboljšavanja učenja reprezentacija.

Neke arhitekture miješaju VAE i generativne suparničke mreže kako bi dobile hibridne modele.[18][19][20]

Nije nužno koristiti gradijente za ažuriranje enkodera. Zapravo, enkoder nije neophodan za generativni model.[21]

VAE varijante sa statističkom udaljenošću

[uredi | uredi izvor]

Nakon početnog rada Diederika P. Kingme i Maxa Wellinga,[22] predloženo je nekoliko postupaka za apstraktnije formuliranje rada VAE-a. U tim pristupima funkcija gubitka sastoji se od dva dijela:

  • uobičajenog rekonstrukcijskog člana, koji nastoji osigurati da preslikavanje enkoderom pa dekoderom bude što bliže identičnom preslikavanju; uzorkovanje se u vrijeme izvršavanja vrši iz empirijske raspodjele dostupnih objekata, naprimjer za MNIST ili IMAGENET to je empirijski zakon vjerovatnoće svih slika u skupu podataka. Time se dobija član: .
  • varijacijskog člana koji osigurava da se, kada se empirijska raspodjela propusti kroz enkoder , dobije ciljna raspodjela, ovdje označena kao , koja se obično uzima kao višedimenzionalna normalna raspodjela. Ovdje se označava kao pushforward mjera, što je u praksi empirijska raspodjela dobijena propuštanjem svih objekata iz skupa podataka kroz enkoder . Da bi se osiguralo da je blizu ciljne raspodjele , uvodi se statistička udaljenost i u gubitak dodaje član .

Dobija se konačna formula za gubitak:

Statistička udaljenost mora imati posebna svojstva; naprimjer, mora posjedovati formulu u obliku očekivanja, jer će se funkcija gubitka optimizirati stohastičkim optimizacijskim algoritmima. Može se izabrati nekoliko udaljenosti, što je dovelo do više varijanti VAE-a:

Također pogledajte

[uredi | uredi izvor]

Reference

[uredi | uredi izvor]
  1. Kingma, Diederik P.; Welling, Max (10. 12. 2022). "Auto-Encoding Variational Bayes". arXiv:1312.6114 [stat.ML].
  2. Pinheiro Cinelli, Lucas; et al. (2021). "Variational Autoencoder". Variational Methods for Machine Learning with Applications to Deep Networks. Springer. str. 111–149. doi:10.1007/978-3-030-70679-1_5. ISBN 978-3-030-70681-4.
  3. Dilokthanakul, Nat; Mediano, Pedro A. M.; Garnelo, Marta; Lee, Matthew C. H.; Salimbeni, Hugh; Arulkumaran, Kai; Shanahan, Murray (13. 1. 2017). "Deep Unsupervised Clustering with Gaussian Mixture Variational Autoencoders". arXiv:1611.02648 [cs.LG].
  4. Hsu, Wei-Ning; Zhang, Yu; Glass, James (12. 2017). "Unsupervised domain adaptation for robust speech recognition via variational autoencoder-based data augmentation". 2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). str. 16–23. arXiv:1707.06265. doi:10.1109/ASRU.2017.8268911. ISBN 978-1-5090-4788-8. S2CID 22681625. Provjerite vrijednost datuma u parametru: |date= (pomoć)
  5. Ehsan Abbasnejad, M.; Dick, Anthony; van den Hengel, Anton (2017). Infinite Variational Autoencoder for Semi-Supervised Learning. str. 5888–5897.
  6. Xu, Weidi; Sun, Haoze; Deng, Chao; Tan, Ying (12. 2. 2017). "Variational Autoencoder for Semi-Supervised Text Classification". Proceedings of the AAAI Conference on Artificial Intelligence (jezik: engleski). 31 (1). doi:10.1609/aaai.v31i1.10966. S2CID 2060721.
  7. Kameoka, Hirokazu; Li, Li; Inoue, Shota; Makino, Shoji (1. 9. 2019). "Supervised Determined Source Separation with Multichannel Variational Autoencoder". Neural Computation. 31 (9): 1891–1914. doi:10.1162/neco_a_01217. PMID 31335290. S2CID 198168155.
  8. 1 2 3 Kingma, Diederik P.; Welling, Max (20. 12. 2013). "Auto-Encoding Variational Bayes". arXiv:1312.6114 [stat.ML].
  9. "From Autoencoder to Beta-VAE". Lil'Log (jezik: engleski). 12. 8. 2018.
  10. Rezende, Danilo Jimenez; Mohamed, Shakir; Wierstra, Daan (18. 6. 2014). "Stochastic Backpropagation and Approximate Inference in Deep Generative Models". International Conference on Machine Learning (jezik: engleski). PMLR: 1278–1286. arXiv:1401.4082.
  11. Bengio, Yoshua; Courville, Aaron; Vincent, Pascal (2013). "Representation Learning: A Review and New Perspectives". IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538. Bibcode:2013ITPAM..35.1798B. doi:10.1109/TPAMI.2013.50. ISSN 1939-3539. PMID 23787338. S2CID 393948.
  12. Kingma, Diederik P.; Rezende, Danilo J.; Mohamed, Shakir; Welling, Max (31. 10. 2014). "Semi-Supervised Learning with Deep Generative Models". arXiv:1406.5298 [cs.LG].
  13. Higgins, Irina; Matthey, Loic; Pal, Arka; Burgess, Christopher; Glorot, Xavier; Botvinick, Matthew; Mohamed, Shakir; Lerchner, Alexander (4. 11. 2016). beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework. NeurIPS (jezik: engleski).
  14. Burgess, Christopher P.; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alexander (10. 4. 2018). "Understanding disentangling in β-VAE". arXiv:1804.03599 [stat.ML].
  15. Sohn, Kihyuk; Lee, Honglak; Yan, Xinchen (1. 1. 2015). Learning Structured Output Representation using Deep Conditional Generative Models (PDF). NeurIPS (jezik: engleski).
  16. Dai, Bin; Wipf, David (30. 10. 2019). "Diagnosing and Enhancing VAE Models". arXiv:1903.05789 [cs.LG].
  17. Dorta, Garoe; Vicente, Sara; Agapito, Lourdes; Campbell, Neill D. F.; Simpson, Ivor (31. 7. 2018). "Training VAEs Under Structured Residuals". arXiv:1804.01050 [stat.ML].
  18. Larsen, Anders Boesen Lindbo; Sønderby, Søren Kaae; Larochelle, Hugo; Winther, Ole (11. 6. 2016). "Autoencoding beyond pixels using a learned similarity metric". International Conference on Machine Learning (jezik: engleski). PMLR: 1558–1566. arXiv:1512.09300.
  19. Bao, Jianmin; Chen, Dong; Wen, Fang; Li, Houqiang; Hua, Gang (2017). "CVAE-GAN: Fine-Grained Image Generation Through Asymmetric Training". str. 2745–2754. arXiv:1703.10155 [cs.CV].
  20. Gao, Rui; Hou, Xingsong; Qin, Jie; Chen, Jiaxin; Liu, Li; Zhu, Fan; Zhang, Zhao; Shao, Ling (2020). "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning". IEEE Transactions on Image Processing. 29: 3665–3680. Bibcode:2020ITIP...29.3665G. doi:10.1109/TIP.2020.2964429. ISSN 1941-0042. PMID 31940538. S2CID 210334032.
  21. Drefs, J.; Guiraud, E.; Panagiotou, F.; Lücke, J. (2023). "Direct evolutionary optimization of variational autoencoders with binary latents". Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Lecture Notes in Computer Science. 13715. Springer Nature Switzerland. str. 357–372. arXiv:2011.13704. doi:10.1007/978-3-031-26409-2_22. ISBN 978-3-031-26408-5.
  22. Kingma, Diederik P.; Welling, Max (10. 12. 2022). "Auto-Encoding Variational Bayes". arXiv:1312.6114 [stat.ML].
  23. Kolouri, Soheil; Pope, Phillip E.; Martin, Charles E.; Rohde, Gustavo K. (2019). "Sliced Wasserstein Auto-Encoders". International Conference on Learning Representations. International Conference on Learning Representations. ICPR.
  24. Turinici, Gabriel (2021). "Radon-Sobolev Variational Auto-Encoders". Neural Networks. 141: 294–305. arXiv:1911.13135. doi:10.1016/j.neunet.2021.04.018. ISSN 0893-6080. PMID 33933889 Provjerite vrijednost parametra |pmid= (pomoć).
  25. Gretton, A.; Li, Y.; Swersky, K.; Zemel, R.; Turner, R. (2017). "A Polya Contagion Model for Networks". IEEE Transactions on Control of Network Systems. 5 (4): 1998–2010. arXiv:1705.02239. doi:10.1109/TCNS.2017.2781467.
  26. Tolstikhin, I.; Bousquet, O.; Gelly, S.; Schölkopf, B. (2018). "Wasserstein Auto-Encoders". arXiv:1711.01558 [stat.ML].
  27. Louizos, C.; Shi, X.; Swersky, K.; Li, Y.; Welling, M. (2019). "Kernelized Variational Autoencoders". arXiv:1901.02401 [astro-ph.CO].

Dalje čitanje

[uredi | uredi izvor]