Hands on Deep Learning: CNN and CV applications
This 1-credit, hands-on course provides a practical dive into Convolutional Neural Networks (CNNs) and their applications in Computer Vision (CV). Designed for students with a Python programming background, the curriculum bypasses theory to focus on hands-on development using PyTorch. Students will learn to build, train, and optimize deep neural architectures for (mostly) image data. Core topics include PyTorch fundamentals, image classification, data augmentation, transfer learning, and generative models like VAEs and GANs, and (if time permits) diffusion models. By the course’s conclusion, students will be equipped to tackle real-world visual recognition tasks and deploy robust computer vision systems.
| Lecture | Topic | Topics Covered | Accompanying Materials |
|---|---|---|---|
|
Lecture Lecture 1 |
Topic Introduction to PyTorch & Autograd |
Topics Covered General course introduction, PyTorch tensors, and automatic differentiation. |
Accompanying Materials tensors.ipynb, AutoDiff.ipynb |
|
Lecture Lecture 2 |
Topic Supervised Learning & Basic NNs |
Topics Covered Linear regression with Autograd, basic neural networks, and training fundamentals. |
Accompanying Materials Linear Regression.ipynb, FullyConnectedNNs.ipynb |
|
Lecture Lecture 3 |
Topic Classification & Optimization |
Topics Covered Training on MNIST, data loading/visualization, and optimization algorithms. |
Accompanying Materials FullyConnectedNNs-2.ipynb, Optimization Algorithms.ipynb |
|
Lecture Lecture 4 |
Topic Intro to Convolutional Neural Networks |
Topics Covered The mechanics of convolutions, pooling, and building basic CNN architectures. |
Accompanying Materials CNN.ipynb |
|
Lecture Lecture 5 |
Topic Advanced CNNs & Visualizing Features |
Topics Covered Data augmentation, batch normalization, and a brief tour on deep learning generalization. |
Accompanying Materials CNN2.ipynb, Regularization.ipynb (Part 1) |
|
Lecture Lecture 6 |
Topic Transfer Learning & Fine-tuning |
Topics Covered In-distribution vs. Out-of-distribution data, fine-tuning pre-trained vision models. |
Accompanying Materials Out-of-Distribution and Finetuning.ipynb |
|
Lecture Lecture 7 |
Topic Robustness & Dimensionality Reduction |
Topics Covered Adversarial examples in computer vision, modular code writing, and Autoencoders. |
Accompanying Materials AdversarialExamples.ipynb, Autoencoders.ipynb |
|
Lecture Lecture 8 |
Topic Generative Models for CV: VAEs |
Topics Covered Formulation and training of Variational Autoencoders for image generation. |
Accompanying Materials VAEs.ipynb |
|
Lecture Lecture 9 |
Topic Generative Models for CV: GANs |
Topics Covered Architecture, training stability, and applications of Generative Adversarial Networks. |
Accompanying Materials GANs.ipynb |
|
Lecture Lecture 10 |
Topic Generative Models for CV: Diffusion Models |
Topics Covered Principles of generation with diffusion. Architecture. |
Accompanying Materials Diffusion.ipynb |
