Soluções — Aula 7: Autoencoders Profundos e o Autoencoder Variacional
Aprendizado Não Supervisionado
Respostas de Verdadeiro/Falso
Dica(Resposta) Teste 1 — Onde Está a Não Linearidade
- ✔ Verdadeiro — O decoder é \(\mathbf{W}\mathbf{h}+\mathbf{c}\), afim no código \(\mathbf{h}\in\mathbb{R}^M\); a imagem é \(\mathbf{c}+\mathcal{C}(\mathbf{W})\), de dimensão \(\le M\). A sigmoide só decide em que ponto desse plano cada dado cai.
- ✗ Falso — Com decoder afim, toda reconstrução está num subespaço afim de dimensão \(\le M\), e a projeção ortogonal sobre o melhor desses subespaços (o da PCA) já é o mínimo. Um encoder mais complexo não muda o plano.
- ✔ Verdadeiro — Composição de mapas lineares é linear, e o gargalo limita o posto a \(M\): as reconstruções ficam num subespaço de dimensão \(\le M\), e a PCA é ótima entre eles; a própria PCA é realizável por uma rede assim.
- ✗ Falso — Erro de treino menor pode vir de memorização: com muitos parâmetros e poucos pontos, a rede passa perto de cada ponto de treino sem que haja curvatura real. É preciso avaliar em dados não usados no ajuste.
Dica(Resposta) Teste 2 — Capacidade e Sobreajuste
- ✔ Verdadeiro — Erro de treino muito menor e erro de teste maior que o da PCA é a assinatura do sobreajuste.
- ✗ Falso — Camadas mais largas aumentam a capacidade, que já é excessiva para \(455\) pontos; o esperado é que o sobreajuste piore.
- ✗ Falso — O erro de treino usa os mesmos pontos do ajuste (double-dipping) e é otimista; aqui ele inverte a conclusão.
- ✔ Verdadeiro — Com \(M=D\), os \(D\) autovetores formam uma base ortonormal de \(\mathbb{R}^D\), e todo ponto, de treino ou não, é reconstruído exatamente.
Dica(Resposta) Teste 3 — O Espaço Latente do Autoencoder Determinístico
- ✗ Falso — O autoencoder é um par de funções determinísticas; não há \(p(\mathbf{z})\) nem \(p(\mathbf{x}\mid\mathbf{z})\), logo não há densidade nem verossimilhança.
- ✔ Verdadeiro — \(\mathbf{g}\circ\mathbf{h}^{-1}(\mathbf{h}\circ\mathbf{f}(\mathbf{x}))=\mathbf{g}(\mathbf{f}(\mathbf{x}))\) para todo \(\mathbf{x}\): as reconstruções e o erro são idênticos. Por isso a escala e a forma do espaço latente não são determinadas pelo objetivo.
- ✗ Falso — A Gaussiana ajustada cobre regiões entre os aglomerados de códigos onde o decoder nunca foi treinado; nessas regiões a saída pode não ser plausível.
- ✔ Verdadeiro — Para desfazer a corrupção, a rede aprende um deslocamento que leva cada ponto corrompido de volta à região de alta densidade, isto é, em direção à variedade (DLFC §19.1.4).
Dica(Resposta) Teste 4 — Modelo Gerador e PPCA
- ✔ Verdadeiro — \(\mathbf{x}\) é transformação afim de Gaussianas independentes (\(\mathbf{z}\) e o ruído), logo Gaussiana, com \(\mathrm{cov}=\mathbf{W}\,\mathbf{I}\,\mathbf{W}^T+\sigma^2\mathbf{I}\).
- ✗ Falso — Cada \(p(\mathbf{x}\mid\mathbf{z})\) é Gaussiana, mas \(p(\mathbf{x})\) é uma mistura contínua delas com médias \(\mathbf{g}(\mathbf{z})\) dispostas sobre uma superfície curva; em geral não é Gaussiana e a integral não tem forma fechada.
- ✔ Verdadeiro — Sem ruído, toda a massa fica sobre a superfície \(M\)-dimensional \(\{\mathbf{g}(\mathbf{z})\}\); pontos fora dela têm densidade zero, e a verossimilhança não fornece gradiente útil (DLFC §16.4.1).
- ✗ Falso — A covariância da posterior é \(\sigma^2\mathbf{B}^{-1}\), que não depende de \(\mathbf{x}\); só a média depende.
Dica(Resposta) Teste 5 — Inferência Amortizada
- ✗ Falso — A posterior exata exige \(p(\mathbf{x}\mid\mathbf{w})\), que é intratável; o encoder é uma aproximação aprendida.
- ✔ Verdadeiro — É a inferência amortizada: o custo de inferir é pago uma vez, no treino da rede, e cada ponto novo exige só uma passagem por ela.
- ✗ Falso — Em geral sobra \(\mathrm{KL}(q\|p(\mathbf{z}\mid\mathbf{x}))>0\): a posterior real não precisa ser Gaussiana diagonal, a rede tem flexibilidade limitada e a otimização é aproximada.
- ✔ Verdadeiro — \(\exp:\mathbb{R}\to(0,\infty)\) é bijetora; toda variância positiva é atingível.
Dica(Resposta) Teste 6 — O ELBO do VAE
- ✗ Falso — O KL dentro de \(\mathcal{L}_n\) é até a priori \(p(\mathbf{z})\) e é calculável; o KL até a posterior é a folga entre \(\mathcal{L}_n\) e \(\ln p(\mathbf{x}_n\mid\mathbf{w})\), que não é calculável.
- ✔ Verdadeiro — \(\ln p=\mathcal{L}_n+\mathrm{KL}(q\|\text{posterior})\) e a KL é não negativa.
- ✔ Verdadeiro — \(\ln p(\mathbf{x}\mid\mathbf{z})=-\tfrac D2\ln(2\pi\sigma^2)-\tfrac{1}{2\sigma^2}\|\mathbf{x}-\mathbf{g}\|^2\); trocando o sinal e descartando a constante, sobra a expressão dada.
- ✗ Falso — A constante não importa, mas \(\sigma^2\) também aparece no peso \(1/(2\sigma^2)\) do erro quadrático e, portanto, regula o equilíbrio entre reconstrução e KL.
Dica(Resposta) Teste 7 — A KL Gaussiana e o Coeficiente \(\beta\)
- ✗ Falso — A KL não é simétrica. Por exemplo, com \(\mu=0\): \(\mathrm{KL}(q\|p)=\tfrac12(s^2-1-\ln s^2)\) e \(\mathrm{KL}(p\|q)=\tfrac12(s^{-2}-1+\ln s^2)\), diferentes para \(s\ne1\).
- ✗ Falso — O mínimo em \(s\) é em \(s=1\); quando \(s\to0\), o termo \(-\ln s^2\to+\infty\).
- ✔ Verdadeiro — Os minimizadores dependem só de \(\beta\sigma^2\), e \(2\cdot0{,}05=1\cdot0{,}1\).
- ✔ Verdadeiro — Minimizar o termo KL com peso dominante leva \(q\) à priori (posterior collapse); o código deixa de carregar informação sobre \(\mathbf{x}\).
Dica(Resposta) Teste 8 — Reparametrização e Score Function
- ✔ Verdadeiro — \(P(\mu+\sigma\epsilon\le t)=\Phi((t-\mu)/\sigma)\), que é a função de distribuição de \(\mathcal{N}(\mu,\sigma^2)\).
- ✗ Falso — Ele usa apenas valores de \(f\); quem precisa de derivada é \(\ln q\) em relação a \(\boldsymbol\phi\). Por isso funciona até com \(\mathbf{z}\) discreta.
- ✗ Falso — Não existe transformação diferenciável de ruído contínuo que produza uma variável que só assume \(K\) valores e cuja derivada em \(\boldsymbol\phi\) seja útil; a reparametrização exige variáveis contínuas.
- ✔ Verdadeiro — A reparametrização usa a derivada de \(f\), que indica a direção de melhora; o score function multiplica o valor de \(f\) por um termo aleatório e oscila muito mais.