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