En el aprendizaje automático , un autocodificador variacional , [1] también conocido como VAE , es la arquitectura de red neuronal artificial introducida por Diederik P Kingma y Max Welling , pertenecientes a las familias de modelos gráficos probabilísticos y métodos bayesianos variacionales .
A menudo se asocia con el modelo de autoencoder [2] [3] debido a su afinidad arquitectónica, pero existen diferencias significativas tanto en el objetivo como en la formulación matemática. Los autocodificadores variacionales están destinados a comprimir la información de entrada en una distribución latente multivariante restringida ( codificación ) para reconstruirla con la mayor precisión posible ( decodificación ). Aunque este tipo de modelo se diseñó inicialmente para el aprendizaje no supervisado , [4] [5] su eficacia ha sido probada en otros dominios del aprendizaje automático como el aprendizaje semi-supervisado [6] [7] o el aprendizaje supervisado .[8]
Arquitectura
Los autocodificadores variacionales son métodos bayesianos variacionales con una distribución multivariante como anterior y una posterior aproximada por una red neuronal artificial, formando la denominada estructura codificador-decodificador variacional. [9] [10] [11]
Un codificador de vainilla es una red neuronal artificial capaz de reducir su información de entrada a una representación de cuello de botella llamada espacio latente. Representa la primera mitad de la arquitectura tanto del autoencoder como del autoencoder variacional: para el primero, la salida es un vector fijo de neuronas artificiales; para este último, la información saliente se comprime en un espacio latente probabilístico todavía compuesto por neuronas artificiales. Sin embargo, en la arquitectura de autocodificador variacional, representan y se tratan como dos vectores distintos con las mismas dimensiones, que representan el vector de medias y el vector de desviaciones estándar, respectivamente.
Un decodificador de vainilla sigue siendo una red neuronal artificial diseñada para ser la arquitectura espejo del codificador. Toma como entrada la información comprimida proveniente del espacio latente y luego la expande para producir una salida que sea lo más igual posible a la entrada del codificador. Mientras que para un autocodificador la entrada del decodificador es trivialmente un vector de valores reales de longitud fija, para un autocodificador variacional es necesario introducir un paso intermedio: dada la naturaleza probabilística del espacio latente, es posible considerarlo como un vector gaussiano multivariado . Con este supuesto, y mediante la técnica conocida como truco de reparametrización, es posible muestrear poblaciones de este espacio latente y tratarlas precisamente como un vector de valores reales de longitud fija.
Desde un punto de vista sistémico, tanto el autoencoder vanilla como el autoencoder variacional reciben como entrada un conjunto de datos de alta dimensión. Luego, lo comprimen adaptativamente en un espacio latente (codificación) y, finalmente, intentan reconstruirlo con la mayor precisión posible (decodificación). Dada la naturaleza de su espacio latente, el autocodificador variacional se caracteriza por una función objetivo ligeramente diferente: tiene que minimizar una función de pérdida de reconstrucción como el autocodificador de vainilla. Sin embargo, también tiene en cuenta la divergencia de Kullback-Leibler entre el espacio latente y un vector de gaussianos normales.
Formulación
Desde una perspectiva formal, dado un conjunto de datos de entrada caracterizado por una función de probabilidad desconocida y un vector de codificación latente multivariante , el objetivo es modelar los datos como una distribución , con definido como el conjunto de parámetros de la red.
Es posible formalizar esta distribución como
dónde es la evidencia de los datos del modelo con marginación realizada sobre variables no observadas y, por lo tanto,representa la distribución conjunta entre los datos de entrada y su representación latente según los parámetros de la red.
Según el teorema de Bayes , la ecuación se puede reescribir como
En el codificador automático variacional de vainilla asumimos con dimensión finita y que es una distribución gaussiana , entonces es una mezcla de distribuciones gaussianas.
Ahora es posible definir el conjunto de relaciones entre los datos de entrada y su representación latente como
- Previo
- Probabilidad
- Posterior
Desafortunadamente, el cálculo de es muy caro y en la mayoría de los casos incluso intratable. Para acelerar el cálculo y hacerlo factible, es necesario introducir una función adicional para aproximar la distribución posterior como
con definido como el conjunto de valores reales que parametrizan .
De esta manera, el problema general se puede traducir fácilmente al dominio del codificador automático, en el que la distribución de probabilidad condicional es llevada por el decodificador probabilístico , mientras que la distribución posterior aproximadaes calculado por el codificador probabilístico .
Función de pérdida de ELBO
Como en todo problema de aprendizaje profundo , es necesario definir una función de pérdida diferenciable para actualizar los pesos de la red mediante retropropagación .
Para los autocodificadores variacionales, la idea es minimizar conjuntamente los parámetros del modelo generativo. para reducir el error de reconstrucción entre la entrada y la salida de la red, y tener lo más cerca posible de .
Como pérdida de reconstrucción, el error cuadrático medio y la entropía cruzada representan buenas alternativas.
Como pérdida de distancia entre las dos distribuciones, la divergencia inversa de Kullback-Leibler es una buena opción para exprimir debajo . [1] [12]
La pérdida de distancia que se acaba de definir se expande como
En este punto, es posible reescribir la ecuación como
El objetivo es maximizar la probabilidad logarítmica del LHS de la ecuación para mejorar la calidad de los datos generados y minimizar las distancias de distribución entre el posterior real y el estimado.
Esto equivale a minimizar la probabilidad logarítmica negativa, que es una práctica común en los problemas de optimización.
La función de pérdida así obtenida, también denominada función de pérdida de límite inferior de evidencia , en breve ELBO, se puede escribir como
Dada la propiedad no negativa de la divergencia Kullback-Leibler, es correcto afirmar que
Los parámetros óptimos son los que minimizan esta función de pérdida. El problema se puede resumir como
La principal ventaja de esta formulación radica en la posibilidad de optimizar conjuntamente con respecto a los parámetros y .
Antes de aplicar la función de pérdida ELBO a un problema de optimización para retropropagar el gradiente, es necesario hacerlo diferenciable aplicando el llamado truco de reparametrización para eliminar el muestreo estocástico de la formación, y así hacerlo diferenciable.
Truco de reparametrización
Para que la formulación de ELBO sea adecuada para fines de entrenamiento, es necesario introducir una modificación menor adicional en la formulación del problema y también en la estructura del autocodificador variacional. [1] [13] [14]
El muestreo estocástico es la operación no diferenciable mediante la cual es posible muestrear del espacio latente y alimentar al decodificador probabilístico.
Para hacer factible la aplicación de procesos de retropropagación, como el descenso de gradiente estocástico , se introduce el truco de reparametrización.
El supuesto principal sobre el espacio latente es que se puede considerar como un conjunto de distribuciones gaussianas multivariadas y, por lo tanto, se puede describir como
Dado y definido como el producto por elemento, el truco de reparametrización modifica la ecuación anterior como
Gracias a esta transformación, que se puede extender también a otras distribuciones diferentes a la gaussiana, el autocodificador variacional es entrenable y el codificador probabilístico tiene que aprender a mapear una representación comprimida de la entrada en los dos vectores latentes. y , mientras que la estocasticidad queda excluida del proceso de actualización y se inyecta en el espacio latente como entrada externa a través del vector aleatorio .
Variaciones
Existen muchas aplicaciones y extensiones de autocodificadores variacionales para adaptar la arquitectura a diferentes dominios y mejorar su rendimiento.
-VAE es una implementación con un término de divergencia Kullback-Leibler ponderado para descubrir e interpretar automáticamente representaciones latentes factorizadas. Con esta implementación, es posible forzar el desenredo múltiple paravalores mayores que uno. Los autores demuestran esta capacidad de arquitectura para generar muestras sintéticas de alta calidad. [15] [16]
Se cree que otra implementación denominada autocodificador variacional condicional, en breve CVAE, inserta información de etiqueta en el espacio latente para forzar una representación restringida determinista de los datos aprendidos. [17]
Algunas estructuras tratan directamente con la calidad de las muestras generadas [18] [19] o implementan más de un espacio latente para mejorar aún más el aprendizaje de la representación. [20] [21]
Algunas arquitecturas mezclan las estructuras de autocodificadores variacionales y redes generativas adversarias para obtener modelos híbridos con altas capacidades generativas. [22] [23] [24]
Ver también
- Autoencoder
- Red neuronal artificial
- Aprendizaje profundo
- Red de confrontación generativa
- Aprendizaje de representación
- Aprendizaje escaso de diccionario
- Aumento de datos
- Retropropagación
Referencias
- ^ a b c Kingma, Diederik P .; Welling, Max (1 de mayo de 2014). "Auto-Codificación Variacional Bayes". arXiv : 1312.6114 [ stat.ML ].
- ^ Kramer, Mark A. (1991). "Análisis de componentes principales no lineales mediante redes neuronales autoasociativas" . Revista AIChE . 37 (2): 233–243. doi : 10.1002 / aic.690370209 .
- ^ Hinton, GE; Salakhutdinov, RR (28 de julio de 2006). "Reducción de la dimensionalidad de los datos con redes neuronales" . Ciencia . 313 (5786): 504–507. Código bibliográfico : 2006Sci ... 313..504H . doi : 10.1126 / science.1127647 . PMID 16873662 . S2CID 1658773 .
- ^ Dilokthanakul, Nat; Mediano, Pedro AM; Garnelo, Marta; Lee, Matthew CH; Salimbeni, Hugh; Arulkumaran, Kai; Shanahan, Murray (13 de enero de 2017). "Agrupación profunda no supervisada con autoencoders variacionales de mezcla gaussiana". arXiv : 1611.02648 [ cs.LG ].
- ^ Hsu, Wei-Ning; Zhang, Yu; Glass, James (diciembre de 2017). "Adaptación de dominio no supervisado para un reconocimiento de voz robusto a través del aumento de datos basado en codificador automático variacional" . 2017 Taller de Comprensión y Reconocimiento Automático de Voz de IEEE (ASRU) . págs. 16–23. arXiv : 1707.06265 . doi : 10.1109 / ASRU.2017.8268911 . ISBN 978-1-5090-4788-8. S2CID 22681625 .
- ^ Ehsan Abbasnejad, M .; Dick, Anthony; van den Hengel, Anton (2017). Autoencoder variacional infinito para aprendizaje semi-supervisado . págs. 5888–5897.
- ^ Xu, Weidi; Sol, neblina; Deng, Chao; Tan, Ying (12 de febrero de 2017). "Autoencoder variacional para clasificación de texto semi-supervisado" . Actas de la Conferencia AAAI sobre Inteligencia Artificial . 31 (1).
- ^ Kameoka, Hirokazu; Li, Li; Inoue, Shota; Makino, Shoji (1 de septiembre de 2019). "Separación de fuente determinada supervisada con autoencoder variacional multicanal" . Computación neuronal . 31 (9): 1891-1914. doi : 10.1162 / neco_a_01217 . PMID 31335290 . S2CID 198168155 .
- ^ An, J. y Cho, S. (2015). Detección de anomalías basada en autocodificador variacional usando probabilidad de reconstrucción. Conferencia especial sobre IE , 2 (1).
- ^ Khobahi, S .; Soltanalian, M. (2019). "Arquitecturas profundas basadas en modelos para la codificación automática variacional compresiva de un bit". arXiv : 1911.12410 [ eess.SP ].
- ^ Kingma, Diederik P .; Welling, Max (2019). "Introducción a los codificadores automáticos variacionales". Fundamentos y Tendencias en Machine Learning . 12 (4): 307–392. arXiv : 1906.02691 . doi : 10.1561 / 2200000056 . ISSN 1935-8237 . S2CID 174802445 .
- ^ "De Autoencoder a Beta-VAE" . Lil'Log . 2018-08-12.
- ^ Bengio, Yoshua; Courville, Aaron; Vincent, Pascal (2013). "Aprendizaje de representación: una revisión y nuevas perspectivas" . Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas . 35 (8): 1798–1828. arXiv : 1206.5538 . doi : 10.1109 / TPAMI.2013.50 . ISSN 1939-3539 . PMID 23787338 . S2CID 393948 .
- ^ Kingma, Diederik P .; Rezende, Danilo J .; Mohamed, Shakir; Welling, Max (31 de octubre de 2014). "Aprendizaje semi-supervisado con modelos generativos profundos". arXiv : 1406,5298 [ cs.LG ].
- ^ Higgins, Irina; Matthey, Loic; Pal, Arka; Burgess, Christopher; Glorot, Xavier; Botvinick, Matthew; Mohamed, Shakir; Lerchner, Alexander (4 de noviembre de 2016). "beta-VAE: aprendizaje de conceptos visuales básicos con un marco variacional restringido" . Cite journal requiere
|journal=
( ayuda ) - ^ Burgess, Christopher P .; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alexander (10 de abril de 2018). "Comprensión del desenredado en β-VAE". arXiv : 1804.03599 [ stat.ML ].
- ^ Sohn, Kihyuk; Lee, Honglak; Yan, Xinchen (1 de enero de 2015). "Aprendizaje de la representación de salida estructurada utilizando modelos generativos condicionales profundos" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Dai, Bin; Wipf, David (30 de octubre de 2019). "Diagnóstico y mejora de modelos VAE". arXiv : 1903.05789 [ cs.LG ].
- ^ Dorta, Garoe; Vicente, Sara; Agapito, Lourdes; Campbell, Neill DF; Simpson, Ivor (31 de julio de 2018). "Formación de VAE bajo residuos estructurados". arXiv : 1804.01050 [ stat.ML ].
- ^ Tomczak, Jakub; Welling, Max (31 de marzo de 2018). "VAE con un VampPrior" . Congreso Internacional de Inteligencia Artificial y Estadística . PMLR: 1214–1223. arXiv : 1705.07120 .
- ^ Razavi, Ali; Oord, Aaron van den; Vinyals, Oriol (2 de junio de 2019). "Generación de diversas imágenes de alta fidelidad con VQ-VAE-2". arXiv : 1906.00446 [ cs.LG ].
- ^ Larsen, Anders Boesen Lindbo; Sønderby, Søren Kaae; Larochelle, Hugo; Winther, Ole (11 de junio de 2016). "Autocodificación más allá de píxeles utilizando una métrica de similitud aprendida" . Congreso Internacional de Machine Learning . PMLR: 1558–1566. arXiv : 1512.09300 .
- ^ Bao, Jianmin; Chen, Dong; Wen, Fang; Li, Houqiang; Hua, Gang (2017). "CVAE-GAN: generación de imágenes de grano fino a través del entrenamiento asimétrico". págs. 2745–2754. arXiv : 1703.10155 [ cs.CV ].
- ^ Gao, Rui; Hou, Xingsong; Qin, Jie; Chen, Jiaxin; Liu, Li; Zhu, Fan; Zhang, Zhao; Shao, Ling (2020). "Zero-VAE-GAN: generación de características invisibles para el aprendizaje Zero-Shot generalizado y transductivo" . Transacciones IEEE sobre procesamiento de imágenes . 29 : 3665–3680. Código Bibliográfico : 2020ITIP ... 29.3665G . doi : 10.1109 / TIP.2020.2964429 . ISSN 1941-0042 . PMID 31940538 . S2CID 210334032 .