Autoencoders Variacionais e o Limite Inferior da Evidência
Objetivos de Aprendizagem
- Explicar por que um autoencoder comum não é um modelo generativo, e o que um modelo generativo de dados precisa oferecer.
- Escrever o modelo de variável latente e explicar por que maximizá-lo diretamente é intratável.
- Derivar o limite inferior da evidência (ELBO) e interpretar os seus dois termos, reconstrução e regularização por KL.
- Aplicar o truque da reparametrização e calcular a divergência KL em forma fechada entre uma gaussiana diagonal e a normal padrão.
Contexto e Motivação
ai-theory/deep-learning construiu autoencoders: um encoder comprime uma entrada num código e um decoder reconstrói a partir de . O espaço de códigos é útil para compressão e features, mas não é um modelo do qual se possa amostrar. O encoder coloca os exemplos de treino onde a reconstrução é mais fácil, deixando a maior parte do espaço de códigos sem uso; decodifique um ponto aleatório e a saída costuma não ter sentido. Um modelo generativo precisa definir uma distribuição de probabilidade sobre os dados, para que amostras novas se pareçam com os dados de treino e a verossimilhança de um exemplo possa ser avaliada ou ao menos limitada.
O autoencoder variacional (VAE), introduzido por Kingma e Welling em 2013 (e de forma independente por Rezende, Mohamed e Wierstra), mantém o formato encoder-decoder, mas lhe dá um significado probabilístico e um objetivo com fundamento. As suas ideias centrais, o limite inferior da evidência e o truque da reparametrização, reaparecem em toda a modelagem generativa moderna: modelos de difusão (o próximo conceito) são treinados com um limite muito parecido, e os espaços latentes em que grandes geradores de imagem operam costumam ser produzidos por um VAE. O CS236 de Stanford (Deep Generative Models) desenvolve tudo isso a partir deste ponto.
Teoria Central
Um modelo de variável latente
Suponha que cada ponto de dado é gerado em dois passos: sorteie um latente de um prior simples e depois sorteie de uma distribuição do decoder cujos parâmetros vêm de uma rede neural. A probabilidade de no modelo é
A máxima verossimilhança maximizaria sobre o conjunto de treino, mas a integral sobre todo não tem forma fechada quando o decoder é uma rede neural, e a posterior verdadeira , que diz quais latentes poderiam ter produzido , é igualmente intratável. É a mesma estrutura do modelo de mistura de gaussianas de ai-theory/machine-learning, em que o algoritmo EM lidava com um latente discreto com posterior exata; aqui o latente é contínuo e a posterior não tem fórmula.
O limite inferior da evidência
Introduza um encoder , uma rede neural que produz uma posterior aproximada, tipicamente uma gaussiana diagonal com média e variância . Para qualquer assim, a desigualdade de Jensen dá
O lado direito é o ELBO. A diferença entre os dois lados é exatamente , então aumentar o ELBO melhora o modelo e também torna o encoder uma aproximação melhor da posterior verdadeira. O treino maximiza o ELBO conjuntamente em e .
Os dois termos puxam em direções opostas. A reconstrução quer cada codificado numa região precisa e distinta do espaço latente. O termo de KL quer que toda se pareça com o prior normal padrão, sobrepondo-se às vizinhas e preenchendo o espaço. O equilíbrio é o que torna o espaço latente utilizável: os códigos de exemplos reais cobrem densamente a região do prior, então um sorteado de decodifica em algo plausível.
O truque da reparametrização
O termo de reconstrução é uma esperança sobre , e a descida de gradiente precisa do seu gradiente em relação a . Do jeito que está escrita, a amostragem não é diferenciável. O truque é tirar a aleatoriedade de dentro da rede:
Agora é uma função determinística e diferenciável de e de uma amostra de ruído independente, então a retropropagação comum flui por e . Uma amostra de por exemplo por passo costuma bastar.
O termo de KL em forma fechada
Para um encoder gaussiano diagonal e um prior normal padrão, a divergência KL não precisa de amostragem:
Cada dimensão paga por uma média longe de 0 e por uma variância longe de 1.
Para gerar, descarte o encoder: sorteie e decodifique.
Exemplos Resolvidos
Exemplo 1: calculando o termo de KL
Problema: Para uma entrada, um encoder bidimensional produz e . Calcule o termo de KL.
Rastreamento: Dimensão 1: . Dimensão 2: . Soma: ; vezes : nats. A primeira dimensão é penalizada só pela média deslocada; a segunda só pela variância encolhida. Um encoder que produzisse em toda parte pagaria KL zero, mas então não carregaria informação nenhuma sobre e a reconstrução sofreria, que é exatamente a tensão que o ELBO equilibra.
Exemplo 2: diagnosticando amostras borradas e latentes sem uso
Problema: Um VAE treinado em imagens de rostos produz amostras borradas, e uma checagem mostra que 40 das suas 64 dimensões latentes têm e para toda entrada. Explique as duas observações.
Resolução: O borrão vem da verossimilhança do decoder. Uma gaussiana com variância fixa transforma o termo de reconstrução num erro quadrático, e quando várias imagens nítidas são plausíveis para o mesmo , o ótimo do erro quadrático é a média delas, que é borrada. As dimensões inativas são um colapso da posterior em miniatura: nessas dimensões a penalidade de KL pesa mais do que qualquer ganho de reconstrução, então o encoder as iguala ao prior e o decoder as ignora. Remédios incluem aumentar gradualmente o peso do KL a partir de 0 durante o treino, usar uma verossimilhança de decoder mais expressiva ou aceitar menos dimensões ativas. Pesar o termo de KL por (o -VAE) empurra para o outro lado, rumo a representações mais desemaranhadas, porém mais borradas.
Equívocos Comuns e Armadilhas
- "Um VAE é um autoencoder com ruído adicionado." O ruído é consequência do objetivo, não um truque de regularização. Sem o termo de KL puxando toda posterior para o prior, o encoder encolheria até zero e o modelo voltaria a ser um autoencoder comum com espaço latente inutilizável.
- "Maximizar o ELBO maximiza a verossimilhança." Maximiza um limite inferior. Se a família do encoder for restritiva demais (uma gaussiana diagonal quando a posterior verdadeira é multimodal), a diferença continua grande e o modelo pode ser pior do que o necessário.
- "A qualidade das amostras mede o quão bom é o VAE." VAEs costumam ter bons limites de verossimilhança e espaços latentes suaves, mas amostras mais borradas do que GANs ou modelos de difusão; qual propriedade importa depende do uso, por exemplo um VAE muitas vezes é usado só como compressor para um espaço latente em que outro gerador trabalha.
Resumo
Um modelo generativo precisa definir uma distribuição da qual se possa amostrar. O VAE supõe que os dados são decodificados a partir de um latente sorteado de , aproxima a posterior intratável com um encoder e maximiza o limite inferior da evidência: um termo de reconstrução menos a divergência KL de cada posterior aproximada para o prior. O truque da reparametrização torna o passo de amostragem diferenciável, e o termo de KL tem forma fechada para gaussianas. A pressão do KL é o que preenche o espaço latente para que códigos aleatórios decodifiquem em dados plausíveis, ao preço de borrão e possivelmente de dimensões inativas. O próximo conceito mantém a ideia de uma distribuição de ruído fixa, mas chega até ela gradualmente, por muitos pequenos passos de remoção de ruído.