Um autoencoder variacional (VAE) é um tipo de rede neural artificial usada para modelagem generativa, introducido por Diederik P. Kingma e Max Welling em 2013. Pertenece à família dos modelos gráficos probabilísticos e dos métodos bayesianos variacionais. Um VAE aprende a codificar dados de alta dimensionalidade (como imagens) em um espaço latente de baixa dimensionalidade e, posteriormente, decodificar amostras desse espaço latente de volta aos dados, aprendendo efetivamente a distribuição de probabilidade subyacente dos dados de treinamento.
Visão geral da arquitetura e operação
Um VAE consiste em dois componentes principais de rede neural: um codificador e um decodificador. O codificador mapea cada ponto de dados de entrada \(x\) a uma distribuição sobre variáveis latentes \(z\), tipicamente uma gaussiana multivariada com média \(\mu(x)\) e variância \(\sigma^2(x)\). Em lugar de codificar um único ponto, o codificador emite parâmetros para uma distribuição de probabilidade, o que permite ao modelo representar incerteza e capturar variações contínuas nos dados. O decodificador toma uma amostra \(z\) dessa distribuição latente e a mapea de volta ao espaço de dados original, produzendo uma reconstrução \(\hat{x}\).
O objetivo de treinamento de um VAE é maximizar o limite inferior da evidencia (ELBO) sobre a log-verosimilitud dos dados. Isso envolve dois termos: a perda de reconstrução, que mede quão bem o decodificador reconstruye a entrada a partir da amostra latente, e a divergência de Kullback–Leibler (divergência KL) entre a distribuição de saída do codificador e uma distribuição a priori sobre \(z\) (geralmente uma normal padrão). O termo KL atua como regularizador, incentivando que o espaço latente seja suave e contínuo.
Para permitir a retropropagação através da etapa de amostreo aleatório, o VAE usa o truco de reparametrización: em lugar de amostrear \(z\) diretamente de \(q_\phi(z|x)\), o modelo amostrea uma variable de ruido auxiliar \(\epsilon \sim \mathcal{N}(0, I)\) e calcula \(z = \mu(x) + \sigma(x) \odot \epsilon\). Isso torna a operação de amostreo diferenciable em relação aos parâmetros do codificador.
Formulación matemática
Desde uma perspectiva probabilística, o objetivo é maximizar a verosimilitud marginal dos dados observados \(p_\theta(x) = \int p_\theta(x|z) p(z) dz\). No entanto, essa integral é frequentemente intratable. O VAE introduce uma posterior aproximada \(q_\phi(z|x)\) e deriva o ELBO:
\[
\log p_\theta(x) \geq \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) \| p(z))
\]
O primeiro termo é a verosimilitud de reconstrução, e o segundo termo é a divergência KL. Ambos termos são diferenciables em relação aos parâmetros \(\theta\) e \(\phi\) quando se usa o truco de reparametrización.
A elección da priori \(p(z)\) e da verosimilitud \(p_\theta(x|z)\) depende do tipo de dados. Para dados contínuos, uma verosimilitud gaussiana é comum; para dados binarios (por exemplo, MNIST binarizado), se usa uma verosimilitud de Bernoulli. A priori latente é tipicamente uma distribuição normal padrão.
Dinámica de treinamento
O VAE é treinado por descenso de gradiente estocástico sobre o ELBO. A perda de reconstrução incentiva ao decodificador a produzir saídas próximas às entradas, enquanto a divergência KL empuja a posterior do codificador hacia a priori. Isso cria um trade-off: demasiado peso na reconstrução leva a sobreajuste e a um espaço latente fragmentado, enquanto demasiado peso na KL leva a um fenômeno chamado colapso posterior, onde a variable latente se torna não informativa e o modelo ignora \(z\). Diversas técnicas, como o annealing de KL ou o beta-VAE, ajustam esse equilíbrio.
Variantes e extensões
Se desenvolveron várias variantes do VAE. O beta-VAE introduce um hiperparámetro \(\beta\) para ponderar o termo KL, permitendo representações mais desenredadas. Os VAEs condicionais (CVAEs) incorporan etiquetas de classe ou outra informação de condicionamento tanto no codificador como no decodificador. Os VAEs quantizados vectorialmente (VQ-VAEs) usan códigos latentes discretos, que são particularmente eficaces para a generación de imágenes de alta fidelidade. Outras extensões incluyen VAEs jerárquicos, flujos normalizadores e autoencoders adversarios.
Aplicações
O VAE foi amplamente aplicado em diversos domínios. Em visão por computador, se usa para generación de imágenes, denoising e inpainting. Em processamento de linguagem natural, os VAEs foram aplicados à generación de texto e à aprendizagem de representações de frases. Em imagens médicas, se usan para detección de anomalías. Os VAEs também serven como blocos de construção para modelos generativos más complexos, como os usados no descobrimento de fármacos e no desenho molecular.
Relação com outros modelos generativos
Os VAEs são um dos três tipos principais de modelos generativos profundos, junto com as redes adversarias generativas (GANs) e os modelos autorregresivos. A diferença das GANs, que treinan um discriminador para distinguir amostras reais de falsas, os VAEs optimizan um objetivo baseado na verosimilitud, o que os torna más estábles de treinar, embora frequentemente produzam saídas más borrosas. Os modelos autorregresivos, como PixelCNN, modelan a distribuição conjunta como um produto de condicionais, mas carecen de um espaço latente de baixa dimensionalidade. Os VAEs oferecen um equilíbrio entre inferencia tratable e generación expressiva.
Limitaciones e investigación atual
A pesar de seu éxito, os VAEs têm limitaciones conhecidas. As amostras generadas são frequentemente menos nítidas que as das GANs devido à suposição de verosimilitud gaussiana. O espaço latente pode não estar completamente desenredado, e o colapso posterior permanece uma área de investigación ativa. O trabalho recente se centra em melhorar a expressividade da priori e da posterior, usando distribuciones más flexibles e combinando VAEs com outros modelos. O campo continua evoluindo, com aplicações que se expanden à aprendizagem por reforzo e à aprendizagem de representações.
Veja também
- Autoencoder
- Red adversaria generativa
- Inferencia bayesiana
- Modelo de variable latente
- Truco de reparametrización
- Limite inferior da evidencia
- Beta-VAE
- Autoencoder variacional condicional
- Autoencoder variacional quantizado vectorialmente
- Flujos normalizadores
- Modelo gráfico probabilístico
- Aprendizaje profundo
- Aprendizaje não supervisionado
- Descenso de gradiente estocástico
- Divergência de Kullback–Leibler
- Distribuição gaussiana
- Distribuição de Bernoulli
- Base de dados MNIST
- Generación de imágenes
- Aprendizaje de representações
Referências
- Kingma, D. P., & Welling, M. (2013). Auto-Encoding Variational Bayes. arXiv:1312.6114.
- Doersch, C. (2016). Tutorial on Variational Autoencoders. arXiv:1606.05908.
- Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. (2017). Variational Inference: A Review for Statisticians. Journal of the American Statistical Association.
- Higgins, I., et al. (2017). beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework. ICLR.