Aula 7: O Mundo Não Linear — Autoencoders e VAEs

Aprendizado Não Supervisionado

Marcos M. Raimundo — Instituto de Computação, UNICAMP

2026-09-30

Revisão e Introdução

Revisão: O Mundo Linear

  • PCA \(\equiv\) PPCA \(\equiv\) Linear AE.
  • Todos buscam o mesmo subespaço de dimensão \(M\).
  • Limitação: Não capturam curvatura. Se o dado é um “S”, a PCA vê apenas a projeção plana.

Ideia Central: Além da Linearidade

  • Objetivo: Aprender a geometria intrínseca dos dados (Manifold Learning).
  • Ferramenta: Redes Neurais Profundas \(\to\) Não linearidade \(\to\) Flexibilidade.
  • Desafio: Como garantir que o espaço comprimido seja útil para gerar novos dados?

Roteiro da Aula

  1. Autoencoders (AE): Compressão e Manifolds.
  2. O Gap Generativo: Por que AEs falham ao gerar?
  3. VAEs: De pontos a distribuições.
  4. ELBO: Equilíbrio entre Fidelidade e Regularização.
  5. Reparameterization Trick: O “pulo do gato” do gradiente.

Problema Motivador

Pergunta: Se eu comprimir um dígito ‘1’ e um ‘7’ em um espaço latente, o que existe exatamente no meio deles?

  • AE Tradicional: Provavelmente ruído ou um vazio.
  • VAE: Um dígito que parece a transição suave de ‘1’ para ‘7’.

Pausa Ativa

O que define um “Manifold”?

Se os dados de alta dimensão (ex: 784 pixels) residem em um manifold de baixa dimensão (ex: 10 dimensões), o que acontece com a distância euclidiana entre dois pontos próximos no manifold quando medida no espaço original?

Julgue V ou F

  • □ Um Autoencoder linear é matematicamente equivalente a uma PCA.
  • □ A função de ativação ReLU introduz a não linearidade necessária para aprender manifolds.
  • □ Aumentar a dimensão do gargalo (\(M\)) sempre melhora a generalização do modelo.
  • □ O objetivo de um AE é minimizar a distância entre a entrada e a reconstrução.

Pausa Ativa — Resposta

Julgue V ou F — Resposta

  • ✔ Verdadeiro — Provado na Aula 6.
  • ✔ Verdadeiro — Quebras a linearidade da projeção.
  • ✗ Falso — Gargalos muito grandes levam ao “mapeamento identidade” (overfitting).
  • ✔ Verdadeiro — Geralmente via MSE (Mean Squared Error).

Voltando à pergunta: A distância euclidiana no espaço original pode ser enganosa. Dois pontos podem estar próximos no manifold (seguindo a curvatura), mas distantes no espaço original (em linha reta através do “vazio”). O AE tenta aprender a métrica intrínseca do manifold.

Intuição — O Gargalo e o Manifold

O Gargalo (Bottleneck)

  • Encoder: \(\mathbf{z} = f_{\phi}(\mathbf{x})\) (Compressão).
  • Decoder: \(\mathbf{\hat{x}} = g_{\theta}(\mathbf{z})\) (Reconstrução).
  • Restrição: \(\dim(\mathbf{z}) \ll \dim(\mathbf{x})\).
  • Força: A rede deve aprender a representação mais eficiente possível para minimizar o erro.

A Hipótese do Manifold

  • Dados reais não preenchem o espaço \(\mathbb{R}^D\) uniformemente.
  • Eles residem em “folhas” ou “curvas” de baixa dimensão.
  • Exemplo: Uma imagem de um rosto é apenas uma combinação de rotação, expressão e iluminação (poucos graus de liberdade), apesar de ter milhares de pixels.

Bloco 1: Autoencoders (AE) Tradicionais

Autoencoders (AE) Tradicionais

  • Objetivo: \(\min_{\phi, \theta} \mathbb{E} [\|\mathbf{x} - \text{dec}(\text{enc}(\mathbf{x}))\|^2]\).
  • Arquitetura: Simétrica (geralmente).
  • Aprendizado: Backpropagation via gradiente descendente.

O Perigo do “Cópia e Cola”

  • Se o gargalo for largo demais \(\to\) Overfitting.
  • A rede aprende a “memorizar” os dados em vez de “comprimir”.
  • Solução: Forçar \(M \ll D\) ou usar regularização (Denoising/Sparsity).

AE Linear vs Não Linear

  • Linear: \(\mathbf{z} = \mathbf{W}\mathbf{x} + \mathbf{b}\).
  • Não Linear: \(\mathbf{z} = \sigma(\mathbf{W}\mathbf{x} + \mathbf{b})\).
  • A não linearidade permite que o modelo “dobre” o espaço para melhor ajustar o manifold.

Bloco 2: O Gap Generativo

O Problema do Espaço Latente

  • AE Tradicional: \(\mathbf{x} \to \mathbf{z}\) (mapeamento pontual).
  • O espaço \(\mathbf{z}\) é arbitrário e descontínuo.
  • Amostragem: Escolher um \(\mathbf{z}\) aleatório \(\to\) Resultado imprevisível.

Compressão \(\neq\) Geração

  • Compressão: Queremos que \(\text{dec}(\text{enc}(\mathbf{x})) \approx \mathbf{x}\).
  • Geração: Queremos que \(\text{dec}(\mathbf{z}) \approx \text{dado real}\) para qualquer \(\mathbf{z} \sim p(\mathbf{z})\).
  • O AE não modela a densidade \(p(\mathbf{z})\).

Pausa Ativa

O que aconteceria se forçássemos todos os \(\mathbf{z}\) a estarem dentro de um círculo unitário?

Isso resolveria o problema dos “buracos” no espaço latente ou apenas mudaria a escala do problema?

Julgue V ou F

  • □ O Autoencoder tradicional aprende a densidade de probabilidade dos dados.
  • □ No AE, a função de custo penaliza a distância entre a entrada e a saída.
  • □ Um espaço latente contínuo é essencial para a interpolação de características.
  • □ O decoder de um AE funciona como um modelo generativo por definição.

Pausa Ativa — Resposta

Julgue V ou F — Resposta

  • ✗ Falso — O AE aprende um mapeamento, não uma densidade.
  • ✔ Verdadeiro — Via MSE.
  • ✔ Verdadeiro — Permite transições suaves entre classes.
  • ✗ Falso — Ele reconstrói, mas não sabe como amostrar novos dados.

Voltando à pergunta: Apenas mudar a escala não resolve. O problema é a topologia do espaço. Podemos ter todos os pontos no círculo, mas com “ilhas” de dados separadas por vastos desertos de baixa probabilidade. Precisamos de uma força que “empurre” as representações para preencher o espaço de forma regular.

Bloco 3: Variational Autoencoders (VAE)

Variational Autoencoders (VAE)

  • Mudança de Paradigma: \(\mathbf{x} \to p(\mathbf{z}|\mathbf{x}) \to \mathbf{x}\).
  • O Encoder não é mais um compressor de pontos, mas um estimador de densidade.
  • Saídas do Encoder: \(\boldsymbol\mu\) (média) e \(\boldsymbol\sigma\) (desvio padrão).

O Processo Generativo

  1. Encoder: \(\mathbf{x} \to (\boldsymbol\mu, \boldsymbol\sigma)\).
  2. Amostragem: \(\mathbf{z} \sim \mathcal{N}(\boldsymbol\mu, \boldsymbol\sigma^2)\).
  3. Decoder: \(\mathbf{z} \to \mathbf{\hat{x}}\).
  • Isso garante que regiões próximas no espaço latente gerem resultados semelhantes.

Bloco 4: O Objetivo do VAE (ELBO)

O Objetivo do VAE: ELBO

A função de custo é um cabo de guerra entre dois termos:

  1. Erro de Reconstrução (Fidelidade):
    • \(\mathbb{E} [\|\mathbf{x} - \text{dec}(\mathbf{z})\|^2]\).
    • “Quero que o dado seja reconstruído perfeitamente”.
    • \(\to\) Tende a criar “ilhas” isoladas para cada dado.
  2. Divergência KL (Regularização):
    • \(\mathrm{KL}(q(\mathbf{z}|\mathbf{x}) \| \mathcal{N}(\mathbf{0}, \mathbf{I}))\).
    • “Quero que o espaço latente seja uma Gaussiana padrão”.
    • \(\to\) Tende a esmagar tudo no centro.

Resultado: Um espaço latente suave, contínuo e centrado.

Bloco 5: O Reparameterization Trick

O Reparameterization Trick

O Problema: \(\text{Encoder} \to \text{Amostra } \mathbf{z} \to \text{Decoder}\). O gradiente \(\nabla_{\phi}\) para no passo de amostragem (não é diferenciável).

A Solução: Mover a aleatoriedade para fora da rede. \[\mathbf{z} = \boldsymbol\mu + \boldsymbol\sigma \odot \boldsymbol\epsilon, \quad \text{onde } \boldsymbol\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\]

  • \(\boldsymbol\mu\) e \(\boldsymbol\sigma\) são determinísticos (saídas da rede).
  • \(\boldsymbol\epsilon\) é um ruído fixo para aquele passo.
  • Agora o gradiente flui!

Pausa Ativa

O que acontece se removermos o termo KL do VAE?

O modelo ainda consegue gerar imagens? Elas seriam semelhantes às do MNIST?

Julgue V ou F

  • □ O Reparameterization Trick torna a amostragem diferenciável.
  • □ No VAE, o encoder prevê o valor exato de \(\mathbf{z}\) para cada \(\mathbf{x}\).
  • □ A divergência KL no VAE atua como um regularizador do espaço latente.
  • □ O decoder de um VAE é capaz de transformar qualquer \(\mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\) em um dado plausível.

Pausa Ativa — Resposta

Julgue V ou F — Resposta

  • ✔ Verdadeiro — Permite o uso de backpropagation.
  • ✗ Falso — Ele prevê os parâmetros (\(\boldsymbol\mu, \boldsymbol\sigma\)) de uma distribuição.
  • ✔ Verdadeiro — Evita o colapso em pontos isolados.
  • ✔ Verdadeiro — Esse é o objetivo de ter um espaço latente regularizado.

Voltando à pergunta: Se removermos o KL, o VAE vira um AE tradicional com ruído. Ele ainda “gera” algo, mas o espaço latente terá buracos. Se você amostrar um \(\mathbf{z}\) aleatório, as chances de cair num “buraco” são altas, resultando em imagens que não parecem nada com dígitos.

Fechamento

Retomando as Perguntas

  • AE: Compressão via gargalo \(\to\) Manifold Learning.
  • Gap Generativo: Espaço latente “buracado” \(\to\) Amostragem falha.
  • VAE: Encoder \(\to\) Distribuição \(\to\) Regularização KL.
  • Reparameterization: \(\mathbf{z} = \boldsymbol\mu + \boldsymbol\sigma \odot \boldsymbol\epsilon \to\) Gradientes fluem.

O Que Fica em Aberto?

  • Por que as imagens do VAE são borradas?
  • Como gerar imagens com alta fidelidade (estilo “fotorealista”)?

Ponte para a Aula 8

Próximo passo: Redução para Visualização. Sairemos da reconstrução para a preservação de topologia: MDS e t-SNE.

Exercícios Soluções