Autoenkoder

Osnovna arhitektura autoenkodera. Enkoder preslikava ulaz u latentni kod , a dekoder iz njega stvara rekonstrukciju .

Autoenkoder (engleski: autoencoder) vrsta je vještačke neuronske mreže koja uči preslikati ulazne podatke u unutrašnju reprezentaciju, a zatim iz nje rekonstruirati početni ulaz. Sastoji se od enkodera, koji ulaz pretvara u latentni kod, i dekodera, koji iz tog koda stvara rekonstrukciju. Mreža se obučava tako da razlika između ulaza i rekonstruiranog izlaza bude što manja; ciljni primjer pritom potječe iz samog ulaza, pa nisu potrebne zasebne oznake klasa.[1]

Najjednostavniji autoenkoder sadrži latentni sloj manje dimenzionalnosti od ulaza, čime se model usmjerava na zadržavanje pravilnosti važnih za rekonstrukciju. Sličan učinak može se postići ograničavanjem aktivnosti neurona, dodavanjem šuma ili drugim oblicima regularizacije. Autoenkoderi se koriste za smanjenje dimenzionalnosti, učenje reprezentacija, uklanjanje šuma, sažimanje podataka, početno obučavanje dubljih mreža i otkrivanje anomalija.[2]

Arhitektura i obuka

Neka je ulazni primjer iz prostora podataka . Enkoder, označen funkcijom , stvara latentnu reprezentaciju

gdje označava njegove parametre. Dekoder preslikava latentni kod natrag u prostor ulaza:

Parametri enkodera i dekodera određuju se minimiziranjem prosječne greške rekonstrukcije nad skupom za obuku:

pri čemu je broj primjera, a funkcija gubitka. Za podatke s realnim vrijednostima često se koristi srednja kvadratna greška, dok se za binarne podatke ili probabilistički izlaz može primijeniti unakrsna entropija.[1]

Latentni sloj naziva se i kodnim slojem ili "uskim grlom". Kada ima manje dimenzija od ulaza, mreža ne može jednostavno prenijeti svaku ulaznu vrijednost zasebnim putem, nego mora naučiti sažetu reprezentaciju. Ako model ima prevelik broj parametara ili latentni sloj bez odgovarajućih ograničenja, može naučiti gotovo identitetsko preslikavanje, koje daje malu grešku rekonstrukcije bez izdvajanja korisnih obilježja. Zato se kapacitet mreže obično ograničava arhitekturom ili regularizacijom.[1]

U posebnom slučaju linearnog enkodera i dekodera, jednog skrivenog sloja i kvadratne funkcije gubitka, podprostor koji mreža nauči odgovara glavnom podprostoru dobijenom analizom glavnih komponenti. Pojedinačne latentne koordinate ipak ne moraju odgovarati ortogonalnim glavnim komponentama jer se unutar naučenog podprostora mogu pojaviti drugačije baze.[3][4] Nelinearne aktivacijske funkcije i dodatni slojevi omogućavaju modeliranje složenijih odnosa koje linearne metode ne mogu prikazati.[5]

Historijski razvoj

Rani radovi o autoasocijativnim neuronskim mrežama proučavali su uslove pod kojima višeslojni perceptron može rekonstruirati vlastiti ulaz. Hervé Bourlard i Yves Kamp povezali su 1988. linearne autoasocijativne mreže s dekompozicijom singularnih vrijednosti, dok su Pierre Baldi i Kurt Hornik naredne godine formalno analizirali njihov odnos prema analizi glavnih komponenti.[3][4] Mark Kramer primijenio je 1991. nelinearnu autoasocijativnu mrežu za izdvajanje nelinearnih glavnih komponenti.[5]

Geoffrey Hinton i Ruslan Salakhutdinov pokazali su 2006. da se duboki autoenkoderi mogu koristiti za nelinearno smanjenje dimenzionalnosti visokodimenzionalnih podataka. Njihov postupak oslanjao se na postepeno početno obučavanje slojeva, nakon čega je cijela mreža dodatno prilagođavana minimiziranjem greške rekonstrukcije.[2]

Pascal Vincent i saradnici predstavili su 2008. autoenkoder za uklanjanje šuma, u kojem mreža dobija oštećeni primjer, ali uči rekonstruirati njegovu izvornu verziju.[6] Kontraktivni autoenkoder uveden je 2011. kao način učenja reprezentacija neosjetljivih na male promjene ulaza.[7] Diederik Kingma i Max Welling razvili su zatim varijacijski autoenkoder, koji je rekonstrukcijski postupak spojio s probabilističkim generativnim modelom.[8]

Varijante

Autoenkoder s uskim grlom

Kod autoenkodera s uskim grlom latentni kod ima manje dimenzija od ulaza. Ograničeni prostor prisiljava mrežu da odbaci dio podataka i zadrži obilježja koja su najkorisnija za rekonstrukciju. Takav model može služiti kao nelinearna metoda smanjenja dimenzionalnosti, ali kvalitet naučene reprezentacije zavisi od veličine latentnog prostora, arhitekture i izabrane funkcije gubitka.[1][2]

Rijetki autoenkoder

Rijetki autoenkoder može imati latentni sloj jednak ili veći od ulaznog, ali se tokom obuke ograničava broj aktivnih latentnih jedinica. Regularizacijski član može kažnjavati veliku prosječnu aktivaciju neurona ili izravno dopuštati samo određenom broju jedinica da ostanu aktivne. U k-rijetkom autoenkoderu zadržava se samo k najvećih aktivacija za svaki primjer, dok se ostale postavljaju na nulu.[9] Time se sprečava da sve jedinice istovremeno prenose isti podatak i potiče izdvajanje različitih obilježja.

Autoenkoder za uklanjanje šuma

Autoenkoder za uklanjanje šuma obučava se na paru sastavljenom od namjerno oštećenog ulaza i njegove izvorne, neoštećene verzije. Oštećenje može uključivati dodavanje slučajnog šuma, uklanjanje pojedinih vrijednosti ili prekrivanje dijela ulaza. Budući da model ne može samo prepisati primljene vrijednosti, mora naučiti pravilnosti koje omogućavaju procjenu izvornog primjera.[6] Više takvih autoenkodera može se slagati u dublju mrežu, pri čemu svaki sloj uči reprezentaciju izlaza prethodnog sloja.[10]

Kontraktivni autoenkoder

Kontraktivni autoenkoder uz rekonstrukcijski gubitak koristi i kaznu zasnovanu na Frobeniusovoj normi Jakobijeve matrice enkodera u odnosu na ulaz. Kazna smanjuje osjetljivost latentnog koda na male promjene ulaznih podataka, dok model zadržava promjene potrebne za razlikovanje primjera duž strukture skupa za obuku.[7]

Varijacijski autoenkoder

Varijacijski autoenkoder probabilistička je varijanta u kojoj enkoder ne stvara jednu tačku latentnog prostora, nego parametre raspodjele latentne varijable. Latentni uzorak zatim se prosljeđuje dekoderu, a funkcija cilja spaja grešku rekonstrukcije s članom koji naučenu raspodjelu približava unaprijed zadanoj raspodjeli. Takva organizacija latentnog prostora omogućava stvaranje novih primjera uzorkovanjem latentnih varijabli, zbog čega varijacijski autoenkoder pripada generativnim modelima.[8]

Primjene

Autoenkoderi se mogu koristiti kao nelinearna zamjena za analizu glavnih komponenti. Nakon obuke dekoder se može odbaciti, a izlaz enkodera koristiti kao sažeta reprezentacija podataka za vizualizaciju, grupiranje ili kao ulaz drugom modelu mašinskog učenja.[5][2] U ranijim dubokim mrežama slojevi autoenkodera služili su i za početno obučavanje parametara prije nadzirane obuke završnog modela.[2][10]

Modeli obučeni na oštećenim i čistim parovima primjera primjenjuju se za uklanjanje šuma i obnavljanje djelomično oštećenih podataka.[6] Isti princip može se prilagoditi slikama, zvuku, mjerenjima senzora i drugim vrstama podataka, pod uslovom da arhitektura enkodera i dekodera odgovara njihovoj strukturi.

Pri otkrivanju anomalija autoenkoder se obično obučava na primjerima normalnog ponašanja. Pretpostavlja se da će takve primjere rekonstruirati s malom greškom, dok će neuobičajeni primjeri imati veću grešku rekonstrukcije. Vrijednost greške tada se koristi kao pokazatelj anomalije, uz prag određen prema podacima za provjeru.[11]

Ograničenja

Mala greška rekonstrukcije ne znači nužno da je model naučio korisnu ili lahko tumačivu reprezentaciju. Autoenkoder dovoljnog kapaciteta može približno kopirati ulaz, naročito kada latentni prostor nije ograničen. Zbog toga se dimenzionalnost koda, regularizacija i vrsta oštećenja moraju prilagoditi zadatku.[1]

Funkcija gubitka određuje koje će razlike između ulaza i rekonstrukcije model smatrati važnim. Kvadratna greška, naprimjer, snažno kažnjava velika odstupanja pojedinačnih vrijednosti, ali ne mora odgovarati perceptivnoj ili semantičkoj sličnosti složenih podataka. Naučeni kod stoga može dobro služiti rekonstrukciji, a biti manje prikladan za klasifikaciju ili tumačenje.

Klasični deterministički autoenkoder također ne određuje raspodjelu podataka u latentnom prostoru. Između kodova primjera iz skupa za obuku mogu postojati područja koja dekoder nije naučio smisleno preslikavati, pa proizvoljno uzorkovanje latentnih tačaka ne mora dati uvjerljive izlaze. Varijacijski autoenkoder ublažava ovaj problem uvođenjem unaprijed strukturirane latentne raspodjele, ali pritom mijenja funkciju cilja i često pravi kompromis između tačnosti rekonstrukcije i uređenosti latentnog prostora.[8]

Također pogledajte

Reference

  1. ^ a b c d e Baldi, Pierre (2012). "Autoencoders, Unsupervised Learning, and Deep Architectures". Proceedings of ICML Workshop on Unsupervised and Transfer Learning. Proceedings of Machine Learning Research (jezik: engleski). 27: 37–49. Pristupljeno 2. 8. 2026.
  2. ^ a b c d e Hinton, Geoffrey E.; Salakhutdinov, Ruslan R. (2006). "Reducing the Dimensionality of Data with Neural Networks". Science (jezik: engleski). 313 (5786): 504–507. doi:10.1126/science.1127647.
  3. ^ a b Bourlard, Hervé; Kamp, Yves (1988). "Auto-association by Multilayer Perceptrons and Singular Value Decomposition". Biological Cybernetics (jezik: engleski). 59 (4–5): 291–294. doi:10.1007/BF00332918.
  4. ^ a b Baldi, Pierre; Hornik, Kurt (1989). "Neural networks and principal component analysis: Learning from examples without local minima". Neural Networks (jezik: engleski). 2 (1): 53–58. doi:10.1016/0893-6080(89)90014-2.
  5. ^ a b c Kramer, Mark A. (1991). "Nonlinear principal component analysis using autoassociative neural networks". AIChE Journal (jezik: engleski). 37 (2): 233–243. doi:10.1002/aic.690370209.
  6. ^ a b c Vincent, Pascal; Larochelle, Hugo; Bengio, Yoshua; Manzagol, Pierre-Antoine (2008). "Extracting and Composing Robust Features with Denoising Autoencoders" (PDF). Proceedings of the 25th International Conference on Machine Learning (jezik: engleski): 1096–1103. doi:10.1145/1390156.1390294. Pristupljeno 2. 8. 2026.
  7. ^ a b Rifai, Salah; Vincent, Pascal; Muller, Xavier; Glorot, Xavier; Bengio, Yoshua (2011). "Contractive Auto-Encoders: Explicit Invariance During Feature Extraction" (PDF). Proceedings of the 28th International Conference on Machine Learning (jezik: engleski): 833–840. Pristupljeno 2. 8. 2026.
  8. ^ a b c Kingma, Diederik P.; Welling, Max (20. 12. 2013). "Auto-Encoding Variational Bayes". arXiv:1312.6114 [stat.ML].
  9. ^ Makhzani, Alireza; Frey, Brendan (19. 12. 2013). "k-Sparse Autoencoders". arXiv:1312.5663 [cs.LG].
  10. ^ a b Vincent, Pascal; Larochelle, Hugo; Lajoie, Isabelle; Bengio, Yoshua; Manzagol, Pierre-Antoine (2010). "Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion". Journal of Machine Learning Research (jezik: engleski). 11: 3371–3408. Pristupljeno 2. 8. 2026.
  11. ^ Sakurada, Mayu; Yairi, Takehisa (2014). "Anomaly Detection Using Autoencoders with Nonlinear Dimensionality Reduction". Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis (jezik: engleski): 4–11. doi:10.1145/2689746.2689747.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.