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 Deep Learning
Data entrega 09/03
Ler o artigo Deep Learning, da Nature https://www.nature.com/articles/nature14539
Fazer um resumo com no máximo 300 palavras
Enviar por email
HW 2 - Artigo Review/Survey da área de interesse
Data entrega 10/03
Procurar um artigo do tipo review ou survey que aplicações de machine learning / pattern recognition / deep learning na área de pesquisa de vcs.
Apresentar na próxima aula o artigo achado, destacando os pontos mais interessantes (+-7min)
Dica: usar o Mendeley ou Google Scholar para melhores resultados
HW 3 - Artigo Boas práticas em ML
Data entrega 17/03
Ler o artigo de boas práticas em ML
Fazer um resumo com no máximo 300 palavras
Enviar por email
HW 4 - Simulação perceptron
Data entrega 23/03
Com base na aula L03, simule o funcionamento de um perceptron 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
HW 5 - Simulação regressão logística
Data entrega 07/04
Repita o HW4, simulando o funcionamento de um classificador do tipo regressão logistica. com as seguintes entradas:
x1 x2 Class
0 1 0
2 0 0
1 1 1
2 1 1
A regressão logistica é, basicamente, um perceptron com função de ativação logistica, a atualização dos pesos é feita via gradiente descendente, algo muito parecido com perceptron, porém agora os erros não são mais binários.
Simule 4 épocas, apresentando em cada uma delas o loss acumulado (soma das 4 amostras) e a acurácia final (quantidade de acertos)
Os pesos iniciais devem ser w0=-1.5, w1=0 e w2=2
Considera a taxa de aprendizado de 0.5
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
HW6 - Modelo Deep Learning
Data entrega 11/05
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
HW7 - 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
HW8 - 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
HW9 - 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