Autoencoder

Un autoencoder és un tipus de xarxa neuronal artificial que s'utilitza per aprendre codificacions eficients de dades sense etiquetar (aprenentatge no supervisat). Un autocodificador aprèn dues funcions: una funció de codificació que transforma les dades d'entrada i una funció de descodificació que recrea les dades d'entrada a partir de la representació codificada. L'autocodificador aprèn una representació eficient (codificació) per a un conjunt de dades, normalment per a la reducció de la dimensionalitat, per generar incrustacions de menor dimensió per al seu ús posterior per part d'altres algoritmes d'aprenentatge automàtic.[1]
Existeixen variants que tenen com a objectiu fer que les representacions apreses assumeixin propietats útils.[2] Exemples en són els autocodificadors regularitzats (autocodificadors dispersos, de denoising i contractius ), que són eficaços en l'aprenentatge de representacions per a tasques de classificació posteriors,[3] i els autocodificadors variacionals, que es poden utilitzar com a models generatius.[4] Els autocodificadors s'apliquen a molts problemes, com ara el reconeixement facial,[5] la detecció de característiques,[6] la detecció d'anomalies i l'aprenentatge del significat de les paraules.[7][8] Pel que fa a la síntesi de dades, els autocodificadors també es poden utilitzar per generar aleatòriament noves dades similars a les dades d'entrada (entrenament).[6]
Té la particularitat que té el mateix nombre de nodes a la primera capa i a l'última, per la qual cosa té tants valors input com output. Està format per la capa inicial, seguit per capes ocultes i amb una última capa de sortida. La capa oculta central té una dimensionalitat menor que la primera i l'última, i per això forma un coll d'ampolla.[9][10] L'objectiu de l'autoencoder és reproduir a l'última capa les mateixes dades que obté a la primera capa de forma tan aproximada com sigui possible. Com que en el coll d'ampolla el nombre de dimensions és menor, l'autoencoder haurà d'aprendre una nova representació de les dades que tingui un nombre menor de dimensions que l'original. En cas contrari, no podrà mantenir la informació necessària en el coll d'ampolla per reproduir correctament les dades a l'última capa.
El coll d'ampolla divideix l'autoencoder en dues parts: l'encoder i el decoder. L'encoder forma les capes a l'esquerra de la capa en el coll d'ampolla, i té aquest nom perquè codifica la informació d'entrada a una representació de menys dimensions. El decoder forma les capes a la dreta de la capa en el coll d'ampolla, i s'encarrega de convertir les dades en l'espai de poques dimensions a l'espai de tantes dimensions com l'original.
Les aplicacions d'un autoencoder passen per reducció de soroll, compressió, detecció d'anomalies, etc. N'existeixen diferents variants, com Variatonal autoencoder (VAE). La propietat de reducció de dimensionalitat es pot comparar amb altres algoritmes com Principal Component Analysis (PCA), però l'autoencoder té l'avantatge d'usar operacions no lineals, guanyant flexibilitat i així sent capaç a vegades de fer més compressió sense augmentar l'error de reconstrucció.
Referències
[modifica]- ↑ Bank, Dor. «Autoencoders». A: Rokach. Machine learning for data science handbook (en anglès), 2023, p. 353–374. DOI 10.1007/978-3-031-24628-9_16. ISBN 978-3-031-24627-2.
- ↑ Goodfellow, Ian. Deep Learning. MIT Press, 2016. ISBN 978-0262035613.
- ↑ Vincent, Pascal; Larochelle, Hugo Journal of Machine Learning Research, 11, 2010, pàg. 3371–3408.
- ↑ Welling, Max; Kingma, Diederik P. Foundations and Trends in Machine Learning, 12, 4, 2019, pàg. 307–392. arXiv: 1906.02691. Bibcode: 2019arXiv190602691K. DOI: 10.1561/2200000056.
- ↑ Hinton GE, Krizhevsky A, Wang SD. Transforming auto-encoders. In International Conference on Artificial Neural Networks 2011 Jun 14 (pp. 44-51). Springer, Berlin, Heidelberg.
- ↑ 6,0 6,1 Géron, Aurélien. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. Canada: O’Reilly Media, Inc., 2019, p. 739–740.
- ↑ Liou, Cheng-Yuan; Huang, Jau-Chi; Yang, Wen-Chie Neurocomputing, 71, 16–18, 2008, pàg. 3150. DOI: 10.1016/j.neucom.2008.04.030.
- ↑ Liou, Cheng-Yuan; Cheng, Wei-Chen; Liou, Jiun-Wei; Liou, Daw-Ran Neurocomputing, 139, 2014, pàg. 84–96. DOI: 10.1016/j.neucom.2013.09.055.
- ↑ Kramer, Mark A. AIChE Journal, 37, 2, 1991, pàg. 233–243. Bibcode: 1991AIChE..37..233K. DOI: 10.1002/aic.690370209.
- ↑ Kramer, Mark A. AIChE Journal, 37, 2, 1991, pàg. 233–243. Bibcode: 1991AIChE..37..233K. DOI: 10.1002/aic.690370209.