Um autoencoder variacional (VAE) é uma arquitetura de rede neural artificial introduzida por Diederik P. Kingma e Max Welling em 2013. Pertence às famílias de modelos gráficos probabilísticos e métodos bayesianos variacionais. VAEs são modelos generativos que aprendem a codificar dados de entrada em um espaço latente probabilístico e a decodificar amostras desse espaço de volta ao domínio de dados original, permitindo tarefas como geração de dados, remoção de ruído e aprendizado de representações.
A arquitetura consiste em duas redes neurais: um codificador e um decodificador. O codificador mapeia cada ponto de dados (como uma imagem) de um grande conjunto de dados complexo para uma distribuição dentro do espaço latente, em vez de um único ponto. Essa distribuição é tipicamente uma gaussiana multivariada, parametrizada por uma média e uma variância. O decodificador desempenha a função oposta, mapeando do espaço latente de volta ao espaço de entrada, novamente de acordo com uma distribuição, embora na prática ruído raramente seja adicionado durante a decodificação. Ao mapear para uma distribuição em vez de um único ponto, a rede evita o sobreajuste dos dados de treinamento. Ambas as redes são tipicamente treinadas em conjunto usando o truque da reparametrização, embora a variância do modelo de ruído possa ser aprendida separadamente.
Visão Geral da Arquitetura e Operação
Um autoencoder variacional é um modelo generativo com uma distribuição prévia e de ruído. Modelos tradicionais desse tipo são treinados usando o meta-algoritmo de maximização de expectativa, como PCA probabilístico ou codificação esparsa. Esses esquemas otimizam um limite inferior da verossimilhança dos dados, que geralmente é computacionalmente intratável, e exigem a descoberta de distribuições q, ou posteriores variacionais. Essas distribuições q são normalmente parametrizadas para cada ponto de dados individual em um processo de otimização separado.
VAEs, em vez disso, usam uma rede neural como uma abordagem amortizada para otimizar conjuntamente entre pontos de dados. Os mesmos parâmetros são reutilizados para múltiplos pontos de dados, resultando em economias massivas de memória. A primeira rede neural recebe pontos de dados como entrada e gera parâmetros para a distribuição variacional. Como ela mapeia de um espaço de entrada conhecido para o espaço latente de baixa dimensão, é chamada de codificador. O decodificador é a segunda rede neural, mapeando do espaço latente para o espaço de entrada, por exemplo, como as médias da distribuição de ruído. É possível usar outra rede neural para mapear para a variância, mas isso pode ser omitido por simplicidade, com a variância otimizada via descida de gradiente.
Para otimizar o modelo, dois termos são necessários: o erro de reconstrução e a divergência de Kullback-Leibler (KL-D). Ambos são derivados da expressão de energia livre do modelo probabilístico e diferem dependendo da distribuição de ruído e da prévia assumida dos dados. Por exemplo, uma tarefa VAE padrão como IMAGENET tipicamente assume ruído gaussiano, enquanto tarefas como MNIST binarizado exigem ruído de Bernoulli. O termo KL-D maximiza a massa de probabilidade da distribuição q que se sobrepõe à distribuição p, o que pode resultar em comportamento de busca de modos. O termo de reconstrução é o restante da expressão de energia livre e requer uma aproximação de amostragem para calcular seu valor esperado. Abordagens mais recentes substituem KL-D por várias distâncias estatísticas.
Formulação
Da perspectiva da modelagem probabilística, o objetivo é maximizar a verossimilhança dos dados x sob uma distribuição de probabilidade parametrizada escolhida p_θ(x) = p(x|θ). Essa distribuição é geralmente escolhida como uma gaussiana N(x|μ, σ), parametrizada por μ e σ, que é fácil de trabalhar como membro da família exponencial. Distribuições simples são fáceis de maximizar, mas distribuições com uma prévia sobre latentes z resultam em integrais intratáveis. A verossimilhança p_θ(x) é encontrada marginalizando sobre z:
p_θ(x) = ∫ p_θ(x, z) dz,
onde p_θ(x, z) é a distribuição conjunta dos dados observáveis x e da codificação latente z. Pela regra da cadeia, isso se torna:
p_θ(x) = ∫ p_θ(x|z) p_θ(z) dz.
Essa integral é geralmente intratável, então a inferência variacional é usada. A rede codificadora aproxima o posterior verdadeiro p_θ(z|x) com uma distribuição variacional q_φ(z|x), tipicamente uma gaussiana. O decodificador modela p_θ(x|z). O treinamento otimiza o limite inferior da evidência (ELBO), que equilibra a precisão da reconstrução e a regularização em direção à prévia.
O Truque da Reparametrização
O truque da reparametrização é uma técnica chave para treinar VAEs com retropropagação. Amostrar da distribuição de saída do codificador q_φ(z|x) não é diferenciável, o que impede o fluxo de gradiente. O truque expressa a variável latente como z = μ + σ ⊙ ε, onde ε é amostrado de uma distribuição normal padrão N(0, I). Isso separa a parte estocástica (ε) dos parâmetros determinísticos (μ e σ), permitindo que os gradientes fluam através da rede. O truque foi introduzido junto com o VAE em 2013 e se tornou padrão no aprendizado profundo variacional.
ELBO e Função de Perda
O objetivo de treinamento é o limite inferior da evidência (ELBO), derivado da expressão de energia livre. O ELBO consiste em dois termos: o termo de reconstrução e o termo de divergência KL. O termo de reconstrução, E_{q_φ(z|x)}[log p_θ(x|z)], mede quão bem o decodificador reconstrói a entrada a partir da amostra latente. O termo KL, D_KL(q_φ(z|x) || p(z)), regulariza o codificador penalizando desvios da prévia p(z), tipicamente uma gaussiana padrão. A perda total é o ELBO negativo, minimizado via descida de gradiente. O termo KL incentiva o espaço latente a ser suave e contínuo, enquanto o termo de reconstrução garante fidelidade aos dados.
Aplicações e Extensões
Embora inicialmente projetados para aprendizado não supervisionado, VAEs provaram ser eficazes para aprendizado semissupervisionado e supervisionado. Eles são usados em geração de imagens, detecção de anomalias, descoberta de medicamentos e aprendizado de representações. Variantes incluem VAEs condicionais (CVAEs), que condicionam em entradas adicionais, e beta-VAEs, que ponderam o termo KL para representações desembaraçadas. Trabalhos recentes substituíram KL-D por outras distâncias estatísticas para abordar o colapso de modos e melhorar a qualidade das amostras. VAEs também são fundamentais em Generative AI juntamente com outros modelos como Large language models, embora difiram em arquitetura e aplicação.
Relação com Outros Modelos
VAEs fazem parte do panorama mais amplo de Deep learning, relacionados a arquiteturas de Neural network como Residual Network (ResNet) e U-Net. Eles compartilham laços conceituais com modelos Encoder-Decoder Architecture e estruturas Sequence-to-Sequence (Seq2Seq), embora VAEs foquem em espaços latentes probabilísticos. Ao contrário de modelos baseados em Transformer (architecture) usados em sistemas de Artificial intelligence como a série GPT da OpenAI, VAEs são tipicamente menores e usados para dados contínuos. Pesquisas em instituições como MIT CSAIL e Stanford AI Lab avançaram a teoria de VAE, enquanto empresas como Google DeepMind e Amazon Web Services os aplicaram em sistemas de produção.
Limitações e Direções Futuras
VAEs frequentemente produzem amostras borradas em comparação com redes adversariais generativas (GANs), devido à suposição de ruído gaussiano e à regularização KL. O colapso de modos pode ocorrer quando o modelo foca em poucos modos da distribuição de dados. Avanços recentes abordam esses problemas através de VAEs hierárquicos, fluxos normalizadores e medidas de divergência alternativas. Em meados da década de 2020, VAEs permanecem uma área de pesquisa ativa, com trabalho contínuo em Machine learning e Generative AI para melhorar a qualidade das amostras e a escalabilidade.