Schedule
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] |