Autocodificador
Un autocodificador és un tipo de ret neuronal artificial utilisada per a deprendre codificació eficients de senyes no etiquetades (aprenentage no supervisat).[1][2] El autocodificador deprén dos funcions, la primera és aquella que transforma les senyes d'entrada i la segona és la funció de decodificación que recrea les senyes d'entrada a partir de la representació codificada. El autocodificador deprén una representació eficient (codificació) per a un conjunt de senyes, normalment para reduir la dimensionalidad.
Existixen variants l'objectiu de les quals és forçar a les representacions depreses a assumir propietats útils.[3] Alguns eixemples són els autocodificadores regularisats (Sparse, Denoising i Contractive), que són eficaços en l'aprenentage de representacions per a tasques de classificació posteriors,[4] i els autocodificadores variacionales, en aplicacions com models generativos.[5] Els autocodificadores poden ser aplicats en molts problemes, incloent el reconeiximent facial,[6] la detecció de característiques,[7] la detecció d'anomalies i l'adquisició del significat de les paraules.[8][9] Els autocodificadores també són models generativos que poden generar aleatoriamente noves senyes que són similars a les senyes d'entrada (senyes d'entrenament).[7]
Principis matemàtics
[editar | editar còdic]Definició
[editar | editar còdic]Un autocodificador es definix pels següents components:
- Dos conjunts: l'espai dels mensages descodificados ; l'espai dels mensages codificats . Casi sempre, abdós i són espais euclidianos, és dir, per a alguns .
- Dos famílies de funcions parametrizadas: la família de codificadores parametrizado per i la família de decodificadores , parametrizado per .
Per a qualsevol , normalment escrivim , i nos referirem a ell com el còdic variable latent, la representació latent, el vector latent, etc. A l'inversa, per a qualsevol , normalment escrivim i nos referir-nos a ell com el mensage (descodificado).
Usualment, tant el codificador com el descodificador es definixen com perceptrones de múltiples capes. Per eixemple, un codificador MLP d'una capa és:
A on és una funció d'activació per elements, com una funció sigmoideo o una unitat llineal rectificada, és una matriu denominada "pes", i és un vector cridat "biaix".
Entrenament d'un autocodificador
[editar | editar còdic]Un autocodificador, per sí mateixa, és simplement una tupla de dos funcions. Per a jujar la seua calitat, necessitem una tasca. Una tasca es definix per mig d'una distribució de provabilitat de referència sobre i una funció de "calitat de la reconstrucció de manera que medix quant diferix de .
En ells, podem definir la funció de pèrdua per al autocodificador com:
El autocodificador òptim per a una tasca determinada és llavors . La busca del autocodificador òptim pot portar-se a terme per mig de qualsevol tècnica matemàtica d'optimisació, pero normalment és realisat per mig del descens de gradient. Este procés de busca es denomina "entrenament del autocodificador". En la majoria de les situacions, la distribució de referència és simplement la distribució empírica donada per un conjunt de senyes , de manera que:
A on és la mida de Dirac, i la funció de calitat és només la pèrdua L2: i és la norma euclidiana. Llavors, el problema de buscar el autocodificador òptim no és més que una optimisació per mínims quadrats:
Interpretació
[editar | editar còdic]Un autocodificador consta de dos parts principals, una part que convertix el mensage en un còdic i una part que reconstruïx el mensage a partir del còdic. Un autocodificador òptim realisaria una reconstrucció lo més perfecta possible, definida com "casi perfecta" per la funció de calitat de la reconstrucció .
La forma més senzilla de realisar perfectament la tasca de còpia seria duplicar la senyal. Per a suprimir este comportament, l'espai del còdic sol tindre menys dimensions que l'espai de mensages .
Un autocodificador d'este tipo es denomina subcompleto. Pot interpretar-se com una compressió del mensage o una reducció de la seua dimensionalidad.[1][10]
En el llímit d'un autocodificador incomplet ideal, cada còdic possible en l'espai del còdic s'utilisa per a codificar un mensage que realment apareix en la distribució i el decodificador també és perfecte: . Este autocodificador ideal pot utilisar-se per a generar mensages indistinguibles dels reals, alimentant el seu decodificador en còdic arbitrari i obtindre , que és un mensage que realment apareix en la distribució .
Si l'espai de còdic té una dimensió major (sobrecompleta) o igual a l'espai de mensages , o les unitats amagades tenen suficient capacitat, un autocodificador pot deprendre la funció d'identitat i tornar-se inútil. No obstant, els resultats experimentals han demostrat que els autocodificadores sobrecompletos poden deprendre característiques útils.[11]
En un escenari ideal, la dimensió del còdic i la capacitat del model podrien establir-se en funció de la complexitat de la distribució de senyes que es desija modelar. Una forma estàndar de fer-ho és afegir modificacions al autocodificador bàsic, que es detallaran a continuació.[3]
Història
[editar | editar còdic]El autocodificador va ser propost per primera volta per Kramer com una generalisació no llineal del anàlisis de components principals (ACP) .[1] El autocodificador també ha segut cridat autoasociador,[12] o ret Diábolo.[11][13] Les seues primeres aplicacions daten de principis dels anys 90.[3][14][15] La seua aplicació més tradicional va ser la reducció de dimensionalidad o l'aprenentage de característiques, pero el concepte es va generalisar per a l'aprenentage de models generativos de senyes.[16][17] Algunes de les IA més potents de la década de 2010 involucraven autoencoders apilats dins de rets neuronals profundes.[18]
Referències
[editar | editar còdic]- ↑ 1,0 1,1 1,2 AICHE Journal.doi:10.1002/aic.690370209.
- ↑ Computers & Chemical Engineering.16(4)
- 313–328.ISSN 0098-1354.doi:10.1016/0098-1354(92)80051-a.Consultat el 2024-04-06.
- ↑ 3,0 3,1 3,2 «Deep Learning». www.deeplearningbook.org. Consultat el 2024-04-06.
- ↑ Journal of Machine Learning Research.
- ↑ Foundations and Trends in Machine Learning.doi:10.1561/2200000056.
- ↑ In International Conference on Artificial Neural Networks 2011 Jun 14 (pp. 44-51). Springer, Berlin, Heidelberg..
- ↑ 7,0 7,1 Canada: O’Reilly Mija, Inc..
- ↑ Neurocomputing.(71)
- 3150–3157.doi:10.1016/j.neucom.2008.04.030.Consultat el 2024-04-06.
- ↑ Neurocomputing.doi:10.1016/j.neucom.2013.09.055.
- ↑ Science.doi:10.1126/science.1127647.
- ↑ 11,0 11,1 Foundations and Trends in Machine Learning.doi:10.1561/2200000006.
- ↑ Neural Computation.doi:10.1162/089976600300015691.
- ↑ Advances in Neural Information Processing Systems.MIT Press.10Consultat el 2024-04-06.
- ↑ Neural Networks.doi:10.1016/j.neunet.2014.09.003.
- ↑ In Advances in neural information processing systems 6.
- ↑
- ↑ torch.ch/blog/2015/11/13/gan.html.
- ↑ Basic Books. "Deeper into the Brain" subsection.Consultat el 2024-04-06.
- Este artícul conté una traducció derivada de «Autocodificador» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.