Además de ser vistos como una arquitectura de red neuronal autocodificadora , los autocodificadores variacionales también pueden estudiarse dentro de la formulación matemática de los métodos bayesianos variacionales , conectando una red codificadora neuronal a su decodificador a través de un espacio latente probabilístico (por ejemplo, como una distribución gaussiana multivariada ) que corresponde a los parámetros de una distribución variacional.
De esta manera, el codificador asigna cada punto (por ejemplo, una imagen) de un conjunto de datos grande y complejo a una distribución dentro del espacio latente, en lugar de a un único punto en ese espacio. El decodificador tiene la función opuesta, que es asignar desde el espacio latente al espacio de entrada, nuevamente de acuerdo con una distribución (aunque en la práctica, rara vez se agrega ruido durante la etapa de decodificación). Al asignar un punto a una distribución en lugar de a un único punto, la red puede evitar el sobreajuste de los datos de entrenamiento. Ambas redes generalmente se entrenan juntas con el uso del truco de reparametrización, aunque la varianza del modelo de ruido se puede aprender por separado. [ cita requerida ]
Descripción general de la arquitectura y el funcionamiento
Un autocodificador variacional es un modelo generativo con una distribución previa y de ruido respectivamente. Por lo general, estos modelos se entrenan utilizando el metaalgoritmo de maximización de expectativas (por ejemplo, PCA probabilístico , codificación dispersa (spike & slab)). Este esquema optimiza un límite inferior de la probabilidad de los datos, que generalmente es intratable, y al hacerlo requiere el descubrimiento de distribuciones q o posteriores variacionales . Estas distribuciones q normalmente se parametrizan para cada punto de datos individual en un proceso de optimización separado. Sin embargo, los autocodificadores variacionales utilizan una red neuronal como un enfoque amortizado para optimizar conjuntamente en todos los puntos de datos. Esta red neuronal toma como entrada los propios puntos de datos y genera parámetros para la distribución variacional. Como mapea desde un espacio de entrada conocido al espacio latente de baja dimensión, se lo llama codificador.
El decodificador es la segunda red neuronal de este modelo. Es una función que mapea desde el espacio latente al espacio de entrada, por ejemplo, como la media de la distribución del ruido. Es posible utilizar otra red neuronal que mapee la varianza, sin embargo, esto se puede omitir para simplificar. En tal caso, la varianza se puede optimizar con descenso de gradiente.
Para optimizar este modelo, es necesario conocer dos términos: el "error de reconstrucción" y la divergencia de Kullback-Leibler (KL-D). Ambos términos se derivan de la expresión de energía libre del modelo probabilístico y, por lo tanto, difieren según la distribución del ruido y la distribución previa supuesta de los datos. Por ejemplo, se supone que una tarea VAE estándar como IMAGENET tiene un ruido distribuido de forma gaussiana; sin embargo, tareas como MNIST binarizado requieren un ruido de Bernoulli. La KL-D de la expresión de energía libre maximiza la masa de probabilidad de la distribución q que se superpone con la distribución p, lo que desafortunadamente puede dar lugar a un comportamiento de búsqueda de modos. El término de "reconstrucción" es el resto de la expresión de energía libre y requiere una aproximación de muestreo para calcular su valor esperado. [8]
Desde el punto de vista del modelado probabilístico, se desea maximizar la probabilidad de los datos mediante la distribución de probabilidad parametrizada elegida . Esta distribución se elige generalmente como una distribución gaussiana que está parametrizada por y respectivamente, y como miembro de la familia exponencial es fácil trabajar con ella como una distribución de ruido. Las distribuciones simples son bastante fáciles de maximizar, sin embargo, las distribuciones donde se supone una distribución previa sobre las latentes dan como resultado integrales intratables. Hallemos mediante la marginalización sobre .
donde representa la distribución conjunta de los datos observables y su representación latente o codificación . Según la regla de la cadena , la ecuación puede reescribirse como
En el autocodificador variacional tradicional, se considera generalmente que es un vector de números reales de dimensión finita y que es una distribución gaussiana . Por lo tanto, 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 costoso y en la mayoría de los casos 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 . Esto a veces se llama inferencia amortizada , ya que al "invertir" en encontrar un bien , uno puede inferir más tarde de forma rápida sin hacer ninguna integral.
De esta manera, el problema es encontrar un buen autocodificador probabilístico, en el que la distribución de probabilidad condicional se calcula mediante el decodificador probabilístico , y la distribución posterior aproximada se calcula mediante el codificador probabilístico .
Parametrizar el codificador como , y el decodificador como .
Límite inferior de evidencia (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 a través de la retropropagación .
En el caso de los autocodificadores variacionales, la idea es optimizar conjuntamente los parámetros del modelo generativo para reducir el error de reconstrucción entre la entrada y la salida, y hacer que α sea lo más cercano posible a . Como pérdida de reconstrucción, se suelen utilizar el error cuadrático medio y la entropía cruzada .
Como pérdida de distancia entre las dos distribuciones, la divergencia de Kullback-Leibler es una buena opción para comprimir . [ 8] [9]
La pérdida de distancia que acabamos de definir se expande como
Ahora definamos el límite inferior de la evidencia (ELBO): maximizar el ELBO es equivalente a maximizar y minimizar simultáneamente . Es decir, maximizar la verosimilitud logarítmica de los datos observados y minimizar la divergencia de la posterior aproximada respecto de la posterior exacta .
La forma dada no es muy conveniente para la maximización, pero la siguiente forma equivalente es: donde se implementa como , ya que es decir, hasta una constante aditiva, lo que produce. Es decir, modelamos la distribución de condicional en para que sea una distribución gaussiana centrada en . La distribución de y a menudo también se eligen para que sean gaussianas como y , con lo que obtenemos por la fórmula para la divergencia KL de gaussianas : Aquí está la dimensión de . Para una derivación más detallada y más interpretaciones de ELBO y su maximización, consulte su página principal .
Es fácil de encontrar. Sin embargo, no permite poner el valor dentro de la expectativa, ya que aparece en la propia distribución de probabilidad. El truco de la reparametrización (también conocido como retropropagación estocástica [10] ) evita esta dificultad. [8] [11] [12]
El ejemplo más importante es cuando se distribuye normalmente, como .
Dado que reparametrizamos , necesitamos encontrar . Sea la función de densidad de probabilidad para , entonces [ aclaración necesaria ] donde es la matriz jacobiana de con respecto a . Dado que , esto es
Variaciones
Se han utilizado muchas aplicaciones y extensiones de autocodificadores variacionales para adaptar la arquitectura a otros dominios y mejorar su rendimiento.
-VAE es una implementación con un término de divergencia de Kullback-Leibler ponderado para descubrir e interpretar automáticamente representaciones latentes factorizadas. Con esta implementación, es posible forzar el desenredo de variedades para valores mayores que uno. Esta arquitectura puede descubrir factores latentes desenredos sin supervisión. [13] [14]
La VAE condicional (CVAE) inserta información de etiqueta en el espacio latente para forzar una representación restringida determinista de los datos aprendidos. [15]
Algunas estructuras tratan directamente con la calidad de las muestras generadas [16] [17] o implementan más de un espacio latente para mejorar aún más el aprendizaje de la representación.
Tras el trabajo inicial de Diederik P. Kingma y Max Welling [21] se propusieron varios procedimientos para formular de forma más abstracta el funcionamiento del VAE. En estos enfoques la función de pérdida se compone de dos partes:
la parte de error de reconstrucción habitual que busca garantizar que la asignación de codificador-descodificador sea lo más cercana posible al mapa de identidad; el muestreo se realiza en tiempo de ejecución a partir de la distribución empírica de objetos disponibles (por ejemplo, para MNIST o IMAGENET, esta será la ley de probabilidad empírica de todas las imágenes en el conjunto de datos). Esto da el término: .
una parte variacional que asegura que, cuando la distribución empírica se pasa a través del codificador , recuperemos la distribución objetivo, denotada aquí que generalmente se toma como una distribución normal multivariante . Denotaremos esta medida de avance que en la práctica es solo la distribución empírica obtenida al pasar todos los objetos del conjunto de datos a través del codificador . Para asegurarnos de que está cerca del objetivo , se invoca una distancia estadística y el término se agrega a la pérdida.
Obtenemos la fórmula final para la pérdida:
La distancia estadística requiere propiedades especiales, por ejemplo, debe poseer una fórmula como expectativa porque la función de pérdida deberá optimizarse mediante algoritmos de optimización estocástica . Se pueden elegir varias distancias y esto dio lugar a varios tipos de VAE:
La distancia de Wasserstein en rodajas utilizada por S Kolouri et al. en su VAE [22]
La distancia energética implementada en el autocodificador variacional Radon Sobolev [23]
La distancia de discrepancia media máxima utilizada en el MMD-VAE [24]
^ Kingma, Diederik P.; Welling, Max (10 de diciembre de 2022). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
^ Pinheiro Cinelli, Lucas; et al. (2021). "Autocodificador variacional". Métodos variacionales para aprendizaje automático con aplicaciones a redes profundas . Springer. págs. 111–149. doi :10.1007/978-3-030-70679-1_5. ISBN978-3-030-70681-4.S2CID240802776 .
^ Dilokthanakul, Nat; Mediano, Pedro AM; Garnelo, Marta; Lee, Mateo CH; Salimbeni, Hugh; Arulkumaran, Kai; Shanahan, Murray (13 de enero de 2017). "Agrupación profunda no supervisada con codificadores automáticos variacionales de mezcla gaussiana". arXiv : 1611.02648 [cs.LG].
^ Hsu, Wei-Ning; Zhang, Yu; Glass, James (diciembre de 2017). "Adaptación de dominio no supervisada para reconocimiento de voz robusto mediante aumento de datos basado en autocodificador variacional". Taller sobre reconocimiento y comprensión automática del habla (ASRU) del IEEE de 2017. págs. 16–23. arXiv : 1707.06265 . doi :10.1109/ASRU.2017.8268911. ISBN978-1-5090-4788-8. Número de identificación del sujeto 22681625.
^ Ehsan Abbasnejad, M.; Dick, Anthony; van den Hengel, Anton (2017). Autocodificador variacional infinito para aprendizaje semisupervisado. págs. 5888–5897.
^ Xu, Weidi; Sun, Haoze; Deng, Chao; Tan, Ying (12 de febrero de 2017). "Autocodificador variacional para clasificación de texto semisupervisada". Actas de la Conferencia AAAI sobre Inteligencia Artificial . 31 (1). doi : 10.1609/aaai.v31i1.10966 . S2CID 2060721.
^ Kameoka, Hirokazu; Li, Li; Inoue, Shota; Makino, Shoji (1 de septiembre de 2019). "Separación de fuentes determinadas supervisada con autocodificador variacional multicanal". Computación neuronal . 31 (9): 1891–1914. doi :10.1162/neco_a_01217. PMID 31335290. S2CID 198168155.
^ abc Kingma, Diederik P.; Welling, Max (2013-12-20). "Bayes variacional con codificación automática". arXiv : 1312.6114 [stat.ML].
^ "Del autocodificador al Beta-VAE". Lil'Log . 2018-08-12.
^ Rezende, Danilo Jiménez; Mohamed, Shakir; Wierstra, Daan (18 de junio de 2014). "Retropropagación estocástica e inferencia aproximada en modelos generativos profundos". Conferencia internacional sobre aprendizaje automático . PMLR: 1278–1286. arXiv : 1401.4082 .
^ 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 . 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 semisupervisado 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. NeurIPS.
^ Burgess, Christopher P.; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alexander (10 de abril de 2018). "Entendiendo el desenredo 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 mediante modelos generativos condicionales profundos (PDF) . NeurIPS.
^ 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). "Capacitación de VAE bajo residuos estructurados". arXiv : 1804.01050 [estad.ML].
^ Larsen, Anders Boesen Lindbo; Sønderby, Søren Kaae; Larochelle, Hugo; Winther, Ole (11 de junio de 2016). "Codificación automática más allá de los píxeles utilizando una métrica de similitud aprendida". Congreso Internacional sobre Aprendizaje Automático . PMLR: 1558-1566. arXiv : 1512.09300 .
^ 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 de disparo cero generalizado y transductivo". 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.
^ Kingma, Diederik P.; Welling, Max (10 de diciembre de 2022). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
^ Kolouri, Soheil; Pope, Phillip E.; Martin, Charles E.; Rohde, Gustavo K. (2019). "Autocodificadores de Wasserstein en rodajas". Conferencia internacional sobre representaciones del aprendizaje . Conferencia internacional sobre representaciones del aprendizaje. ICPR.
^ Turinici, Gabriel (2021). "Autocodificadores variacionales de Radon-Sobolev". Redes neuronales . 141 : 294–305. arXiv : 1911.13135 . doi :10.1016/j.neunet.2021.04.018. ISSN 0893-6080. PMID 33933889.
^ Gretton, A.; Li, Y.; Swersky, K.; Zemel, R.; Turner, R. (2017). "Un modelo de contagio de Polya para redes". IEEE Transactions on Control of Network Systems . 5 (4): 1998–2010. arXiv : 1705.02239 . doi :10.1109/TCNS.2017.2781467.
Kingma, Diederik P.; Welling, Max (2019). "Introducción a los autocodificadores variacionales". Fundamentos y tendencias en aprendizaje automático . 12 (4). Now Publishers: 307–392. arXiv : 1906.02691 . doi :10.1561/2200000056. ISSN 1935-8237.