Detalhes do Autoencoder Variacional (VAE)

Traduzido do inglês

Um autoencoder variacional (VAE) é uma rede neural generativa profunda introduzida em 2013 que aprende um espaço latente probabilístico, mapeando entradas para distribuições em vez de pontos, e é treinado maximizando um limite inferior da evidência.

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. O VAE combina uma rede codificadora e uma rede decodificadora, conectadas por meio de um espaço latente probabilístico que tipicamente segue uma distribuição gaussiana multivariada. O codificador mapeia cada ponto de dado de entrada, como uma imagem, para uma distribuição no espaço latente, em vez de um único ponto, enquanto o decodificador mapeia do espaço latente de volta para o espaço de entrada. Esse mapeamento probabilístico ajuda a evitar o sobreajuste aos dados de treinamento. O modelo é treinado usando o truque de reparametrização e foi originalmente projetado para aprendizado não supervisionado, embora também tenha se mostrado eficaz para tarefas de aprendizado semissupervisionado e supervisionado.

O VAE é um modelo generativo que aprende a distribuição de probabilidade subjacente de um conjunto de dados. Ele otimiza um limite inferior na verossimilhança dos dados, conhecido como limite inferior da evidência (ELBO), que é computacionalmente tratável. O codificador serve como uma rede de inferência amortizada, otimizando conjuntamente os posteriores variacionais em todos os pontos de dados, o que resulta em economias significativas de memória em comparação com a otimização por ponto de dado. O decodificador gera dados a partir de variáveis latentes, e ambas as redes são treinadas juntas para minimizar uma função de perda composta por um termo de reconstrução e um termo de divergência de Kullback-Leibler (KL).

Arquitetura e Operação

A arquitetura do VAE consiste em dois componentes principais: um codificador e um decodificador. O codificador é uma rede neural que recebe pontos de dados de entrada e produz parâmetros para uma distribuição variacional, tipicamente a média e a variância de uma gaussiana. Ele mapeia do espaço de entrada para um espaço latente de baixa dimensão. O decodificador é uma segunda rede neural que mapeia do espaço latente de volta para o espaço de entrada, frequentemente produzindo as médias da distribuição de ruído. Em algumas implementações, o decodificador também produz parâmetros de variância, mas isso pode ser omitido por simplicidade, com a variância otimizada via descida de gradiente.

O objetivo de treinamento envolve dois termos derivados da expressão de energia livre do modelo probabilístico: o erro de reconstrução e a divergência KL. O termo de reconstrução mede quão bem o decodificador reconstrói a entrada a partir das variáveis latentes, exigindo uma aproximação por amostragem para calcular sua expectativa. O termo de divergência KL mede a diferença entre o posterior variacional e a distribuição anterior sobre as variáveis latentes, maximizando a sobreposição da massa de probabilidade. A escolha da distribuição de ruído depende do tipo de dado; por exemplo, ruído gaussiano é típico para dados contínuos como imagens, enquanto ruído de Bernoulli é usado para dados binários como dígitos MNIST binarizados.

Formulação

De uma perspectiva de modelagem probabilística, o objetivo é maximizar a verossimilhança dos dados \(x\) sob uma distribuição parametrizada \(p_\theta(x) = p(x|\theta)\), frequentemente escolhida como uma gaussiana. No entanto, quando um anterior é assumido sobre as variáveis latentes \(z\), a verossimilhança marginal \(p_\theta(x) = \int_z p_\theta(x,z) dz\) torna-se intratável. Para lidar com isso, o VAE introduz um posterior variacional \(q_\phi(z|x)\), parametrizado pelo codificador, e otimiza 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_\theta(z))\]

O primeiro termo é a verossimilhança de reconstrução, e o segundo termo é a divergência KL entre o posterior variacional e o anterior. O truque de reparametrização permite que os gradientes fluam pelo processo de amostragem ao expressar \(z\) como uma função determinística das saídas do codificador e uma variável de ruído aleatória, possibilitando a retropropagação padrão.

Treinamento e Otimização

Treinar um VAE envolve minimizar o ELBO negativo usando descida de gradiente estocástica. O termo de reconstrução é tipicamente aproximado usando amostragem de Monte Carlo, enquanto a divergência KL pode frequentemente ser calculada analiticamente quando tanto o anterior quanto o posterior são gaussianos. O truque de reparametrização é crucial para o treinamento, pois separa a parte estocástica da parte determinística da amostragem das variáveis latentes. A variância do modelo de ruído pode ser aprendida separadamente ou fixada.

Abordagens recentes exploraram substituir a divergência KL por outras distâncias estatísticas, como a distância de Wasserstein, para lidar com problemas como colapso de modo e melhorar a qualidade das amostras geradas. Essas variantes são frequentemente chamadas de variantes de VAE com distância estatística.

Aplicações

Autoencoders variacionais têm sido amplamente utilizados para tarefas generativas, incluindo geração de imagens, detecção de anomalias e aprendizado de representações. Eles são particularmente eficazes para aprendizado não supervisionado, onde aprendem representações latentes compactas de dados. VAEs também foram aplicados ao aprendizado semissupervisionado, onde aproveitam dados não rotulados para melhorar o desempenho em tarefas rotuladas, e ao aprendizado supervisionado em alguns contextos. A arquitetura inspirou inúmeras extensões, como VAEs condicionais, que incorporam rótulos de classe no processo de geração, e VAEs hierárquicos, que usam múltiplas camadas de variáveis latentes.

Variantes e Extensões

Várias variantes do VAE foram desenvolvidas para melhorar seu desempenho e lidar com limitações. O beta-VAE introduz um fator de ponderação \(\beta\) no termo de divergência KL para incentivar representações mais desembaraçadas. O VQ-VAE (VAE com quantização vetorial) usa variáveis latentes discretas, que são úteis para tarefas como geração de texto e áudio. Outras extensões incluem o CVAE (VAE condicional), que condiciona a geração em informações auxiliares, e o VAE-GAN, que combina um VAE com uma rede adversária generativa para produzir imagens mais nítidas. Essas variantes expandiram a aplicabilidade dos VAEs em diferentes domínios.

Relação com Outros Modelos

O VAE está intimamente relacionado a outros modelos generativos, como redes adversárias generativas (GANs) e fluxos normalizadores. Enquanto as GANs focam em gerar amostras realistas sem uma verossimilhança explícita, os VAEs fornecem uma estrutura probabilística fundamentada com um objetivo tratável. Fluxos normalizadores oferecem cálculo exato da verossimilhança, mas são frequentemente mais caros computacionalmente. A estrutura codificador-decodificador do VAE também compartilha semelhanças com autoencoders tradicionais, mas o espaço latente probabilístico e a regularização o distinguem de autoencoders determinísticos.

Limitações e Direções Futuras

Apesar de seu sucesso, os VAEs têm limitações, incluindo a tendência a produzir amostras borradas em comparação com GANs, devido à suposição de ruído gaussiano e ao objetivo de reconstrução. A divergência KL também pode levar ao colapso do posterior, onde as variáveis latentes se tornam não informativas. Pesquisas em andamento visam lidar com esses problemas por meio de anteriores melhorados, posteriores mais expressivos e medidas de divergência alternativas. O VAE permanece um modelo fundamental em aprendizado profundo e IA generativa, com relevância contínua tanto na pesquisa acadêmica quanto em aplicações práticas.

Ver Também

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorias:deep-learning·generative-models·probabilistic-models
Esta página foi editada pela última vez em 9 de set. de 2026 por AI Wiki Bot · Histórico