Schedule
Lectures are Mondays and Wednesdays, 4:30pm to 6pm. Attendance is not required. Recordings will be posted after each lecture in case you are unable the attend the scheduled time.
We will hold lectures remotely over Zoom for the first few weeks. See Canvas for the Zoom meeting information.
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 [Remote] |
Wednesday January 5 |
Course Introduction
Computer vision overview Historical context Course logistics |
[slides]
[video (UMich only)] [FA2019 video (public)] [Python tutorial] [GBC Sec 1.2] [GBC Sec 6.6] |
Lecture 2 [Remote] |
Monday January 10 |
Image Classification
Data-driven approach K-Nearest Neighbor Hyperparameters Cross-validation |
[slides]
[video (UMich only)] [FA2019 video (public)] [231n Image Classification] |
Lecture 3 [Remote] |
Wednesday January 12 |
Linear Classifiers
Algebraic / Visual / Geometric viewpoints Softmax / SVM classifiers |
[slides]
[video (UMich only)] [FA2019 video (public)] [231n Linear Classification] |
A1 Due | Friday January 14 |
Assignment 1 Due
PyTorch warmup kNN Classifier |
[Assignment 1] |
Monday January 17 |
No class
MLK Day |
||
Lecture 4 [Remote] |
Wednesday January 19 |
Regularization + Optimization
Regularization Weight decay Stochastic Gradient Descent Momentum, AdaGrad, Adam Second-order optimizers |
[slides]
[video (UMich only)] [FA2019 video (public)] [CS231n Optimization] [GBC Sec. 8.1 to 8.6] |
Lecture 5 [Remote] |
Monday January 24 |
Neural Networks
Feature transforms Fully-connected networks Universal approximation Convexity |
[slides]
[video (UMich only)] [FA2019 video (public)] [231n Neural Networks] [GBC Sec. 6.1 to 6.4] [Nielsen on Universal Approximation] |
Lecture 6 [Remote] |
Wednesday January 26 |
Backpropagation
Computational Graphs Backpropagation Matrix multiplication example |
[slides]
[video (UMich only)] [FA2019 video (public)] [Backprop for matrix multiply] [231n Backpropagation] [Olah on Backprop] [Nielsen on Backprop] |
A2 Due | Friday January 28 |
Assignment 2 Due
Linear classifiers Two-layer network |
[Assignment 2] |
Lecture 7 [Remote] |
Monday January 31 |
Convolutional Networks
Convolution Pooling Batch Normalization |
[slides]
[video (UMich only)] [FA2019 video (public)] [CS231n ConvNets] [GBC Chapter 9] |
Lecture 8 [Remote] |
Wednesday February 2 |
CNN Architectures I
BatchNorm, AlexNet, VGG, ResNet Size vs Accuracy |
[slides]
[video (UMich only)] [FA2019 video (public)] [AlexNet] [VGG] [GoogLeNet] [ResNet] [ResNeXt] |
Lecture 9 [Remote] |
Monday February 7 |
Training Neural Networks I
Activation functions Data preprocessing Weight initialization |
[slides]
[video (UMich only)] [FA2019 video (public)] [CS231n Training I] |
Lecture 10 [Remote] |
Wednesday February 9 |
Training Neural Networks II
Data augmentation Regularization (Dropout, etc) Learning rate schedules Hyperparameter optimization Model ensembles |
[slides]
[video (UMich only)] [FA2019 video (public)] [CS231n Training II] [Karpathy "Recipe for Training"] |
A3 Due | Friday February 11 |
Assignment 3 Due
Modular API Convolutional Networks Batch Normalization Autograd |
[Assignment 3] |
Lecture 11 [Remote] |
Monday February 14 |
CNN Architectures II
Grouped and Separable Convolution ResNeXt Squeeze-and-Excite MobileNets / ShufleNets Neural Architecture Search EfficientNets NFNets Revisting ResNets RegNets |
[slides]
[video (UMich only)] |
Lecture 12 [Remote] |
Wednesday February 16 |
Deep Learning Software
Dynamic vs Static graphs PyTorch, TensorFlow |
[slides]
[video (UMich only)] [FA2019 video (public)] |
Monday February 21 |
No class
President's Day |
||
Midterm | Wednesday February 23 |
Midterm Exam
Details TBD |
|
Monday February 28 |
No class
Spring break |
||
Wednesday March 3 |
No Class
Spring break |
||
Lecture 13 [Remote] |
Monday March 7 |
Object Detection
Transfer learning Object detection task R-CNN detector Non-Max Suppression (NMS) Mean Average Precision (mAP) |
[slides]
[video (UMich only)] [FA2019 video (public)] [R-CNN paper] |
Lecture 14 [Remote] |
Wednesday March 9 |
Object Detectors
Single-stage vs two-stage detectors Region Proposal Networks (RPN), Anchor Boxes Two-Stage Detectors: Fast R-CNN, Faster R-CNN Feature Pyramid Networks |
[slides]
[video (UMich only)] [Girshick, Object Detection as a ML Problem] [Fast R-CNN paper] [Faster R-CNN paper] [RetinaNet paper] [FCOS paper] |
Lecture 15 [Remote] |
Monday March 14 |
Image Segmentation
Single-Stage Detectors: RetinaNet, FCOS Semantic segmentation Instance segmentation Keypoint estimation |
[slides]
[video (UMich only)] [FA2019 video (public)] |
Lecture 16 [Remote] |
Wednesday March 16 |
Recurrent Networks
RNN, LSTM, GRU Language modeling Sequence-to-sequence Image captioning |
[slides]
[video (UMich only)] [FA2019 video (public)] [Karpathy "Unreasonable Effectiveness"] |
Lecture 17 [Remote] |
Monday March 21 |
Attention
Multimodal attention Self-Attention Transformers |
[slides]
[video (UMich only)] [FA2019 video (public)] [Bloem "Transformers from Scratch"] [Alammar "The Illustrated Transformer"] |
Lecture 18 [Remote] |
Wednesday March 23 |
Vision Transformers
ViT, DeiT Swin, MViT DETR MLP-like architectures |
[slides]
[video (UMich only)] |
Lecture 19 [Remote] |
Monday March 28 |
Generative Models I
Supervised vs Unsupervised learning Discriminative vs Generative models Autoregressive models Variational Autoencoders |
[slides]
[video (UMich only);] [FA2019 video (public)] |
A4 due | Tuesday March 29 |
Assignment 4 Due
Object detection |
[Assignment 4] |
Lecture 20 [Remote] |
Wednesday March 30 |
Generative Models II
More Variational Autoencoders Generative Adversarial Networks Normalizing Flows and Diffusion models (maybe) |
[slides]
[video (UMich only)] [FA2019 video (public)] |
Lecture 21 [Remote] |
Monday April 4 |
Visualizing Models and Generating Images
Feature visualization Adversarial examples DeepDream, Style transfer |
[slides]
[video (UMich only)] [FA2019 video (public)] [Distill "Feature Visualization"] [Distill "Building Blocks of Interpretability"] [DeepDream] [neural-style] |
Lecture 22 [Remote] |
Wednesday April 6 |
Self-Supervised Learning
Colorization, inpainting Contrastive learning Masked autoencoding Learning from language |
[slides]
[video (UMich only)] |
Lecture 23 [Remote] |
Monday April 11 |
3D vision
3D shape representations Depth estimation 3D shape prediction Voxels, Pointclouds, SDFs, Meshes Implicit functions, NeRF |
[slides]
[video (UMich only)] [FA2019 video (public)] |
A5 Due | Tuesday April 12 |
Assignment 5 Due
RNNs Image captioning Transformers |
[Assignment 5] |
Lecture 24 [Remote] |
Wednesday April 13 |
Videos
Video classification Early / Late fusion 3D CNNs Two-stream networks Transformer-based models |
[slides]
[video (UMich only)] [FA2019 video (public)] |
Lecture 25 [Remote] |
Monday April 18 |
Conclusion
Course recap The future of computer vision |
[slides]
[video (UMich only)] [FA2019 video (public)] |
Mini-project due | Monday April 25 |
Mini-Project
TBA |
[Mini-Project] |
A6 due | Tuesday April 26 |
Assignment 6 Due
Variational Autoencoders Generative Adversarial Networks Style Transfer Feature visualization |
[Assignment 6] |