stringtranslate.com

codificador automático variacional

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

Los codificadores automáticos variacionales a menudo se asocian con el modelo de codificador automático debido a su afinidad arquitectónica, pero con diferencias significativas en el objetivo y la formulación matemática. Los autocodificadores variacionales son modelos generativos probabilísticos que requieren redes neuronales como solo una parte de su estructura general. Los componentes de la red neuronal normalmente se denominan codificador y decodificador para el primer y segundo componente respectivamente. La primera red neuronal asigna la variable de entrada a un espacio latente que corresponde a los parámetros de una distribución variacional. De esta manera, el codificador puede producir múltiples muestras diferentes que provienen todas de la misma distribución. El decodificador tiene la función opuesta, que es mapear desde el espacio latente al espacio de entrada, para producir o generar puntos de datos. Por lo general, ambas redes se entrenan juntas mediante el uso del truco de reparametrización, aunque la varianza del modelo de ruido se puede aprender por separado.

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

Descripción general de la arquitectura y el funcionamiento.

Un autocodificador variacional es un modelo generativo con 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)). Tal 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 codificadores automáticos variacionales utilizan una red neuronal como un enfoque amortizado para optimizar conjuntamente 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 se asigna desde un espacio de entrada conocido al espacio latente de baja dimensión, se le 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 medio de la distribución del ruido. Es posible utilizar otra red neuronal que se asigne a la varianza; sin embargo, esto se puede omitir por simplicidad. En tal caso, la variación se puede optimizar con el descenso de gradiente.

Para optimizar este modelo, es necesario conocer dos términos: el "error de reconstrucción" y la divergencia 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 el a priori supuesto de los datos. Por ejemplo, normalmente se supone que una tarea VAE estándar como IMAGENET tiene un ruido distribuido gaussianamente; sin embargo, tareas como MNIST binarizado requieren un ruido de Bernoulli. El 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 resultar en un comportamiento de búsqueda de modo. 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. [7]

Formulación

El esquema básico de un codificador automático 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 .

Desde el punto de vista del modelado probabilístico, se quiere maximizar la probabilidad de los datos mediante la distribución de probabilidad parametrizada elegida . Esta distribución generalmente se elige como gaussiana , parametrizada por y respectivamente, y como miembro de la familia exponencial es fácil trabajar con ella como distribución de ruido. Las distribuciones simples son bastante fáciles de maximizar; sin embargo, las distribuciones en las que se supone una prioridad sobre las latentes dan como resultado integrales intratables. Encontremos vía marginación sobre .

donde representa la distribución conjunta de los datos observables y su representación o codificación latente . Según la regla de la cadena , la ecuación se puede reescribir como

En el codificador automático variacional básico, generalmente se considera un vector de dimensión finita de números reales y 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

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

siendo definido como el conjunto de valores reales que parametrizan . A esto a veces se le llama inferencia amortizada , ya que al "invertir" en encontrar un bien , uno puede luego inferir rápidamente sin hacer integrales.

De esta manera, el problema es encontrar un buen autocodificador probabilístico, en el que el decodificador probabilístico calcule la distribución de probabilidad condicional y el codificador probabilístico calcule la distribución posterior aproximada .

Parametrice 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 poder actualizar los pesos de la red mediante retropropagación .

Para los codificadores automáticos 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 acercarse lo más posible a . Como pérdida de reconstrucción, a menudo se utilizan 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 comprimirse . [7] [8]

La pérdida de distancia que acabamos de definir se expande como

Ahora defina el límite inferior de evidencia (ELBO):

La forma dada no es muy conveniente para la maximización, pero la siguiente forma equivalente es:

la divergencia KL de gaussianas
su página principal

Reparametrización

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

Para buscar eficientemente

el descenso de gradiente

Es sencillo de encontrar

truco de reparametrización[9][7] [10] [11]

El ejemplo más importante es cuando se distribuye normalmente, como .

El esquema de un codificador automático variacional después del truco de reparametrización.

Esto se puede reparametrizar dejando que sea un " generador de números aleatorios estándar " y construyéndolo como . Aquí, se obtiene mediante la descomposición de Cholesky :

el descenso del gradiente estocástico

Ya que reparametrizamos , necesitamos encontrar . Sea la función de densidad de probabilidad para , entonces [ se necesita aclaración ]

Variaciones

Se han utilizado muchas aplicaciones y extensiones de codificadores automáticos variantes para adaptar la arquitectura a otros dominios y mejorar su rendimiento.

-VAE es una implementación con un término de divergencia ponderado de Kullback-Leibler para descubrir e interpretar automáticamente representaciones latentes factorizadas. Con esta implementación, es posible forzar el desenredo múltiple para valores mayores que uno. Esta arquitectura puede descubrir factores latentes desenredados sin supervisión. [12] [13]

El VAE condicional (CVAE) inserta información de etiqueta en el espacio latente para forzar una representación restringida determinista de los datos aprendidos. [14]

Algunas estructuras tratan directamente con la calidad de las muestras generadas [15] [16] o implementan más de un espacio latente para mejorar aún más el aprendizaje de representación.

Algunas arquitecturas combinan VAE y redes generativas adversarias para obtener modelos híbridos. [17] [18] [19]

Ver también

Referencias

  1. ^ Pinheiro Cinelli, Lucas; et al. (2021). "Codificador automático variacional". Métodos variacionales para aprendizaje automático con aplicaciones a redes profundas . Saltador. págs. 111-149. doi :10.1007/978-3-030-70679-1_5. ISBN 978-3-030-70681-4. S2CID  240802776.
  2. ^ 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].
  3. ^ Hsu, Wei-Ning; Zhang, Yu; Glass, James (diciembre de 2017). "Adaptación de dominio no supervisada para un reconocimiento de voz sólido mediante aumento de datos basado en codificador automático variacional". Taller de comprensión y reconocimiento automático de voz (ASRU) de IEEE 2017 . págs. 16-23. arXiv : 1707.06265 . doi :10.1109/ASRU.2017.8268911. ISBN 978-1-5090-4788-8. S2CID  22681625.
  4. ^ Ehsan Abbasnejad, M.; Dick, Antonio; van den Hengel, Antón (2017). Autocodificador variacional infinito para aprendizaje semisupervisado. págs. 5888–5897.
  5. ^ Xu, Weidi; Sol, Haoze; Deng, Chao; Bronceado, Ying (12 de febrero de 2017). "Codificador automático variacional para clasificación de texto semisupervisado". Actas de la Conferencia AAAI sobre Inteligencia Artificial . 31 (1). doi : 10.1609/aaai.v31i1.10966 . S2CID  2060721.
  6. ^ Kameoka, Hirokazu; Li, Li; Inoue, Shota; Makino, Shoji (1 de septiembre de 2019). "Separación de fuente determinada supervisada con codificador automático variacional multicanal". Computación neuronal . 31 (9): 1891-1914. doi :10.1162/neco_a_01217. PMID  31335290. S2CID  198168155.
  7. ^ abc Kingma, Diederik P.; Welling, Max (20 de diciembre de 2013). "Bayes variacionales de codificación automática". arXiv : 1312.6114 [estad.ML].
  8. ^ "De Autoencoder a Beta-VAE". Lil'Log . 2018-08-12.
  9. ^ Rezende, Danilo Jiménez; Mohamed, Shakir; Wierstra, Daan (18 de junio de 2014). "Retropropagación estocástica e inferencia aproximada en modelos generativos profundos". Congreso Internacional sobre Aprendizaje Automático . PMLR: 1278-1286. arXiv : 1401.4082 .
  10. ^ Bengio, Yoshua; Courville, Aarón; Vicente, Pascal (2013). "Aprendizaje de representación: una revisión y nuevas perspectivas". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 35 (8): 1798–1828. arXiv : 1206.5538 . doi :10.1109/TPAMI.2013.50. ISSN  1939-3539. PMID  23787338. S2CID  393948.
  11. ^ 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].
  12. ^ Higgins, Irina; Matthey, Loic; Pal, Arka; Burgess, Cristóbal; Glorot, Javier; Botvinick, Mateo; Mohamed, Shakir; Lerchner, Alejandro (4 de noviembre de 2016). "beta-VAE: aprendizaje de conceptos visuales básicos con un marco variacional restringido". {{cite journal}}: Citar diario requiere |journal=( ayuda )
  13. ^ Burgess, Christopher P.; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alejandro (10 de abril de 2018). "Comprender el desenredado en β-VAE". arXiv : 1804.03599 [estad.ML].
  14. ^ Sohn, Kihyuk; Lee, Honglak; Yan, Xinchen (1 de enero de 2015). "Aprendizaje de la representación de resultados estructurados mediante modelos generativos condicionales profundos" (PDF) . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  15. ^ Dai, contenedor; Wipf, David (30 de octubre de 2019). "Diagnóstico y mejora de modelos VAE". arXiv : 1903.05789 [cs.LG].
  16. ^ 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].
  17. ^ 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 .
  18. ^ 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].
  19. ^ Gao, Rui; Hou, Xingsong; Qin, Jie; Chen, Jiaxin; Liu, Li; Zhu, Fan; Zhang, Zhao; Shao, Ling (2020). "Zero-VAE-GAN: Generación de funciones invisibles para un aprendizaje Zero-Shot generalizado y transductivo". Transacciones IEEE sobre procesamiento de imágenes . 29 : 3665–3680. Código Bib : 2020ITIP...29.3665G. doi :10.1109/TIP.2020.2964429. ISSN  1941-0042. PMID  31940538. S2CID  210334032.