Schedule and Syllabus

Unless otherwise specified the lectures are Tuesday and Thursday 12pm to 1:20pm in the NVIDIA Auditorium in the Huang Engineering Center. (map)

Discussion sections will be Fridays 12:30pm to 1:20pm in Skilling Auditorium. (map)

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

Event TypeDateDescriptionCourse Materials
Lecture 1 Tuesday
April 3
Course Introduction
Computer vision overview
Historical context
Course logistics
Lecture 2 Thursday
April 5
Image Classification
The data-driven approach
K-nearest neighbor
Linear classification I
[python/numpy tutorial]
[image classification notes]
[linear classification notes]
Discussion Section Friday
April 6
Python / numpy / Google Cloud [python/numpy notebook]
Lecture 3 Tuesday
April 10
Loss Functions and Optimization
Linear classification II
Higher-level representations, image features
Optimization, stochastic gradient descent
[linear classification notes]
[optimization notes]
Lecture 4 Thursday
April 12
Introduction to Neural Networks
Multi-layer Perceptrons
The neural viewpoint
[backprop notes]
[linear backprop example]
[derivatives notes] (optional)
[Efficient BackProp] (optional)
related: [1], [2], [3] (optional)
Discussion Section Friday
April 13
Backpropagation [slides]
Lecture 5 Tuesday
April 17
Convolutional Neural Networks
Convolution and pooling
ConvNets outside vision
ConvNet notes
A1 Due Wednesday
April 18
Assignment #1 due
kNN, SVM, SoftMax, two-layer network
[Assignment #1]
Lecture 6 Thursday
April 19
Training Neural Networks, part I
Activation functions, initialization, dropout, batch normalization
Neural Nets notes 1
Neural Nets notes 2
Neural Nets notes 3
tips/tricks: [1], [2], [3] (optional)
Deep Learning [Nature] (optional)
Discussion Section Friday
April 20
Tips and tricks for tuning NNs [slides]
Lecture 7 Tuesday
April 24
Training Neural Networks, part II
Update rules, ensembles, data augmentation, transfer learning
Neural Nets notes 3
Proposal due Wednesday
April 25
Project Proposal due [proposal description]
Lecture 8 Thursday
April 26
Deep Learning Hardware and Software
PyTorch, TensorFlow
Dynamic vs Static computational graphs
Discussion Section Friday
April 27
PyTorch / Tensorflow [pytorch notebook]
Lecture 9 Tuesday
May 1
CNN Architectures
AlexNet, VGG, GoogLeNet, ResNet, etc
AlexNet, VGGNet, GoogLeNet, ResNet
A2 Due Wednesday
May 2
Assignment #2 due
Neural networks, ConvNets
[Assignment #2]
Lecture 10 Thursday
May 4
Recurrent Neural Networks
Language modeling
Image captioning, visual question answering
Soft attention
DL book RNN chapter (optional)
min-char-rnn, char-rnn, neuraltalk2
Discussion Section Friday
May 4
Midterm Review [slides]
Midterm Tuesday
May 8
In-class midterm
Location: Various (see Piazza for more details).
SCPD Midterm Info
Lecture 11 Thursday
May 10
Detection and Segmentation
Semantic segmentation
Object detection
Instance segmentation
Discussion Section Friday
May 11
Practical Object Detection and Segmentation [slides]
Lecture 12 Tuesday
May 15
Generative Models
Variational Autoencoders
Generative Adversarial Networks
Milestone Wednesday
May 16
Project Milestone due
Lecture 13 Thursday
May 17
Visualizing and Understanding
Feature visualization and inversion
Adversarial examples
DeepDream and style transfer
Lecture 14 Tuesday
May 22
Deep Reinforcement Learning
Policy gradients, hard attention
Q-Learning, Actor-Critic
A3 Due Wednesday
May 23
Assignment #3 due [Assignment #3]
Lecture 15
Guest Lecture
May 24
Invited Talk: Andrej Karpathy [slides]
Discussion Section Friday
May 25
Weak Supervision [slides]
Lecture 16
Guest Lecture
May 29
Invited Talk: Jitendra Malik
Lecture 17 Thursday
May 31
Student spotlight talks, conclusions [slides]
Discussion Section Friday
June 1
Video Understanding [slides]
Final Project Due Thursday
June 7
Project Report due
Poster Session Tuesday
June 12
Jen-Hsun Huang Engineering Center
12:00 pm to 3:15 pm