Multi-layer perceptrons
Encontro em 28/05/2024
1. Resultados desejados
1.1. Objetivos estabelecidos
Seguindo a linha de introdução à deep learning, o objetivo deste encontro é apresentar uma ferramenta capaz de classificar problemas que não são linearmente separáveis e aprofundar alguns conhecimentos a respeito de deep learning.
1.2. Quais são as questões centrais do encontro?
- Como as redes neurais aprendem? O que é backpropagation e qual a relação com o forward pass?
- O que são e como definir as funções de perda? Por quê se usa tanto a entropia cruzada?
- O que são as funções de ativação e por quê elas existem? O que é ReLU e por quê é a função de ativação mais utilizada?
- Como construir uma rede de perceptrons com mais de um perceptron? Ela é capaz de resolver problemas que não são linearmente separáveis?
1.3. O que o aluno deve ser capaz de fazer?
O aluno deve ser capaz de:
- Implementar um multi layer perceptron em Python puro, sem utilizar frameworks ou bibliotecas de deep learning.
- Implementar algoritmos de backpropagation, forward pass, uma implementação de função de perda simples e com uma função de ativação degrau.
2. Plano de aprendizagem
Daily (0 - 15 min)
Análise de implementação: perceptron (15 - 30 min)
Apresentação da solução da implementação de um perceptron simples (aula passada). Nessa implementação já tem o forward pass e a função de ativação por degrau.
Expositivo: conceitos de deep learning (30 - 60 min)
Apresentação dos conceitos:
- Backpropagation
- Função de perda
- Gradiente descendente
Implementação: função de perda e backpropagation (60 - 80 min)
Tempo para alunos desenvolverem em cima do perceptron apresentado os algoritmos de treinamento por backpropagation. Para isso, deve-se também desenvolver o algoritmo de cálculo da função de perda. Para testar a implementação, deve-se treinar o perceptron para representar as funções lógicas NAND e OR.
Discussão: o problema do XOR (80 - 95 min)
Por quê o perceptron não consegue representar um XOR? Solução por lógica e por deep learning.
Implementação: Multi-layer perceptron (95 - 115 min)
Tempo para os alunos desenvolverem o multi-layer perceptron para resolver o problema do XOR.
Fechamento (115 - 120 min)
Apresentação da solução final e discussão dos próximos passos a respeito de deep learning.