Lectures will be Mondays and Wednesdays 4:30pm - 6pm in 1670 Beyster.

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.

Since this is the first time this course has been taught at Michigan, the schedule is subject to change as we move through the semester.

Event Date Description Course Materials
Lecture 1 Wednesday
September 4
Course Introduction
Computer vision overview
Historical context
Course logistics
[slides]
[video]
[Python tutorial]
[GBC Sec 1.2]
[GBC Sec 6.6]
Lecture 2 Monday
September 9
Image Classification
Data-driven approach
K-Nearest Neighbor
Hyperparameters
Cross-validation
[slides]
[video]
[231n Image Classification]
Lecture 3 Wednesday
September 11
Linear Classifiers
Softmax / SVM classifiers
L2 regularization
[slides]
[video]
[231n Linear Classification]
A1 Due Sunday
September 15
Assignment 1 Due
PyTorch warmup
kNN Classifier
[Assignment 1]
Lecture 4 Monday
September 16
Optimization
Stochastic Gradient Descent
Momentum, AdaGrad, Adam
Second-order optimizers
[slides]
[video]
[CS231n Optimization]
[GBC Sec. 8.1 to 8.6]
Lecture 5 Wednesday
September 18
Neural Networks
Feature transforms
Fully-connected networks
Universal approximation
Convexity
[slides]
[video]
[231n Neural Networks]
[GBC Sec. 6.1 to 6.4]
[Nielsen on Universal Approximation]
Lecture 6 Monday
September 23
Backpropagation
Computational Graphs
Backpropagation
Matrix multiplication example
[slides]
[video]
[231n Backpropagation]
[Olah on Backprop]
[Nielsen on Backprop]
Lecture 7 Wednesday
September 25
Convolutional Networks
Convolution
Pooling
Batch Normalization
[slides]
[video]
[CS231n ConvNets]
[GBC Chapter 9]
Lecture 8 Monday
September 30
CNN Architectures
AlexNet, VGG, ResNet
Size vs Accuracy
Grouped and Separable Convolutions
Neural Architecture Search
[slides]
[video]
[AlexNet]
[VGG]
[GoogLeNet]
[ResNet]
A2 Due Monday
September 30
Assignment 2 Due
Linear classifiers
Two-layer network
[Assignment 2]
Lecture 9 Wednesday
October 2
Hardware and Software
CPUs, GPUs, TPUs
Dynamic vs Static graphs
PyTorch, TensorFlow
[slides]
[video]
Lecture 10 Monday
October 7
Training Neural Networks I
Activation functions
Data preprocessing
Weight initialization
Data augmentation
Regularization (Dropout, etc)
[slides]
[video]
[CS231n Training I]
Lecture 11 Wednesday
October 9
Training Neural Networks II
Learning rate schedules
Hyperparameter optimization
Model ensembles
Transfer learning
Large-batch training
[slides]
[video]
[CS231n Training II]
[Karpathy "Recipe for Training"]
Monday
October 14
No Class
Fall Study Break
A3 Due Monday
October 14
Assignment 3 Due
Modular API
Convolutional Networks
Batch Normalization
Autograd
[Assignment 3]
Lecture 12 Wednesday
October 16
Recurrent Networks
RNN, LSTM, GRU
Language modeling
Sequence-to-sequence
Image captioning
Visual question answering
[slides]
[video]
[Karpathy "Unreasonable Effectiveness"]
Midterm Monday
October 21
In-class Midterm Exam
Location: Chrysler 220
Time: 4:30pm - 6pm
Lecture 13 Wednesday
October 23
Attention
Multimodal attention
Self-Attention
Transformers
[slides]
[video]
[Bloem "Transformers from Scratch"]
[Alammar "The Illustrated Transformer"]
Guest Lecture Monday
October 28
Guest Lecture: Luowei Zhou
Vision and Language
Guest Lecture Wednesday
October 30
Guest Lecture: Prof. Atul Prakash
Adversarial attacks
Lecture 14 Monday
November 4
Visualizing and Understanding
Feature visualization
Adversarial examples
DeepDream, Style transfer
[slides]
[video]
[Distill "Feature Visualization"]
[Distill "Building Blocks of Interpretability"]
[DeepDream]
[neural-style]
Lecture 15 Wednesday
November 6
Object Detection
Single-stage detectors
Two-stage detectors
[slides]
[video]
Lecture 16 Monday
November 11
Image Segmentation
Semantic segmentation
Instance segmentation
Keypoint estimation
[slides]
[video]
Lecture 17 Wednesday
November 13
3D vision
3D shape representations
Depth estimation
3D shape prediction
Voxels, Pointclouds, SDFs, Meshes
[slides]
[video]
A4 Due Wednesday
November 13
Assignment 4 Due
RNNs, Attention
Visualization, style transfer
[Assignment 4]
Lecture 18 Monday
November 18
Videos
Video classification
Early / Late fusion
3D CNNs
Two-stream networks
[slides]
[video]
Lecture 19 Wednesday
November 20
Generative Models I
Supervised vs Unsupervised learning
Discriminative vs Generative models
Autoregressive models
Variational Autoencoders
[slides]
[video]
Monday
November 25
No class
Thanksgiving break
Wednesday
November 27
No Class
Thanksgiving break
Lecture 20 Monday
December 2
Generative Models II
More Variational Autoencoders
Generative Adversarial Networks
[slides]
[video]
Lecture 21 Wednesday
December 4
Reinforcement Learning
RL problem setup
Bellman Equation
Q-Learning
Policy Gradient
[slides]
[video]
Lecture 22 Monday
December 9
Conclusion
Course recap
The future of computer vision
[slides]
[video]
A5 due Monday
December 9
Assignment 5 Due
Object detection
[Assignment 5]
A6 due Tuesday
December 17
Assignment 6 Due
Variational Autoencoders
Generative Adversarial Networks
[Assignment 6]