Programação
-
Horário das aulas, na sala B-05
- Terças: 10h
- Quintas: 8h
-
Este espaço deve ser usado para discussões/comentários/compartilhamento/dúvidas relacionadas à disciplina e assuntos relacionados.
Espera-se bom-senso para o "Tópico"; que seja o mais auto-descritivo possível.
-
Aula 01 (10/08): Introdução geral. Apresentação para situar DL em um contexto mais amplo.
- Slides da aula: aula01.pdf
- A tônica da disciplina será construção coletiva de conhecimentos
- Ref. para conceitos básicos de ML: Learning from data (Caltech) e outros a serem disponibilizados depois
Aula 02 (15/08): Revisão de conceitos básicos de ML e redes neurais- Regressão linear, regressão logística, família de funções-hipótese, funções de perda, dados de treinamento, otimização de função de perda, algoritmo gradiente-descendente, perceptron, neurônio artificial
- Slides da aula: aula02.pdf
- Referências: Notas de aula da disciplina MAC0460/MAC5832, Lectures 3, 9 e 10 de Learning from data (Caltech)
- Exercícios práticos sugeridos:
EP Linear regression + dataMAC0460_5832.csv (solução analítica) e EP Regressão logística, da disciplina MAC0460/MAC5832 em algum passado
recente.
Aula 03 (17/08): Redes neurais convencionais, forward pass, backward pass, algoritmo de backpropagation, ...- Slides da aula: aula03.pdf
- Capítulo sobre NN do Mostafa: chapNN.pdf (para consumo estritamente pessoal) -- notações usadas em aula são daqui
- Outras refs
- Capítulo 4 de "Machine Learning", Tom Mitchell (1997)
- Neural Networks and Deep Learning, Michael Nielsen (2015)
- Capítulo 4 de "Machine Learning", Tom Mitchell (1997)
-
Aula 04 (22/08) : Redes neurais convolucionais (CNNs)
- Leitura sugerida: CS231n: Convolutional Neural Networks for Visual Recognition (aqui há módulos sobre Intro to Python, NN e CNN), Parte II.9 de https://www.deeplearningbook.org/
- Slides da aula: aula04.pdf
- Tarefa: fazer um notebook para treinar NN e CNN para o problema de classificação de dígitos do MNIST (ou outro dataset). Ver Task1 acima.
Aula 05 (24/08): Classificação de imagens e detecção de objetos em imagens antes de deep learning.- Slides da aula: aula05.pdf
- Observar: número massivo de features simples, ensemble de classificadores, caracterização de keypoints presentes nas images
Aula 06 (29/08): Discutissão sobre segmentação de imagens (i.e., classificação de cada um dos pixels da imagem, associando um rótulo que identifica o tipo de objeto/região ao qual o pixel pertence). Os dois primeiros artigos abaixo abordam a segmentação de imagens como um problema de classificação dos pixels individuais na imagem (isto é, aplica-se uma CNN ao patch da imagem centrado no pixel), realizada de forma sequencial. Os dois últimos são redes end-to-end, que realizam a classificação de todos os pixels da imagem "simultaneamente" (e usam convolução transposta).
- D. C. Ciresan, A. Giusti, L. M. Gambardella, and J. Schmidhuber. Deep neural networks segment neuronal membranes in electron microscopy images. In NIPS, pages 2852–2860, 2012.
https://papers.nips.cc/paper_files/paper/2012/file/459a4ddcb586f24efd9395aa7662bc7c-Paper.pdf - Julca-Aguilar and Hirata(2017) Image operator learning coupled with CNN classification and its application to staff line removal. https://arxiv.org/pdf/1709.06476.pdf
- Long, J., Shelhamer, E., and Darrell, T. (2015). Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3431–3440 https://arxiv.org/pdf/1411.4038.pdf
- Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical Image Computing and Computer-Assisted Intervention, pages 234–241. Springer, 2015 https://arxiv.org/pdf/1505.04597.pdf
Aula 07 (31/08): Orbitando sobre os tópicos vistos até agora. Foram vistos convolução transposta (falta entender melhor a questão do half convolution -- como criar a matriz da convolução transposta) e outros assuntos como artefatos tipo checkboard em upsampled images, Deep dream, SAM Meta AI(segment anything), SegNet, atrous convolution (dilated cinvolution).
- Vídeo Stanford CS230, Lecture 7 - Interpretability of Neural Network, a partir de mais ou menos 43min até 1h13
- Aqui tem explicação que achei ilustrativo, mas as figuras que aparecem a partir de um certo momento não tem nada a ver (Christian Versloot)
- Artigo: A guide to convolution arithmetic for deep learning https://arxiv.org/abs/1603.07285
- Blog post: Deconvolutions and what to do about artifacts (David Kirchhoff)
- Tarefa: fazer Task2 acima
Semana de pátria - não teremos aulas nos dias 05/09 e 07/09Aula 08 (12/09): Detecção/Reconhecimento de objetos em imagens- Um overview (light): https://machinelearningmastery.com/object-recognition-with-deep-learning/
- Fast R-CNN (https://arxiv.org/abs/1504.08083), Faster R-CNN (https://arxiv.org/abs/1506.01497)
- Slides da aula: aula08.pdf
Aula 09 (14/09):- YOLO (https://arxiv.org/abs/1506.02640)
- mAP (mean average precision)
- Slides da aula: aula09.pdf (links para artigo YOLO, explicação de mAP, e comparação entre curvas ROC e curvas Precision-Recall)
Aula 10 (19/09): Tópicos discutidos: comparação NN x CNN -- para classificação de imagens, claramente CNN se sai melhor; SGD, Batch GD e GD; batch normalization; inicialização dos pesos (vários estão intimamente relacionados com o tipo de função de ativação); dropout (de nós ou de camadas), ... Conceito importante: regularização. Isso pode ser visto ao analisarmos a decomposição do erro em termos de dois termos (E_out = E_in + Omega ou E_out = bias + variance). Leitura sugerida: Regularization for deep Learning (capítulo 7 de https://www.deeplearningbook.org/) -
Aula 11 (21/09):Cancelada (motivo: trancaço)
26/09: cancelada (motivo: assembleia estudantil)
Aula 11 (28/09): RNN (Redes Neurais Recorrentes)
- Slides da aula: aula11.pdf
- Gravação da aula: https://drive.google.com/file/d/1LX84-vVitg3qPgJf-ieb0ENklOVS5ele/view?usp=sharing
- Sugestão (capítulo de livro): https://www.deeplearningbook.org/contents/rnn.html
- Sugestão (video): Stanford University School of Engineering - Lecture 10 | Recurrent Neural Networks (1h)
- Artigos (modelos seq2seq)
- Sequence to Sequence Learning with Neural Networks
Ilya Sutskever, Oriol Vinyals, Quoc V. Le
https://arxiv.org/abs/1409.3215 - Neural Machine Translation by Jointly Learning to Align and Translate
Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio
https://arxiv.org/abs/1409.0473
- Sequence to Sequence Learning with Neural Networks
Aula 12 (03/10): Transformers - módulo encoder- Slides: aula12.pdf
- Video: https://drive.google.com/file/d/1Nts-NK0wG-45Som-JsywVyfc2e2_8H4G/view?usp=sharing
- Artigo: Attention Is All You Need, Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, https://arxiv.org/abs/1706.03762
- The Illustrated Transformer, por Jay Alammar
- Sequence to Sequence (seq2seq) and Attention, por Lena Voita
Aula 13 (05/10): Transformers (cont.) - multi-head attention e positional encoding- Slides: aula13.pdf
- Video: https://drive.google.com/file/d/1Rc_v1et6pMGX_qAHUfKgzCpu_MzofvIs/view?usp=sharing
Aula 14 (10/10): Possíveis tópicos: TF-IDF (em NLP), word/token/sentende embedding, word2vec e BERT- Slides: aula14.pdf
- Vídeo: https://drive.google.com/file/d/1J43LRrueWLjvyktEQFAizmeCUBMOm1QR/view?usp=sharing
12/10: FeriadoAula 15 (17/10): Fechando ciclo de diferentes tipos de arquiteturas (Fully connected, CNN, RNN, transformers, [GNN] ), revisitando abordagem discriminativa x generativa, com uma visão geral sobre modelos neurais generativos (VAE, GAN, diffusion model)- Slides: aula15.pdf + slides Diogo
- Vídeo: https://drive.google.com/file/d/13Vb-WyO-e1AEVWhhljcj2JBrhwFDvhNw/view?usp=sharing
- Tarefa: fazer Task3 acima
-
Plano: discutir abordagens/métodos usados em situações de pouco dado rotulado
Aula 16 (19/10): Self-supervised learning.
- Referências: estes slides [ Self-Supervised Learning Self-Prediction and Contrastive Learning, NeurIPS 2021 Tutorial, por Lilian Weng, Jong Wook Kim ] e outros indicados nos slides da aula.
- Slides da aula: aula16.pdf
- Vídeo: https://drive.google.com/file/d/1lVFa8VwHMHiZY1kXLZ5soAskzAJip6iN/view?usp=sharing
Aula 17 (24/10): Discussão sobre questões surgidas / aprendizados alcançados por meio da execução da Task2 (segmentação binária de imagens)- Slides da aula: aula17.pdf
-
Aula 18 (26/10): Previsto intro a modelos gerativos, GAN, cGAN, etc (????)
- VAE
- Generative Adversarial Networks ( https://arxiv.org/abs/1406.2661 )
-
Conditional Generative Adversarial Nets ( https://arxiv.org/abs/1411.1784 )
- Slides da aula: aula18.pdf
Aula 19 (31/10): Prevista discussão e + coisas sobre GANs- Aplicação de GAN em coloração de desenho animado
- Aplicação de GAN para estender cobertura de dados meteorológicos de radar guiados por dados de stélite
- Modelos de GAN para image generation (fast forward overview: vanilla GAN, c-GAN, DCGAN, pix2pix, cycleGAN, proGAN, styleGAN, SRGAN)
- Slides: aula19.pdf
Dias 02/11 (feriado) e dias 07/11 e 09/11 não teremos aula
Aula 20 (14/11): CLIP e diffusion model (por Giulio)- How Diffusion Models Work (short course, DeepLearning.AI)
- CLIP ( https://arxiv.org/abs/2103.00020 ), https://openai.com/research/clip
- Slides: Giulio IME-USP - CLIP And Diffusion Models.pdf
-
Dia 16/11 aula cancelada (prof. sem condições de dar aula)
- Leituras recomendadas: Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps, Smoothgrad: removing noise by adding noise, Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization
Aula 21 (21/11): Interpretability / Explainability- Slides da aula: aula21.pdf
Aula 22 (23/11): Discutir as dores e sucessos da Task3 e tópicos relacionadosAula 23 (28/11): Discutir aspectos éticos, legais, perigos, potenciais, impactos sociais, mitos, fairness, bias, custo/ teoria x prática, tendências, etc de IA/ML- Você está "convidado" a participar da discussão
- Traga ao menos um comentário ou pergunta
Aula 24 (30/11): Última aula -- auto-avaliação (presencial, exceto em casos justificados)