Redes Neurais e Deep Learning
Edição
2026.2 · Insper
Lucas Sato
Portfólio dos exercícios da disciplina de Artificial Neural Networks and Deep Learning. Cada entrega é um relatório próprio — com o código que a gerou, as figuras e os números que sustentam cada afirmação.
O fio condutor não é a ferramenta, é a pergunta que vem antes dela: como os dados estão distribuídos, o que a geometria deles já revela sobre a dificuldade do problema, e o que precisa acontecer com eles antes de uma rede conseguir aprender qualquer coisa.
Exercícios
-
1. Data
Geometria e espalhamento de nuvens de pontos, não-linearidade em 5 dimensões e pré-processamento do Spaceship Titanic para uma rede com ativação
tanh.Três scripts · seis figuras · 13 métricas
-
2. Perceptron
Perceptron implementado do zero: converge quando os dados são separáveis e fica oscilando quando se sobrepõem, que é onde entra o pocket.
Perceptron em NumPy · seis figuras · 8 métricas
-
3. MLP
MLP implementado do zero: backpropagation à mão, um problema que uma reta não resolve, três classes com softmax e o teste de uma segunda camada oculta.
MLP em NumPy · seis figuras · 9 métricas
-
4. VAE
VAE no MNIST com os dois termos da perda medidos separadamente e um espaço latente de duas dimensões, desenhado para medir o que se perde ao comprimir cada imagem.
VAE em PyTorch · seis figuras · 4 métricas
Andamento
- Data — entregue em 10/set/2026
- Perceptron — entregue em 22/set/2026
- MLP — entregue em 13/out/2026
- VAE — entregue em 04/nov/2026
Como reproduzir
Todo relatório é reproduzível a partir de um checkout limpo. Os scripts fixam rng = np.random.default_rng(42) (no VAE, torch.manual_seed(42)) e leem os dados de caminhos relativos ao próprio arquivo, então rodam de qualquer lugar. O MNIST é baixado pelo próprio script do VAE na primeira execução.
git clone https://github.com/lucassatoco/DLRN_2026.2.git
cd DLRN_2026.2
python -m venv .venv && .venv/Scripts/activate
pip install -r requirements.txt
cd docs/exercises/data/code
python ex1_point_clouds.py
python ex2_nonlinearity.py
python ex3_preprocessing.py
cd ../../perceptron/code
python ex1_separable.py
python ex2_overlapping.py
cd ../../mlp/code
python ex2_binary.py
python ex3_multiclass.py
python ex4_depth.py
cd ../../vae/code
python ex1_mnist.py
python ex2_latent2d.py
Uso de IA
O uso de IA está declarado no front matter de cada relatório, no campo ai_use, como a disciplina exige. Colaboração é permitida; não declarar é o que gera problema.
Ferramentas
numpy · pandas · matplotlib · scikit-learn — esta última apenas para PCA e pré-processamento no exercício de Data e, no MLP, para gerar os dados, dividir treino e teste, a matriz de confusão e as baselines de regressão logística. O perceptron e o MLP são escritos do zero em NumPy, sem nenhum modelo pronto. No VAE uso torch e torchvision (o enunciado libera o autograd), mas a reparametrização, os dois termos da perda e a amostragem são escritos à mão; scipy entra só para a inversa da CDF normal.
Site construído com Material for MkDocs e publicado via GitHub Pages.