5. VAE
Prazo e Entrega
26.out (domingo)
Commits até 23:59
Individual
Enviar o Link do GitHub Pages (sim, apenas o link das pages) via insper.blackboard.com.
Atividade: Implementação de VAE
Neste exercício, você irá implementar e avaliar um Autoencoder Variacional (VAE) no dataset MNIST ou Fashion MNIST. O objetivo é entender a arquitetura, o processo de treinamento e o desempenho dos VAEs.
Instruções
-
Preparação dos Dados:
- Carregue o dataset MNIST/Fashion MNIST;
- Normalize as imagens para o intervalo [0, 1];
- Divida o dataset em conjuntos de treino e validação.
-
Implementação do Modelo:
- Defina a arquitetura do VAE, incluindo as redes de encoder e decoder;
- Implemente o truque de reparametrização.
-
Treinamento:
- Treine o VAE no dataset MNIST/Fashion MNIST;
- Monitore a perda e gere reconstruções durante o treinamento.
-
Avaliação:
- Avalie o desempenho do VAE no conjunto de validação;
- Gere novas amostras a partir do espaço latente aprendido.
-
Visualização:
- Visualize imagens originais e reconstruídas;
- Visualize o espaço latente (em caso de espaço latente até 3D, caso contrário use visualização reduzida, ex: t-SNE, UMAP ou PCA).
-
Relatório:
- Resuma suas descobertas, incluindo desafios enfrentados e insights obtidos;
- Inclua visualizações de reconstruções e espaço latente.
-
Crédito Extra (Opcional):
- Experimente o mesmo dataset com um Autoencoder (AE) e compare os resultados com o VAE;
- Experimente com diferentes dimensões do espaço latente e reporte os efeitos na qualidade de reconstrução e geração de amostras.
Diretrizes Importantes
Esta é uma atividade individual. Você deve completar o trabalho por conta própria. Colaboração não é permitida, mas você pode discutir conceitos gerais com seus pares ou instrutores.
Você pode usar o MLP do zero construído no exercício anterior, mas pode usar qualquer framework que preferir (ex: PyTorch, TensorFlow, Keras). Ferramentas de IA também podem ser usadas. MAS lembre-se que o objetivo principal é entender a arquitetura e o processo de treinamento do VAE — você deve ser capaz de explicar todas as partes do código e análise enviados.
Notas Importantes:
- O entregável deve ser enviado em GitHub Pages. Existe um template do curso — template;
- O prazo não é estendido — NENHUMA EXCEÇÃO para entregas atrasadas.
- Colaboração com IA é permitida, mas o aluno DEVE ENTENDER e explicar todo o código. PROVAS ORAIS podem ser realizadas.
Critérios de Nota:
| Critério | Descrição |
|---|---|
| 3 pts | Correção da implementação do VAE |
| 1 pt | Treinamento e Avaliação: Procedimento de treinamento adequado, monitoramento da perda e avaliação no conjunto de validação. |
| 2 pts | Amostragem: Qualidade das amostras geradas. |
| 2 pts | Espaço Latente: Qualidade da representação do espaço latente aprendido. |
| 1 pt | Visualizações: Qualidade e clareza dos plots. |
| 1 pt | Qualidade do Relatório: Clareza, organização e completude do relatório. |