About OH Course Work Lectures Recitations Homework Project Docs & Tools F20 S20
Course Work
Docs & Tools
F20 S20
11-785 Introduction to Deep Learning
Fall 2020

Bulletin and Active Deadlines

Assignment Deadline Description Links
Final Project Playlist Please enjoy the final project videos from our students Youtube Playlist

The Course

“Deep Learning” systems, typified by deep neural networks, are increasingly taking over all AI tasks, ranging from language understanding, and speech and image recognition, to machine translation, planning, and even game playing and autonomous driving. As a result, expertise in deep learning is fast changing from an esoteric desirable to a mandatory prerequisite in many advanced academic settings, and a large advantage in the industrial job market.

In this course we will learn about the basics of deep neural networks, and their applications to various AI tasks. By the end of the course, it is expected that students will have significant familiarity with the subject, and be able to apply Deep Learning to a variety of tasks. They will also be positioned to understand much of the current literature on the topic and extend their knowledge through further study.

If you are only interested in the lectures, you can watch them on the YouTube channel listed below.

Course description from student point of view

The course is well rounded in terms of concepts. It helps us understand the fundamentals of Deep Learning. The course starts off gradually with MLPs and it progresses into the more complicated concepts such as attention and sequence-to-sequence models. We get a complete hands on with PyTorch which is very important to implement Deep Learning models. As a student, you will learn the tools required for building Deep Learning models. The homeworks usually have 2 components which is Autolab and Kaggle. The Kaggle components allow us to explore multiple architectures and understand how to fine-tune and continuously improve models. The task for all the homeworks were similar and it was interesting to learn how the same task can be solved using multiple Deep Learning approaches. Overall, at the end of this course you will be confident enough to build and tune Deep Learning models.


  1. We will be using one of several toolkits (the primary toolkit for recitations/instruction is PyTorch). The toolkits are largely programmed in Python. You will need to be able to program in at least one of these languages. Alternately, you will be responsible for finding and learning a toolkit that requires programming in a language you are comfortable with,
  2. You will need familiarity with basic calculus (differentiation, chain rule), linear algebra and basic probability.


11-785 and 11-685 are graduate courses worth 12 units. 11-485 is an undergraduate course worth 9 units.


Your Supporters



Pittsburgh Schedule (Eastern Time)

Lecture: Monday and Wednesday, 9:00 a.m. - 10:20 a.m.

Zoom Link: Meeting Link , Meeting ID: 403 746 7921

Recitation: Friday, 9.00am-10.20am BH A51

Office hours:
Day Time Location TA
Wednesday TBD TBD TBD
Thursday TBD TBD TBD
Saturday TBD TBD TBD

Kigali Schedule (Central Africa Time)

Lecture: Monday and Wednesday, 3:00 p.m. – 4:20 p.m. @ CMR C421

Office hours:

Silicon Valley Schedule (Pacific Time)

Office hours:

Course Work


Grading will be based on weekly quizzes (24%), homeworks (51%) and a course project (25%).

Quizzes      There will be weekly quizzes.
  • There are 14 quizzes in all. We will retain your best 12 scores.
  • Quizzes will generally (but not always) be released on Friday and due 48 hours later.
  • Quizzes are scored by the number of correct answers.
  • Quizzes will be worth 24% of your overall score.
Assignments There will be five assignments in all. Assignments will include autolab components, where you must complete designated tasks, and a kaggle component where you compete with your colleagues.
  • Autolab components are scored according to the number of correctly completed parts.
  • We will post performance cutoffs for A, B, C, D and F for Kaggle competitions. These will translate to scores of 100, 80, 60, 40 and 0 respectively. Scores will be interpolated linearly between these cutoffs.
  • Assignments will have a “preliminary submission deadline”, an “on-time submission deadline” and a “late-submission deadline.”
    • Early submission deadline: You are required to make at least one submission to Kaggle by this deadline. People who miss this deadline will automatically lose 10% of subsequent marks they may get on the homework. This is intended to encourage students to begin working on their assignments early.
    • On-time deadline: People who submit by this deadline are eligible for up to five bonus points. These points will be computed by interpolation between the A cutoff and the highest performance obtained for the HW. The highest performance will get 105.
    • Late deadline: People who submit after the on-time deadline can still submit until the late deadline. There is a 10% penalty applied to your final score, for submitting late.
    • Slack days: Everyone gets up to 7 slack days, which they can distribute across all their homeworks. Once you use up your slack days you will fall into the late-submission category by default. Slack days are accumulated over all parts of all homeworks, except HW0, to which no slack applies.
    • Kaggle scoring: We will use max(max(on-time score), max(slack-day score), .0.9*max(late-submission score)) as your final score for the HW. If this happens to be a slack-days submission, slack days corresponding to the selected submission will be counted.
  • Assignments carry 51% of your total score. HW0 is worth 1%, while each of the subsequent four are worth 12.5%.
ProjectAll students are required to do a course project. The project is worth 25% of your grade
Final grade
Final grade The end-of-term grade is curved. Your overall grade will depend on your performance relative to your classmates.
Pass/Fail Students registered for pass/fail must complete all quizzes, HWs and the project. A grade equivalent to B- is required to pass the course.
Auditing Auditors are not required to complete the course project, but must complete all quizzes and homeworks. We encourage doing a course project regardless.
End Policy

Piazza: Discussion Board

Piazza is what we use for discussions. You should be automatically signed up if you're enrolled at the start of the semester. If not, please sign up. Also, please follow the Piazza Etiquette when you use the piazza.

AutoLab: Software Engineering

AutoLab is what we use to test your understand of low-level concepts, such as engineering your own libraries, implementing important algorithms, and developing optimization methods from scratch.

Kaggle: Data Science

Kaggle is where we test your understanding and ability to extend neural network architectures discussed in lecture. Similar to how AutoLab shows scores, Kaggle also shows scores, so don't feel intimidated -- we're here to help. We work on hot AI topics, like speech recognition, face recognition, and neural machine translation.

YouTube: Lecture and Reciation Recordings

YouTube is where all lecture and recitation recordings will be uploaded. Links to individual lectures and recitations will also be posted below as they are uploaded. Videos marked “Old“ are not current, so please be aware of the video title.

CMU students can also access the videos Live from Media Services or Recorded from Media Services.

Books and Other Resources

The course will not follow a specific book, but will draw from a number of sources. We list relevant books at the end of this page. We will also put up links to relevant reading material for each class. Students are expected to familiarize themselves with the material before the class. The readings will sometimes be arcane and difficult to understand; if so, do not worry, we will present simpler explanations in class.

You can also find a nice catalog of models that are current in the literature here. We expect that you will be in a position to interpret, if not fully understand many of the architectures on the wiki and the catalog by the end of the course.

Academic Integrity

You are expected to comply with the University Policy on Academic Integrity and Plagiarism.
  • You are allowed to talk with and work with other students on homework assignments.
  • You can share ideas but not code. You should submit your own code.
Your course instructor reserves the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs. Violations of the university policy can result in severe penalties including failing this course and possible expulsion from Carnegie Mellon University. If you have any questions about this policy and any work you are doing in the course, please feel free to contact your instructor for help.

Tentative Schedule of Lectures

Lecture Date Topics Slides and Video Additional Materials
0 -
  • Course Logistics
  • Learning Objectives
  • Grading
  • Deadlines
1 September 2
  • Learning Objectives
  • History and cognitive basis of neural computation
  • Connectionist Machines
  • McCullough and Pitt model
  • Hebb’s learning rule
  • Rosenblatt’s perceptron
  • Multilayer Perceptrons
September 7
  • Labor Day, no class
2 September 9
  • The neural net as a universal approximator
Hornik et al. (1989)
Shannon (1949)
3 September 14
  • Training a neural network
  • Perceptron learning rule
  • Empirical Risk Minimization
  • Optimization by gradient descent
Widrow and Lehr (1992)
Convergence of perceptron algorithm
4 September 16
  • Back propagation
  • Calculus of back propogation
Werbos (1990)
Rumelhart, Hinton and Williams (1986)
4.5 September 21
  • More on back propagation
  • More on Calculus of back propogation
5 September 23
  • Convergence issues in back propagation
  • Second order methods
  • Momentum and Nestorov
Backprop fails to separate, where perceptrons succeed, Brady et al. (1989)
6 September 28
  • Convergence in neural networks
  • Rates of convergence
  • Loss surfaces
  • Learning rates, and optimization methods
  • RMSProp, Adagrad, Momentum
Momentum, Polyak (1964)
Nestorov (1983)
7 September 30
  • Stochastic gradient descent
  • Acceleration
  • Overfitting and regularization
  • Tricks of the trade:
    • Choosing a divergence (loss) function
    • Batch normalization
    • Dropout
ADAGRAD, Duchi, Hazan and Singer (2011)
Adam: A method for stochastic optimization, Kingma and Ba (2014)
8 October 5
  • Convolutional Neural Networks (CNNs)
  • Weights as templates
  • Translation invariance
  • Training with shared parameters
  • Arriving at the convlutional model
9 October 7
  • Cascade Correlation Filters (Scott Fahlman and Dean Alderucci)
Falhman and Lebiere (1990)
10 October 12
  • Models of vision
  • Neocognitron
  • Mathematical details of CNNs
11 TBD
  • Guest Lecture
12 October 19
  • Backpropagation in CNNs
  • Variations in the basic model
  • Some history of the Imagenet
13 October 21
  • "Recurrent Neural Networks (RNNs)
  • Modeling series
  • Back propogation through time
  • Bidirectional RNNs"
Bidirectional Recurrent Neural Networks
14 October 26
  • Stability
  • Exploding/vanishing gradients
  • Long Short-Term Memory Units (LSTMs) and variants
15 October 28
  • Loss functions for recurrent networks
  • Sequence prediction
How to compute a derivative (*.pdf)
16 November 2
  • Sequence To Sequence Methods
  • Connectionist Temporal Classification (CTC)
Labelling Unsegmented Sequence Data with Recurrent Neural Networks
17 November 4
  • Sequence-to-sequence models
  • Models examples from speech and language
  • Transformers and self attention
18 November 9
  • Representations and Autoencoders
19 November 11
  • Hopfield Networks
20 November 16
  • Hopfield Networks
  • Boltzmann Machines
21 November 18
  • Boltzmann Machines
22 TBD
  • Guest Lecture
- November 25
  • Thanksgiving, no class
23 TBD
  • Guest Lecture
24 December 2
  • Variational Autoencoders Part 1
25 December 7
  • Variational Autoencoders Part 2
Tutorial on VAEs (Doersch)
Autoencoding variational Bayes (Kingma)
26 December 9
  • Generative Adversarial Networks (GANs) Part 1
27 December 14
  • Generative Adversarial Networks (GANs) Part 2
28 TBD
  • Reinforcement Learning 1
29 TBD
  • Reinforcement Learning 2
29 TBD
  • Reinforcement Learning 3
29 TBD
  • Reinforcement Learning 4

Tentative Schedule of Recitations

Recitation Date Topics Notebook Videos Instructor
0 - Part A - Fundamentals of Python
0 - Part B - Fundamentals of NumPy
0 - Part C - Fundamentals of Jupyter Notebook
0 - Part D - AWS. Will include tutorial, with google doc polling to check student status
1 August 31 Your First Deep Learning Code
2 September 11 How to compute a derivative
3 September 18 Optimizing the network
4 September 25 Tensorboard, TSNE, Visualizing network parameters and outputs at every layer
5 October 2 CNN: Basics
6 October 9 CNN: Losses, transfer learning
7 October 30 RNN: Basics
8 November 6 CTC

9 November 13 Attention

10 November 20 Listen Attend Spell

11 December 4 Hopfield nets / Boltzmann machines
12 December 11 VAEs
13 TBD Generative Adversarial Networks (GANs)
14 TBD Reinforcement Learning

Homework Schedule

Number Part Topics Release Date Early-submission Deadline On-time Deadline Links
HW0 -
HW1 P1 MLP pytorch
P1-bonus Dropout and Adam
P2 MLP, phoneme recognition
HW2 P1 CNN as scanning MLP, backprop
P1-bonus Conv2D and Pooling
P2 Face Recognition: Classification and Verification
HW3 P1 RNN: forward/backward/CTC beam search
P1-bonus CTC Loss and RNN BPTT
P2 Connectionist Temporal Classification
HW4 P1 Word-Level Neural Language Models
P1-bonus TBD
P2 Attention Mechanisms and Memory Networks

Course Project Timeline

Assignment Deadline Description Links
Team Formation Teams will be formed in groups of four each
*If you do not have a team after this point, you will be grouped randomly
Project Proposal Project Description Guidelines
Midterm Report This report template is provided for you to detail your initial experiments
Final Project Video This is the final video for the course project Video Instructions
Final Project Report This should be the final document for the course project

Grade Breakdown: 10% - Proposal; 15% - Midterm Report; 20% - Project Video; 15% - Project Video Follow-up; 40% - Paper peer review.

Documentation and Tools


Deep Learning
Deep Learning By Ian Goodfellow, Yoshua Bengio, Aaron Courville Online book, 2017
Neural Networks and Deep Learning
Neural Networks and Deep Learning By Michael Nielsen Online book, 2016