Schedule and Syllabus

The Spring 2020 iteration of the course will be taught virtually for the entire duration of the quarter. (more information available here )

Unless otherwise specified the lectures are Tuesday and Thursday 12pm to 1:20pm.
Discussion sections will (generally) be Fridays 12:30pm to 1:20pm. Check Piazza for any exceptions.
Lectures and discussion sections will be both on Zoom, and they will be recorded for later access from Canvas.

This is the syllabus for the Spring 2020 iteration of the course. The syllabus for the Spring 2019, Spring 2018, Spring 2017, Winter 2016 and Winter 2015 iterations of this course are still available.

Event TypeDateDescriptionCourse Materials
Lecture 1 Tuesday
April 7
Course Introduction
Computer vision overview
Historical context
Course logistics
[Course Overview]
[History of Computer Vision]
Lecture 2 Thursday
April 9
Image Classification
The data-driven approach
K-nearest neighbor
Linear classification I
[slides]
[python/numpy tutorial]
[image classification notes]
[linear classification notes]
Discussion Section Friday
April 10
Python / numpy / Google Cloud [python/numpy tutorial]
[Google Cloud tutorial]
Lecture 3 Tuesday
April 14
Loss Functions and Optimization
Linear classification II
Higher-level representations, image features
Optimization, stochastic gradient descent
[slides]
[linear classification notes]
[optimization notes]
Lecture 4 Thursday
April 16
Neural Networks and Backpropagation
Backpropagation
Multi-layer Perceptrons
The neural viewpoint
[slides]
[backprop notes]
[linear backprop example]
[derivatives notes] (optional)
[Efficient BackProp] (optional)
related: [1], [2], [3] (optional)
Discussion Section Friday
April 17
Backprop tutorial [slides]
[annotated slides]
Lecture 5 Tuesday
April 21
Convolutional Neural Networks
History
Convolution and pooling
ConvNets outside vision
[slides]
ConvNet notes
A1 Due Wednesday
April 22
Assignment #1 due
kNN, SVM, SoftMax, two-layer network
[Assignment #1]
Lecture 6 Thursday
April 23
Deep Learning Hardware and Software
CPUs, GPUs, TPUs
PyTorch, TensorFlow
Dynamic vs Static computation graphs
[slides]
Discussion Section Friday
April 24
Projects
[proposal description] [slides]
Lecture 7 Tuesday
April 28
Training Neural Networks, part I
Activation functions, data processing
Batch Normalization, Transfer learning
[slides]
Neural Nets notes 1
Neural Nets notes 2
Neural Nets notes 3
tips/tricks: [1], [2], [3] (optional)
Deep Learning [Nature] (optional)
Proposal due Monday
April 27
Project Proposal due
Lecture 8 Thursday
April 30
Training Neural Networks, part II
Update rules, hyperparameter tuning,
Learning rate scheduling, data augmentation
[slides]
Neural Nets notes 3
Discussion Section Friday
May 1
Intro to Pytorch and Tensorflow [PyTorch Colab Walkthrough]
(See Canvas for recording)
Lecture 9 Tuesday
May 5
CNN Architectures
AlexNet, VGG, GoogLeNet, ResNet, etc
[slides]
AlexNet, VGGNet, GoogLeNet, ResNet
A2 Due Wednesday
May 6
Assignment #2 due
Neural networks, ConvNets
[Assignment #2]
Lecture 10 Thursday
May 7
Recurrent Neural Networks
RNN, LSTM
Language modeling
Image captioning,
Vision + Language
Attention
[slides]
DL book RNN chapter (optional)
min-char-rnn, char-rnn, neuraltalk2
Discussion Section Friday
May 8
Midterm Review [slides]
Midterm Tuesday
May 12
Take-home midterm
Lecture 11 Thursday
May 14
Generative Models
PixelRNN/PixelCNN
Variational auto-encoders
Generative adversarial networks
[slides]
VAE Notes
NeurIPS 2016 GAN Tutorial
Discussion Section Friday
May 15
Tensorflow Tutorial
[Colab Link]
Lecture 12 Tuesday
May 19
Detection and Segmentation
Semantic segmentation
Object detection
Instance segmentation
[slides]
Milestone Wednesday
May 20
Project Milestone due
Lecture 13 Thursday
May 21
Visualizing and Understanding
Feature visualization and inversion
Adversarial examples
DeepDream and style transfer
[slides]
DeepDream
neural-style
fast-neural-style
Discussion Section Friday
May 22
Detection Software
[slides]
Lecture 14
Guest Lecture
Tuesday
May 26
Fairness Accountability Transparency and Ethics in AI
Timnit Gebru, Emily Denton

[slides]
A3 Due Wednesday
May 27
Assignment #3 due
RNNs, LSTMs, Network Visualization, Style Transfer, GANs
[Assignment #3]
Lecture 15 Thursday
May 28
Human-Centered Artificial Intelligence
Fei-Fei Li
[slides]
Discussion Section Friday
May 29
Learning on Videos [slides]
Lecture 16
Guest Lecture
Tuesday
June 2
3D Deep Learning
Hao Su
[slides]
Lecture 17 Thursday
June 4
Deep Reinforcement Learning
Policy gradients, hard attention
Q-Learning, Actor-Critic
[slides]
Final Project Report Due Sunday
June 7
Project report due
Final Project Video Presentation Due Tuesday
June 9
Video presentation due
Lecture 18 Tuesday
June 9
Scene Graphs
Visual Relationships
Graph Neural Networks
[slides]