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
[FA2019 slides]
[FA2019 video (public)]
A4 Due Friday
October 30
Assignment 4 Due
RNNs, Attention
Visualization, style transfer
[Assignment 4]
Guest Lecture Monday
November 2
Guest Lecture: Timnit Gebru
Lecture 17 Wednesday
November 4
3D vision
3D shape representations
Depth estimation
3D shape prediction
Voxels, Pointclouds, SDFs, Meshes
[FA2019 slides]
[FA2019 vide (public)]
Lecture 18 Monday
November 9
Videos
Video classification
Early / Late fusion
3D CNNs
Two-stream networks
[FA2019 slides]
[FA2019 video (public)]
A5 due Friday
November 13
Assignment 5 Due
Object detection
[Assignment 5]
Lecture 19 Wednesday
November 11
Generative Models I
Supervised vs Unsupervised learning
Discriminative vs Generative models
Autoregressive models
Variational Autoencoders
[FA2019 slides]
[FA2019 video (public)]
Lecture 20 Monday
November 16
Generative Models II
More Variational Autoencoders
Generative Adversarial Networks
[FA2019 slides]
[FA2019 video (public)]
Guest Lecture Wednesday
November 18
Guest Lecture: Andrej Karpathy
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
[FA2019 slides]
[FA2019 video (public)]
Lecture 22 Wednesday
December 2
Conclusion
Course recap
The future of computer vision
[FA2019 slides]
[FA2019 video (public)]
A6 due Friday
December 4
Assignment 6 Due
Variational Autoencoders
Generative Adversarial Networks
[Assignment 6]