Schedule
Lectures will be Mondays and Wednesdays 1:30 - 3pm on Zoom. Attendance is not required. Recordings will be posted after each lecture in case you are unable the attend the scheduled time.
Some lectures have reading drawn from the course notes of Stanford CS 231n, written by Andrej Karpathy.
Some lectures have optional reading from the book Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville (GBC for short). The entire text of the book is available for free online so you don’t need to buy a copy.
Event | Date | Description | Course Materials |
---|---|---|---|
Lecture 1 | Monday August 31 |
Course Introduction
Computer vision overview Historical context Course logistics |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Python tutorial] [GBC Sec 1.2] [GBC Sec 6.6] |
Lecture 2 | Wednesday September 2 |
Image Classification
Data-driven approach K-Nearest Neighbor Hyperparameters Cross-validation |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [231n Image Classification] |
Monday September 7 |
No class
Labor Day |
||
Lecture 3 | Wednesday September 9 |
Linear Classifiers
Algebraic / Visual / Geometric viewpoints Softmax / SVM classifiers |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [231n Linear Classification] |
A1 Due | Friday September 11 |
Assignment 1 Due
PyTorch warmup kNN Classifier |
[Assignment 1] |
Lecture 4 | Monday September 14 |
Regularization + Optimization
Regularization Weight decay Stochastic Gradient Descent Momentum, AdaGrad, Adam Second-order optimizers |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [CS231n Optimization] [GBC Sec. 8.1 to 8.6] |
Lecture 5 | Wednesday September 16 |
Neural Networks
Feature transforms Fully-connected networks Universal approximation Convexity |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [231n Neural Networks] [GBC Sec. 6.1 to 6.4] [Nielsen on Universal Approximation] |
Lecture 6 | Monday September 21 |
Backpropagation
Computational Graphs Backpropagation Matrix multiplication example |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Backprop for matrix multiply] [231n Backpropagation] [Olah on Backprop] [Nielsen on Backprop] |
Lecture 7 | Wednesday September 23 |
Convolutional Networks
Convolution Pooling Batch Normalization |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [CS231n ConvNets] [GBC Chapter 9] |
A2 Due | Friday September 25 |
Assignment 2 Due
Linear classifiers Two-layer network |
[Assignment 2] |
Lecture 8 | Monday September 28 |
CNN Architectures
AlexNet, VGG, ResNet Size vs Accuracy Grouped and Separable Convolutions Neural Architecture Search |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [AlexNet] [VGG] [GoogLeNet] [ResNet] |
Lecture 9 | Wednesday September 30 |
Hardware and Software
CPUs, GPUs, TPUs Dynamic vs Static graphs PyTorch, TensorFlow |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 10 | Monday October 5 |
Training Neural Networks I
Activation functions Data preprocessing Weight initialization Data augmentation Regularization (Dropout, etc) |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [CS231n Training I] |
Lecture 11 | Wednesday October 7 |
Training Neural Networks II
Learning rate schedules Hyperparameter optimization Model ensembles Transfer learning Large-batch training |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [CS231n Training II] [Karpathy "Recipe for Training"] |
A3 Due | Friday October 9 |
Assignment 3 Due
Modular API Convolutional Networks Batch Normalization Autograd |
[Assignment 3] |
Lecture 12 | Monday October 12 |
Recurrent Networks
RNN, LSTM, GRU Language modeling Sequence-to-sequence Image captioning Visual question answering |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Karpathy "Unreasonable Effectiveness"] |
Lecture 13 | Wednesday October 14 |
Attention
Multimodal attention Self-Attention Transformers |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Bloem "Transformers from Scratch"] [Alammar "The Illustrated Transformer"] |
Midterm | Monday October 19 |
Midterm Exam
Details TBD |
|
Lecture 14 | Wednesday October 21 |
Visualizing and Understanding
Feature visualization Adversarial examples DeepDream, Style transfer |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Distill "Feature Visualization"] [Distill "Building Blocks of Interpretability"] [DeepDream] [neural-style] |
Lecture 15 | Monday October 26 |
Object Detection
Single-stage detectors Two-stage detectors |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 16 | Wednesday October 28 |
Image Segmentation
Semantic segmentation Instance segmentation Keypoint estimation |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] [Girshick, Object Detection as a ML Problem] |
A4 Due | Friday October 30 |
Assignment 4 Due
RNNs, Attention Visualization, style transfer |
[Assignment 4] |
Guest Lecture | Monday November 2 |
Guest Lecture: Timnit Gebru Computer Vision: who benefits and who is harmed? |
[video (UMich only)] |
Lecture 17 | Wednesday November 4 |
3D vision
3D shape representations Depth estimation 3D shape prediction Voxels, Pointclouds, SDFs, Meshes |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 18 | Monday November 9 |
Videos
Video classification Early / Late fusion 3D CNNs Two-stream networks |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 19 | Wednesday November 11 |
Generative Models I
Supervised vs Unsupervised learning Discriminative vs Generative models Autoregressive models Variational Autoencoders |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 20 | Monday November 16 |
Generative Models II
More Variational Autoencoders Generative Adversarial Networks |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Guest Lecture | Wednesday November 18 |
Guest Lecture: Andrej Karpathy | |
A5 due | Monday Wednesday 18 |
Assignment 5 Due
Object detection |
[Assignment 5] |
Monday November 23 |
No class
Thanksgiving break |
||
Wednesday November 25 |
No Class
Thanksgiving break |
||
Lecture 21 | Monday November 30 |
Reinforcement Learning
RL problem setup Bellman Equation Q-Learning Policy Gradient |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
Lecture 22 | Wednesday December 2 |
Conclusion
Course recap The future of computer vision |
[slides]
[FA2020 video (UMich only)] [FA2019 video (public)] |
A6 due | Wednesday December 9 |
Assignment 6 Due
Variational Autoencoders Generative Adversarial Networks |
[Assignment 6] |