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

Aprendizado Não Supervisionado

Autor

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

Data de Publicação

30 de setembro de 2026

Slides Lista de aulas

1 Revisão e Introdução

Na aula anterior, vimos que a PCA e a PPCA definem um subespaço linear onde a variância é maximizada. Provamos que um Autoencoder (AE) com ativações lineares e um gargalo de dimensão \(M\) converge para o mesmo subespaço da PCA. No entanto, a natureza linear da PCA é limitante: se os dados residem em uma estrutura curva (um manifold), a projeção linear “achata” a geometria e perde informações essenciais.

Ideia Central: Para capturar estruturas complexas, precisamos de não linearidade. Ao introduzir funções de ativação (como ReLU ou Sigmoide) e camadas profundas, transformamos o AE em uma ferramenta capaz de aprender representações comprimidas de variedades não lineares. Mas isso traz um novo problema: a perda da interpretabilidade geométrica e a incapacidade de gerar novos dados.

Roteiro da Aula: 1. Autoencoders (AE): Como a compressão não linear funciona e a hipótese do manifold. 2. O Gap Generativo: Por que AEs não servem para gerar dados (o problema do espaço latente “buracado”). 3. Variational Autoencoders (VAE): A transição de pontos para distribuições. 4. O ELBO no VAE: Como a regularização via KL impede o colapso do espaço latente. 5. Reparameterization Trick: A solução matemática para treinar VAEs via gradiente.

Problema Motivador: Imagine que queremos comprimir as imagens do MNIST. Um AE linear (PCA) consegue reduzir a dimensão, mas se tentarmos interpolar entre dois dígitos no espaço latente, o resultado será uma mancha borrada. Um VAE, por outro lado, garante que o espaço latente seja contínuo, permitindo que “naveguemos” suavemente entre as formas dos dígitos.

1.1 Pausa Ativa

DicaO 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?

DicaJulgue 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.

2 Intuição — O Gargalo e o Manifold

A premissa fundamental dos Autoencoders é a Hipótese do Manifold: dados do mundo real, embora representados em espaços de altíssima dimensão, tendem a concentrar-se em subvariedades (manifolds) de dimensão muito menor.

Um Autoencoder opera criando um “estrangulamento” (bottleneck). Ao forçar a rede a comprimir a entrada \(\mathbf{x} \in \mathbb{R}^D\) em um vetor latente \(\mathbf{z} \in \mathbb{R}^M\) (com \(M \ll D\)), obrigamos o modelo a descartar o ruído e reter apenas as características essenciais para a reconstrução. Se a rede for profunda e não linear, ela não aprende apenas um plano (como a PCA), mas uma superfície curva que “envolve” os dados.

3 Bloco 1: Autoencoders (AE) Tradicionais

Um Autoencoder tradicional é treinado para minimizar a função de custo de reconstrução, tipicamente o Erro Quadrático Médio (MSE): \[J(\phi, \theta) = \frac{1}{N} \sum_{n=1}^N \|\mathbf{x}_n - g_{\theta}(f_{\phi}(\mathbf{x}_n))\|^2\]

O Risco do Mapeamento Identidade: Se \(M \ge D\), a rede pode simplesmente aprender a função identidade (\(\mathbf{z} = \mathbf{x}\)), copiando os pixels sem aprender nada sobre a estrutura dos dados. Para evitar isso, devemos: 1. Manter \(M < D\) (Undercomplete AE). 2. Adicionar ruído à entrada (Denoising AE). 3. Forçar a esparsidade no gargalo (Sparse AE).

No nosso dataset de Breast Cancer, um AE não linear consegue capturar correlações complexas entre os atributos que a PCA ignora, resultando em um erro de reconstrução menor para a mesma dimensão de gargalo.

4 Bloco 2: O Gap Generativo

Embora o AE seja excelente para compressão, ele falha miseravelmente como modelo generativo. Por que?

O AE aprende a mapear cada \(\mathbf{x}\) para um ponto \(\mathbf{z}\) no espaço latente. No entanto, ele não impõe nenhuma restrição sobre a distribuição desses pontos. O resultado é um espaço latente “buracado”: regiões onde o decoder nunca foi treinado. Se amostramosmos um \(\mathbf{z}\) de uma região vazia, o decoder produzirá lixo.

Para ser generativo, precisamos que o espaço latente seja contínuo (pontos próximos em \(\mathbf{z}\) geram imagens semelhantes) e completo (qualquer ponto amostrado de uma distribuição conhecida, como \(\mathcal{N}(\mathbf{0}, \mathbf{I})\), resulte em algo válido).

4.1 Pausa Ativa

DicaO 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?

DicaJulgue 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.

5 Bloco 3: Variational Autoencoders (VAE)

O VAE resolve o gap generativo mudando a natureza do gargalo. Em vez de mapear \(\mathbf{x}\) para um ponto \(\mathbf{z}\), o encoder agora estima os parâmetros de uma distribuição de probabilidade \(q_{\phi}(\mathbf{z}|\mathbf{x})\).

Geralmente, assumimos que essa distribuição é uma Gaussiana multivariada com diagonal: \[q_{\phi}(\mathbf{z}|\mathbf{x}) = \mathcal{N}(\mathbf{z} \mid \boldsymbol\mu_{\phi}(\mathbf{x}), \text{diag}(\boldsymbol\sigma_{\phi}^2(\mathbf{x})))\]

O encoder produz dois vetores: \(\boldsymbol\mu\) (a localização do dado no espaço latente) e \(\boldsymbol\sigma\) (a incerteza ou “espalhamento” desse dado). O decoder então tenta reconstruir \(\mathbf{x}\) a partir de amostras \(\mathbf{z} \sim q_{\phi}(\mathbf{z}|\mathbf{x})\). Isso força o decoder a ser robusto a pequenas variações em \(\mathbf{z}\), promovendo a continuidade do espaço.

6 Bloco 4: O Objetivo do VAE (ELBO)

Se deixássemos o VAE apenas com o erro de reconstrução, o modelo simplesmente definiria \(\boldsymbol\sigma \to 0\) e voltaria a ser um AE tradicional (pontos isolados). Para evitar isso, introduzimos uma regularização: queremos que a distribuição latente \(q_{\phi}(\mathbf{z}|\mathbf{x})\) seja próxima de uma priori simples, tipicamente \(\mathcal{N}(\mathbf{0}, \mathbf{I})\).

Isso nos leva de volta ao ELBO (Aula 5). A função de custo do VAE é a minimização da perda: \[\text{Loss} = \underbrace{\mathbb{E}_{\mathbf{z} \sim q_{\phi}(\mathbf{z}|\mathbf{x})} [\|\mathbf{x} - g_{\theta}(\mathbf{z})\|^2]}_{\text{Fidelidade (Reconstrução)}} + \beta \cdot \underbrace{\mathrm{KL}(q_{\phi}(\mathbf{z}|\mathbf{x}) \| \mathcal{N}(\mathbf{0}, \mathbf{I}))}_{\text{Regularização (Prior)}}\]

  • Fidelidade: Força o modelo a reconstruir o dado com precisão.
  • Regularização: Força o espaço latente a ser compacto, centralizado e sem buracos.
  • O Equilíbrio: Se \(\beta\) for muito alto, todos os dados colapsam no centro (borrado). Se for muito baixo, temos o problema do AE tradicional (overfitting).

7 Bloco 5: O Reparameterization Trick

Há um problema técnico fundamental: a operação de amostragem \(\mathbf{z} \sim \mathcal{N}(\boldsymbol\mu, \boldsymbol\sigma^2)\) é estocástica e não é diferenciável. O gradiente do erro de reconstrução não consegue “atravessar” a amostragem para atualizar os pesos do encoder (\(\boldsymbol\mu\) e \(\boldsymbol\sigma\)).

A solução é o Reparameterization Trick. Em vez de amostrar diretamente da Gaussiana dependente de \(\mathbf{x}\), expressamos \(\mathbf{z}\) como uma transformação determinística de um ruído externo \(\boldsymbol\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})\): \[\mathbf{z} = \boldsymbol\mu + \boldsymbol\sigma \odot \boldsymbol\epsilon\]

Agora, a estocasticidade está isolada em \(\boldsymbol\epsilon\), que não depende dos parâmetros da rede. O gradiente pode fluir livremente através de \(\boldsymbol\mu\) e \(\boldsymbol\sigma\) via a soma e a multiplicação, permitindo o treinamento via backpropagation.

7.1 Pausa Ativa

DicaO que acontece se removermos o termo KL do VAE?

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

DicaJulgue 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.

8 Fechamento

Retomando as perguntas do roteiro: - O que é um AE? Uma rede que aprende a comprimir e reconstruir dados via gargalo não linear. - Por que o AE não é generativo? Porque seu espaço latente é descontínuo e não modela a densidade dos dados. - Como o VAE resolve isso? Transformando o gargalo em uma distribuição e regularizando-a via KL para ser próxima de \(\mathcal{N}(\mathbf{0}, \mathbf{I})\). - O que é o Reparameterization Trick? Uma técnica para permitir o fluxo de gradientes através de amostragem estocástica.

O Que Fica em Aberto: Vimos que VAEs geram dados “borrados” (devido à natureza da Gaussiana e do MSE). Existem formas de gerar imagens mais nítidas? (Spoiler: GANs e Diffusion Models).

Ponte para a Aula 8: Até agora, focamos em reconstruir o dado. Mas e se quisermos apenas visualizar a estrutura de vizinhança em 2D, preservando a topologia local sem necessariamente reconstruir os pixels? Entraremos no mundo do MDS e t-SNE.

Exercícios Soluções