Un autoencoder variacional (VAE) es una arquitectura de red neuronal artificial introducida por Diederik P. Kingma y Max Welling en 2013. Forma parte de las familias de modelos gráficos probabilísticos y métodos bayesianos variacionales. Además de ser visto como una arquitectura de red neuronal autoencoder, los autoencoders variacionales también pueden estudiarse dentro de la formulación matemática de los métodos bayesianos variacionales, conectando una red neuronal codificadora con su decodificador a través de un espacio latente probabilístico (por ejemplo, como una distribución gaussiana multivariante) que corresponde a los parámetros de una distribución variacional.
El codificador mapea cada punto (como 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 mapear desde el espacio latente al espacio de entrada, nuevamente según una distribución (aunque en la práctica, rara vez se añade ruido durante la etapa de decodificación). Al mapear 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 suelen entrenarse juntas utilizando el truco de reparametrización, aunque la varianza del modelo de ruido puede aprenderse por separado. Aunque este tipo de modelo fue diseñado inicialmente para el aprendizaje no supervisado, su efectividad ha sido demostrada para el aprendizaje semi-supervisado y el aprendizaje supervisado.
Resumen de la arquitectura y funcionamiento
Un autoencoder variacional es un modelo generativo con una distribución previa y de ruido respectivamente. Normalmente, tales modelos se entrenan utilizando el meta-algoritmo de maximización de expectativas (por ejemplo, PCA probabilístico, codificación dispersa). Este esquema optimiza un límite inferior de la verosimilitud de los datos, que suele ser computacionalmente 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 autoencoders variacionales utilizan una red neuronal como un enfoque amortizado para optimizar conjuntamente a través de los puntos de datos. De esa manera, los mismos parámetros se reutilizan para múltiples puntos de datos, lo que puede resultar en ahorros masivos de memoria. La primera 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 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 las medias de la distribución de ruido. Es posible utilizar otra red neuronal que mapee a la varianza, aunque esto puede omitirse por simplicidad. En tal caso, la varianza puede optimizarse con descenso de gradiente.
Para optimizar este modelo, se necesitan 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 de ruido y el previo asumido de los datos, aquí referido como distribución p. Por ejemplo, una tarea estándar de VAE como IMAGENET se asume típicamente que tiene un ruido distribuido gaussianamente; 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 resultar en 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.
Enfoques más recientes reemplazan la divergencia de Kullback-Leibler (KL-D) con varias distancias estadísticas, ver "Variantes de VAE con distancia estadística" más abajo.
Formulación
Desde el punto de vista del modelado probabilístico, se quiere maximizar la verosimilitud de los datos \(x\) mediante su distribución de probabilidad parametrizada elegida \(p_\theta(x)=p(x|\theta)\). Esta distribución suele elegirse como una gaussiana \(N(x|\mu,\sigma)\) que está parametrizada por \(\mu\) y \(\sigma\) respectivamente, y como miembro de la familia exponencial es fácil de trabajar como distribución de ruido. Las distribuciones simples son fáciles de maximizar, sin embargo, las distribuciones donde se asume un previo sobre los latentes \(z\) resultan en integrales intratables. Encontremos \(p_\theta(x)\) marginalizando sobre \(z\).
\(p_\theta(x) = \int_z p_\theta({x,z}) \, dz,\)
donde \(p_\theta({x,z})\) representa la distribución conjunta bajo \(p_\theta\) de los datos observables \(x\) y su representación latente o codificación \(z\). Según la regla de la cadena, la ecuación puede reescribirse como
\(p_\theta(x) = \int_z p_\theta({x|z}) p_\theta(z) \, dz.\)
En la práctica, la integral sobre \(z\) es intratable porque el espacio latente es de alta dimensión y la posterior verdadera \(p_\theta(z|x)\) es desconocida. El VAE introduce una red codificadora \(q_\phi(z|x)\) para aproximar la posterior verdadera, y una red decodificadora \(p_\theta(x|z)\) para reconstruir los datos. El objetivo de entrenamiento es el límite inferior de la evidencia (ELBO), que es la suma del término de reconstrucción y el término de divergencia KL. El truco de reparametrización permite la retropropagación a través del proceso de muestreo expresando \(z\) como \(z = \mu + \sigma \odot \epsilon\), donde \(\epsilon\) se muestrea de una distribución normal estándar.
Entrenamiento y optimización
El VAE se entrena maximizando el ELBO con respecto a los parámetros \(\theta\) y \(\phi\). El término de reconstrucción anima al decodificador a reconstruir con precisión los datos de entrada, mientras que el término de divergencia KL regulariza el espacio latente para que esté cerca del previo (típicamente una distribución normal estándar). Este equilibrio ayuda a prevenir el sobreajuste y permite la generación de nuevos puntos de datos muestreando del previo y decodificando.
El truco de reparametrización es crucial para un entrenamiento eficiente utilizando descenso de gradiente estocástico. Al mover la estocasticidad a la variable de ruido \(\epsilon\), los gradientes pueden fluir a través de las partes deterministas de la red. La varianza del modelo de ruido puede aprenderse por separado, y el error de reconstrucción a menudo se calcula utilizando el error cuadrático medio para datos continuos o la entropía cruzada binaria para datos binarios.
Aplicaciones e impacto
El VAE se ha convertido en un modelo fundamental en IA generativa, permitiendo tareas como la generación de imágenes, la detección de anomalías y el aprendizaje de representaciones. Se ha extendido a varios dominios, incluyendo aprendizaje profundo y aprendizaje automático, y ha influido en el desarrollo de otros modelos generativos como los modelos de lenguaje grandes, aunque estos típicamente utilizan arquitecturas diferentes. Los VAE también se utilizan en entornos de aprendizaje semi-supervisado y supervisado, demostrando su versatilidad más allá del aprendizaje no supervisado.
El artículo original de Kingma y Welling ha sido muy influyente, y el marco del VAE se ha adaptado de numerosas maneras, como el uso de diferentes distancias estadísticas en lugar de la divergencia KL para abordar el colapso de modos. La capacidad del modelo para aprender espacios latentes suaves lo ha hecho útil para la interpolación y manipulación de atributos de datos.
Variantes y extensiones
Se han propuesto varias variantes de VAE para mejorar su rendimiento. Por ejemplo, el beta-VAE introduce un factor de ponderación en el término de divergencia KL para fomentar representaciones más desenredadas. Otras variantes utilizan diferentes previos, como modelos de mezcla gaussiana, o emplean entrenamiento adversarial para mejorar el realismo de las muestras generadas. El truco de reparametrización también se ha generalizado a otras distribuciones, como variables categóricas, utilizando la aproximación Gumbel-softmax.
En el contexto de inteligencia artificial, los VAE a menudo se comparan con las redes generativas adversariales (GAN), que son otra clase de modelos generativos. Mientras que las GAN pueden producir imágenes más nítidas, los VAE tienden a ser más estables de entrenar y proporcionan un marco probabilístico que es útil para la estimación de incertidumbre. A partir de principios de la década de 2020, los VAE siguen siendo un área activa de investigación, con aplicaciones en diseño de redes neuronales y más allá.