stringtranslate.com

Autocodificador variacional

Esquema básico de un autocodificador variacional. El modelo recibe como entrada. El codificador lo comprime en el espacio latente. El decodificador recibe como entrada la información muestreada del espacio latente y produce lo más similar posible a .

En el aprendizaje automático , un autocodificador variacional ( VAE ) es una arquitectura de red neuronal artificial introducida por Diederik P. Kingma y Max Welling . [1] Es parte de las familias de modelos gráficos probabilísticos y métodos bayesianos variacionales . [2]

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 ]

Aunque este tipo de modelo fue diseñado inicialmente para el aprendizaje no supervisado , [3] [4] se ha demostrado su eficacia para el aprendizaje semisupervisado [5] [6] y el aprendizaje supervisado . [7]

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]

Los enfoques más recientes reemplazan la divergencia de Kullback-Leibler (KL-D) con varias distancias estadísticas , consulte la sección "Variantes de VAE de distancia estadística" a continuación.

Formulación

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

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 .

Reparametrización

El esquema del truco de la reparametrización. La variable aleatoria se inyecta en el espacio latente como entrada externa. De esta manera, es posible retropropagar el gradiente sin involucrar la variable estocástica durante la actualización.

Para buscar de manera eficiente el método típico es el ascenso de gradiente .

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 .

El esquema de un autocodificador variacional después del truco de la reparametrización

Esto se puede repararmetrizar dejando que sea un " generador de números aleatorios estándar " y construyéndolo como . Aquí, se obtiene mediante la descomposición de Cholesky : Entonces tenemos y así obtuvimos un estimador imparcial del gradiente, lo que permite un descenso de gradiente estocástico .

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.

Algunas arquitecturas combinan VAE y redes generativas antagónicas para obtener modelos híbridos. [18] [19] [20]

Variantes de VAE de distancia estadística

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:

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:

Véase también

Referencias

  1. ^ Kingma, Diederik P.; Welling, Max (10 de diciembre de 2022). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
  2. ^ 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. ISBN 978-3-030-70681-4.S2CID240802776  .​
  3. ^ 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].
  4. ^ 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. ISBN 978-1-5090-4788-8. Número de identificación del sujeto  22681625.
  5. ^ Ehsan Abbasnejad, M.; Dick, Anthony; van den Hengel, Anton (2017). Autocodificador variacional infinito para aprendizaje semisupervisado. págs. 5888–5897.
  6. ^ 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.
  7. ^ 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.
  8. ^ abc Kingma, Diederik P.; Welling, Max (2013-12-20). "Bayes variacional con codificación automática". arXiv : 1312.6114 [stat.ML].
  9. ^ "Del autocodificador al Beta-VAE". Lil'Log . 2018-08-12.
  10. ^ 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 .
  11. ^ 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.
  12. ^ 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].
  13. ^ 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.
  14. ^ 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].
  15. ^ 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.
  16. ^ Dai, Bin; Wipf, David (30 de octubre de 2019). "Diagnóstico y mejora de modelos VAE". arXiv : 1903.05789 [cs.LG].
  17. ^ 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].
  18. ^ 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 .
  19. ^ Bao, Jianmin; Chen, Dong; Wen, colmillo; Li, Houqiang; Hua, pandilla (2017). "CVAE-GAN: generación de imágenes detalladas mediante entrenamiento asimétrico". págs. 2745–2754. arXiv : 1703.10155 [cs.CV].
  20. ^ 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.
  21. ^ Kingma, Diederik P.; Welling, Max (10 de diciembre de 2022). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
  22. ^ 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.
  23. ^ 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.
  24. ^ 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.
  25. ^ Tolstikhin, I.; Bousquet, O.; Gelly, S.; Schölkopf, B. (2018). "Codificadores automáticos Wasserstein". arXiv : 1711.01558 [estad.ML].
  26. ^ Louizos, C.; Shi, X.; Swersky, K.; Li, Y.; Welling, M. (2019). "Autocodificadores variacionales kernelizados". arXiv : 1901.02401 [astro-ph.CO].

Lectura adicional