Redes neurais e deep learning
Código Disciplina: RN26EE
Material Dicático
Youtube https://www.youtube.com/playlist?list=PL9At2PVRU0ZqVArhU9QMyI3jSe113_m2-
Códigos Github https://github.com/dalcimar/RC18EE---Intro-to-Deep-Learning
Conteúdos e tarefas
L01 O que é aprendizado de máquina e aprendizado profundo? Uma visão geral
Assistir a Aula L01 do youtube (part1 e part2)
Assistir a Aula presencial https://drive.google.com/file/d/1Jb6vU0yu1ZCaOsmrKu3yTPEbFsnaSHhu/view?usp=sharing
L02 Um breve resumo da história das redes neurais e deep learning
Assistir a Aula L02 do youtube
Assistir a Aula presencial https://drive.google.com/file/d/14JGCBDf8CpXrcKqo9UwYOlDMpRIFDfp9/view?usp=sharing
Realizar os trabalhos HW1 e HW2
L03 O Perceptron, introdução às redes neurais de camada única
Assistir aula L03 do youtube
Ler o artigo boas práticas em ML
Assistir a aula presencial L03
L04 Álgebra Linear para deep learning
Assistir aula L04 do youtube (part1 e part2)
L05 Aprendizado com gradiente descendente
L06 Diferenciação automática com Pytorch
Assistir aula L06 do youtube
Assistir aula presencial L06
L07 Regressão logística e classificação multiclasse
L08 Rede neural multilayer perceptron
Assistir aula L08 do youtube (part1 e part2)
Assistir aula presencial L08
L09 Regularização
Assistir aula L09 do youtube (part1 e part2)
Assistir aula presencial L09
L10 Normalização de características e inicialização de pesos
Assistir aula L10 do youtube (part1 e part2)
Assistir aula presencial L10
L11 Algoritmos de otimização para Deep Learning
Assistir aula L11 do youtube
Assistir aula presencial L10
L12 Redes neurais convolucionais
L13
Assistir aula L13 Metric learning youtube
Assistir aula presencial L13
L14
Assitir aula L14 youtube (part1 e part2)
Assistir aula presencial L14
L15
Assistir aula L15 yoututbe (part1 e part2)
Assistir aula presencial L15
L16
Assistir aula L16 youtube (part1 e part2)
Assistir aula presencial L16
L17
Ler artigos https://arxiv.org/abs/1901.00596 e https://distill.pub/2021/gnn-intro/
Assitri aula presencial L17
Link reunião sincrona
Link grupo whatts
HW 1 - Artigo Boas práticas em ML
Data entrega 24/07
Ler o artigo de boas práticas em ML
Fazer um resumo com no máximo 300 palavras
Enviar por email
HW 2 - Simulação perceptron
Data entrega 24/07
Com base na aula L03, simule o funcionamento de um perceptron online com as seguintes entradas (simular até o loss da época ser zero):
x1 x2 Class
0 1 0
2 0 0
1 1 1
2 1 1
Os pesos iniciais devem ser w0=-1.5, w1=0 e w2=2
Desenhe um scaterplot dos pontos (exemplo slide 26/27)
Calcule e desenhe sobre o scaterplot a reta de decisão (hiperplano) obtida (exemplo no slide 32)
A nota 10 está reservada a aqueles que conseguirem chegar no resultado correto
Vc pode fazer tudo no papel, fotografar resolução e enviar as imagens por email
Repita o procedimento agora na versão batch
HW 3 - Simulação função de perda
Data entrega 24/07
Reproduza a imagem abaixo, seguindo os passos abaixo:
Crie uma base de dados com 6 entradas (amostras) com uma única feature.
Para a linha vermelha:
Crie um neurônio com ativação linear e função de custo "squared error cost"
Varie o peso w e calcule, para cada valor, o custo
Faça o plot da função de custo (linha vermelha)
Para os valores em azul
inicie o peso w com um valor aleatório
otimize o peso w usando o gradiente descendente
plote as interações que ocorreram (linha e pontos azuis)
Vc pode fazer tudo no papel, fotografar resolução e enviar as imagens por email ou pode fazer via programação python
HW4 - Redes Neurais
Data entrega 27/10
Utilizar a base de dados iris e ambiente google Colab
Criar uma rede neural de várias camadas, e implementar melhorias de regularização na rede
Treinar a rede na base de treino
Testar a rede na base de teste
Medir acurácia na base de treino e teste
Compartilhar o código para avaliação
HW5 - Modelo Deep Learning
Data entrega 27/10
Utilizar a base de dados CIFAR100 e ambiente google Colab
Criar uma rede convolucional. Vc deve definir o número de camadas, filtros e kernel, como vc quiser. Inspire-se nos modelos LeNet, AlexNet, VGG e outras vistos em sala. Utilize como exemplo os códigos keras que estão na pasta L13 do github
Treinar a rede na base de treino
Testar a rede na base de teste
Medir acurácia
Compartilhar o código para avaliação
HW6 - Modelo Deep Learning 2
Data entrega 11/05
Utilizar a base de dados CIFAR100 e ambiente google Colab
Com base no HW6, adicionar melhorias na rede, tais como,
Dropout, Pooling, GlobalPooling, Skipconnections (Resnet), Towers (Inseption), Convoluções 1x1
Treinar a rede na base de treino
Testar a rede na base de teste (espera-se resultado melhor que o HW6)
Medir acurácia
Compartilhar o código para avaliação
HW7 - Transfer Learning
Data entrega 18/05
Criar uma rede convolucional, usando dessa vez um modelo pré-treinado com transferlearning
Re-treine as duas aultimas camadas da rede
Qual rede e qual conjunto de pesos vc irá usar é de escolhla livre
Testar a rede na base de teste (espera-se resultado melhor que o HW7)
Medir acurácia
Compartilhar o código para avaliação
HW8 - Autoencoder
Data entrega 28/05 (essa data não pode ser postergada)
Utilizando a base de dados CIFAR10 ou CIFAR100, crie um autoencoder para remoção de ruídos em imagens coloridas
Os ruídos devem ser adicionados nos 3 canais, R, G e B
A solução deve ser baseada no código autoencoder-keras.ipynb, disponível no github. Esse código já implementa um removedor de ruídos em escala de cinza, sendo necessário adaptá-lo para imagens coloridas
Utilize os conhecimentos adquiridos em aula que achar necessário para tentar melhorar a qualidade da solução (dropout, towers, residuais, convolução inversa, transfer learning, etc)
Treinar com conjunto de treino e testar no conjunto de teste
Exibir 10 imagens resultado do conjunto de teste (supostamente com ruído removido), assim como no código exemplo
Compartilhar o código para avaliação