About OH Course Work Class Notes Lectures Recitations Assignments Docs & Tools Resources F22 S22 F21
Course Work
Class Notes
Docs & Tools
S22 F21
11-785 Introduction to Deep Learning
Spring 2022
Class Streaming Link

In-Person Venue: Giant Eagle Auditorium, Baker Hall

Bulletin and Active Deadlines

Assignment Deadline Description Links
HW4P1 Regular: April 28th, 11:59 PM EST Language Modelling using LSTMs Autolab,
Handout (.tar)
HW4P2 Early (Bonus): April 16th, 11:59 PM EST
Regular: April 28th, 11:59 PM EST
Attention-based Speech Recognition Kaggle,
Project Gallery
Here's an example of a successful project from Fall 2020.
The team developed an AI Limmerick generator,
and compiled a book from the AI Poet's creations.
Project Report, Project Video, Book (Amazon)
This piece is performed by the Chinese Music Institute at
Peking University (PKU) together with PKU's Chinese orchestra.
This is an adaptation of Beethoven: Serenade in D major, Op.25 - 1.
Entrata (Allegro),for Chinese transverse flute (Dizi), clarinet and flute.

CoVID-19 Related Announcement

In the event that the course is moved online due to CoVID-19, we will continue to deliver lectures via zoom. In the event that an instructor is unable to deliver a lecture in person, we will broadcast that lecture over zoom or, in extreme situations, expect you to view pre-recorded lectures from prior semesters. You will be notified through Piazza should any of these eventualities arise.

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.

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 Numpy and PyTorch in this class, so you will need to be able to program in python3.
  2. You will need familiarity with basic calculus (differentiation, chain rule), linear algebra and basic probability.


Courses 11-785 and 11-685 are equivalent 12-unit graduate courses, and have a final project and HW 5 respectively. Course 11-485 is the undergraduate version worth 9 units, the only difference being that there is no final project or HW 5.


Your Supporters



Pittsburgh Schedule (Eastern Time)

Lecture: Tuesday and Thursday, 11:50 a.m. - 1:10 p.m.

Recitation: Friday, 11:50 a.m. - 1:10 p.m.

Office hours: We will be using OHQueue for zoom related Office hours, others would be in-person. The OH schedule is given below.

Day Time (Eastern Time) TA Zoom/In Person Venue
Monday 10:00 - 11:00 am Soumya Empran Zoom
1:00 - 2:00 pm Urvil Kenia Wean 3110
3:00 - 4:00 pm Fuyu Tang GHC 6708
6:00 - 7:00 pm Amelia Kuang GHC 6708
6:30 - 7:30 pm Diksha Agarwal GHC 6708
7:00 - 9:00 pm Rucha Khopkar Zoom
7:00 - 9:00 pm Lavanya Gupta Zoom
Tuesday 2:00 - 3:00 pm Manasi Purohit Wean 3110
3:00 - 4:00 pm Ameya Mahabaleshwarkar Zoom
3:00 - 4:00 pm Diksha Agarwal Zoom
Wednesday 8:00 - 9:00 am Germann Atakpa Zoom / Room B209 (Kigali)
10:00 - 11:00 am Soumya Empran Zoom
2:00 - 3:00 pm Urvil Kenia Wean 3110
2:00 - 3:00 pm Bradley Warren Wean 3110
3:00 - 4:00 pm Fuyu Tang Wean 3110
6:00 - 8:00 pm Zhe Chen Wean 3110
6:35 - 7:35 pm Ruoyu Hua Zoom / Room 208 (SV)
Thursday 4:00 - 5:00 pm Shreyas Piplani Zoom
4:00 - 5:00 pm Wenwen Ouyang Zoom
5:00 - 7:00 pm David Park Zoom
6:30 - 8:30 pm Chaoran Zhang Wean 3110
Friday 8:00 - 9:00 am Germann Atakpa Zoom / Room B209 (Kigali)
1:00 - 3:00 pm Ameya Mahabaleshwarkar Zoom
1:00 - 3:00 pm Jeff Moore Wean 3110
2:00 - 3:00 pm Bradley Warren Wean 3110
3:00 - 5:00 pm Aparajith Srinivasan Wean 3110
Saturday 8:00 - 10:00 am Iffanice Houndayi Zoom / Room B209 (Kigali)
1:00 - 2:00 pm Amelia Kuang Zoom
1:00 - 2:00 pm Ruoyu Hua Zoom
2:00 - 3:00 pm Ameya Mahabaleshwarkar Zoom
2:00 - 3:00 pm Shreyas Piplani Zoom
3:00 - 4:00 pm Rucha Khopkar Zoom
Sunday 9:00 - 11:00 am Adebayo Oshingbesan Zoom
9:00 - 11:00 am John Jeong Zoom
11:00 am - 12:00 pm Iffanice Houndayi Zoom / Room B209 (Kigali)
3:00 - 5:00 pm Roshan Ram Zoom
5:00 - 6:00 pm Manasi Purohit Zoom

Course Work

Score Assignment      Grading will be based on weekly quizzes (24%), homeworks (50%) and a course project (25%). Note that 1% of your grade is assigned to Attendance.
Quizzes      There will be weekly quizzes.
  • We will retain your best 12 out of the remaining 14 quizzes.
  • Quizzes will generally (but not always) be released on Friday and due 72 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 HIGH (90%), MEDIUM (70%), LOW (50%), and VERY LOW (30%) for Kaggle competitions. 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 homework P2s only. 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 50% of your total score. HW0 is not graded (but is mandatory), while each of the subsequent four are worth 12.5%.
  • A fifth HW, HW5, will be released later in the course and will have the same weight as a course project. Please see Project section below for more details.
  • All students taking a graduate version of the course are required to do a course project. The project is worth 25% of your grade. These points are distributed as follows: 20% - Midterm Report; 35% - Project Video; 5% - Responding to comments on Piazza; 40% - Project report.
  • Note that a Project is mandatory for 11-785/18-786 students. In the event of a catastrophe (remember Spring 2020), the Project may be substititued with HW5. 11-685 Students may choose to do a Project instead of HW5. Either your Project OR HW5 will be graded.
  • If you are in section A you are expected to attend in-person lectures. We will track attendance.
  • If you are in any of the other (out-of-timezone) sections, you may either watch the real-time zoom lectures or the recorded lectures on mediatech
    • If viewed on mediatech, the lectures of each week must be viewed before 8AM of the Monday following the following week (Otherwise, it doesn’t count)
  • At the end of the semester, we will select a random subset of 50% of the lectures and tabulate attendance
  • If you have attended at least 70% of these (randomly chosen) lectures, you get the attendance point
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 if they are in the graduate course, 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

Study groups

This semester we will be implementing study groups. It is highly recommended that you join a study group; see the forms on the bulletin.

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 here. 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.

Media Services/YouTube: Lecture and Reciation Recordings

CMU students who are not in the live lectures should watch the uploaded lectures at Media Services in order to get attendance credit. Links to individual videos will be posted as they are uploaded.

YouTube is where non-CMU folks can view all lecture and recitation recordings. Videos marked “Old“ are not current, so please be aware of the video title.

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.

Class Notes

A book containing class notes is being developed in tandem with this course; check it out.

Schedule of Lectures

You can watch the recorded lectures on Mediatech.
Lecture Date Topics Slides and Video Additional Materials Quiz
0 -
  • Course Logistics
  • Learning Objectives
  • Grading
  • Deadlines
Slides (*.pdf)
Video (YT)
Quiz 0
1 Tuesday
Jan  18
  • Introduction
Slides (*.pdf)
Video (YT)
Video (MT)
The New Connectionism (1988)
On Alan Turing's Anticipation of Connectionism
Quiz 1
2 Thursday
Jan  20
  • Neural Nets as Universal Approximators
Slides (*.pdf)
Video (MT)
Video (YT)
Shannon (1949)
Boolean Circuits
3 Tuesday
Jan  25
  • Modelling a specified input-output relationship: the problem of learning a Neural Net
  • Learning from data: Empirical risk minimization
Slides (*.pdf)
Video (YT)
Video (MT)
Widrow and Lehr (1992)
Adaline and Madaline
Convergence of perceptron algorithm Threshold Logic TC(Complexity) AC(Complexity)
Quiz 2
4 Thursday
Jan 27
  • Empirical risk minimization and gradient descent
  • Training the network: Setting up the problem
Slides (*.pdf)
Video (YT)
Video (MT)
Werbos (1990)
Rumelhart, Hinton and Williams (1986)
5 Tuesday
Feb  1
  • Backpropagation
  • Calculus of backpropagation
Slides (*.pdf)
Part1 Video (YT)
Part2 Video (YT)
Video (MT)
Werbos (1990)
Rumelhart, Hinton and Williams (1986)
Quiz 3
6 Thursday
Feb 3
  • Convergence issues
  • Loss Surfaces
  • Momentum
Slides (*.pdf)
Video (YT)
Video (MT)
Backprop fails to separate, where perceptrons succeed, Brady et al. (1989)
Why Momentum Really Works
7 Tuesday
Feb 8
  • Optimization
  • Batch Size, SGD, Minibatch, second-order methods
Slides (*.pdf)
Video (YT)
Momentum, Polyak (1964)
Nestorov (1983)
Derivatives and Influences
Quiz 4
8 Thursday
Feb 10
  • Optimizers and Regularizers
    • Choosing a divergence (loss) function
    • Batch normalization
    • Dropout
Slides (*.pdf)
Video1 (YT)
Video2 (YT)
Video (MT)
Derivatives and Influence Diagrams
ADAGRAD, Duchi, Hazan and Singer (2011)
Adam: A method for stochastic optimization, Kingma and Ba (2014)
9 Tuesday
Feb 15
  • Shift invariance and Convolutional Neural Networks
Slides (*.pdf)
Video (YT)
Video (MT)
Quiz 5
10 Thursday
Feb 17
  • Models of vision, Convolutional Neural Networks
Slides (*.pdf)
Video (YT)
Video (MT)
11 Tuesday
Feb 22
  • Learning in Convolutional Neural Networks
Slides (*.pdf)
Video (YT)
Video (MT)
CNN Explainer Quiz 6
12 Thursday
Feb 24
  • Learning in CNNs, transpose Convolution
Slides (*.pdf)
Video (YT)
Video (MT)
13 Tuesday
March 1
  • Time Series and Recurrent Networks
Slides (*.pdf)
Video (YT)
Video (MT)
Fahlman and Lebiere (1990)
How to compute a derivative, extra help for HW3P1 (*.pptx)
Quiz 7
14 Thursday
March 3
  • Stability and Memory, LSTMs
Slides (*.pdf)
Video (YT)
Video (MT)
Bidirectional Recurrent Neural Networks
- Tuesday
March 8
  • No Class - Spring Break
Quiz 8
- Thursday
March 10
  • No Class - Spring Break
15 Tuesday
March 15
  • Loss Functions in RNNs, Sequence Prediction
Slides (*.pdf)
Video (YT)
Video (MT)
LSTM Quiz 9
16 Thursday
March 17
  • Connectionist Temporal Classification
  • Sequence prediction
Slides (*.pdf)
Video (YT)
17 Tuesday
March 22
  • Connectionist Temporal Classification (CTC)
  • Sequence To Sequence Prediction
Slides (*.pdf)
Video1 (YT)
Video2 (YT)
Video (MT)
Labelling Unsegmented Sequence Data with Recurrent Neural Networks Quiz 10
18 Thursday
March 24
  • Sequence To Sequence Methods
  • Attention
Slides (*.pdf)
Video (YT)
19 Tuesday
March 29
  • Transformers and GNNs
Slides (*.pdf)
Video (YT)
Attention Is All You Need
A comprehensive Survey on Graph Neural Networks
Quiz 11
20 Thursday
March 31
  • Learning Representations, AutoEncoders
Slides (*.pdf)
Video (YT)
21 Tuesday
April 5
  • Variational Auto Encoders
Slides (*.pdf)
Video (YT)
Tutorial on VAEs (Doersch)
Autoencoding variational Bayes (Kingma)
Quiz 12
- Thursday
April 7
  • No Class - Spring Break
22 Tuesday
April 12
  • Generative Adversarial Networks, 1
Slides (*.pdf)
Video (YT)
Quiz 13
23 Thursday
April 14
  • Generative Adversarial Networks, 2
Video (YT)
Slides (*.pdf)
Slides (*.pptx)
24 Tuesday
April  19
  • Guest Lecture: Adversarial Robustness
Video (YT)
Quiz 14
25 Tuesday
April  19
  • Guest Lecture: Deep Reinforcement Learning
Slides (*.pptx)
Video (YT)
26 Tuesday
April 26
  • Hofield Nets and Auto Associators
Slides (*.pdf)
Video (YT)
No Quiz
27 Thursday
April 28
  • Boltzmann Machines
Slides (*.pdf)
Video (YT)

Schedule of Recitations

Recitation Date Topics Materials Videos Instructor
0A Jan 10, 2022 Python & OOP Fundamentals

Video (YT): 1, 2

Chaoran, Roshan
0B Jan 10, 2022 Fundamentals of NumPy Notebook (*.zip)

Video (YT): 1, 2, 3, 4, 5, 6, 7, 8

Rucha, Shreyas
0C Jan 10, 2022 PyTorch Tensor Fundamentals Notebook + Cheatsheet (*.zip)

Video (YT): 1, 2,

Lavanya, Aparajith
0D Jan 10, 2022 Dataset & DataLoaders Notebook + Slides (*.zip) Video (YT)
Fuyu, Soumya
0E Jan 10, 2022 Introduction to Google Colab Video (YT)
Ameya, Rucha
0F Jan 10, 2022 AWS Fundamentals Video (YT): 1, 2, 3, 4

Roshan, Ameya
0G Jan 10, 2022 Debugging, Monitoring

Video (YT): 1, 2

Rukayat, Brad
0H Jan 10, 2022 Remote Notebooks Notebook + Markdown (*.zip)

Video (YT): 1, 2

Zhe, Manasi
0I Jan 10, 2022 What to do if you're struggling Slides (*.pdf) Video (YT)
Brad, Urvil
0J Due: Jan. 23 Data Preprocessing Chaoran, Diksha
1 Jan 21, 2022 Your first MLP Code Slides (*.zip)

Video (YT): 1, 2

Lavanya, Roshan, Amelia
2 Jan 28, 2022 Optimizing the Networks, Ensembles Notebook + Slides (*.zip) Video (YT)
Rucha, Urvil
HW1 Bootcamp Jan 26, 2022 How to get started with HW1 Video (YT)
Bradley, Wenwen
3 Feb 4, 2022 Computing Derivatives & Autograd Slides (*.pdf) Video (YT)
Chaoran, John
4 Feb 11, 2022 Hyperparameters Tuning Slides + Notebook (*.zip) Video (YT)
Brad, Urvil, Ruoyu
5 Feb 18, 2022 CNN: Basics & Backprop Slides + Notebook (*.zip) Video (YT)
Aparajith, Amelia, Manasi
HW2 Bootcamp Feb 24, 2022 How to get started with HW2 Slides (p2) (*.pdf)
MobileNet code (*.py)
Video (YT)
David, Manasi, Soumya
6 Feb 25, 2022 CNNs: Classification & Verification Slides(*.pdf) Video (YT)
Manasi, Iffanice
7 Mar 4, 2022 Paper Writing Workshop Slides (*.zip) Video (YT)
Rukayat, David
8 Mar 11, 2022 RNN Basics (Pre-recorded) Slides (*.pdf)
Code (*.zip)
Video (YT)
Aparajith, Soumya, Shreyas, Lavanya
9 Mar 18, 2022 CTC, Beam Search Slides (*.pdf) Video (YT)
Ameya, Soumya
HW3 Bootcamp Mar 24, 2022 How to get started with HW3 Slides (p1) (*.pdf)
Slides (p2) (*.pdf)
Video (YT)
Aparajith, Diksha
10 Mar 25, 2022 Attention, MT, LAS Slides (*.zip) Video (YT)
Ameya, Lavanya
11 Apr 1, 2022 Transformers Slides+Notebook(*.zip) Video (YT)
Ameya, Zhe
HW4 Bootcamp April 6, 2022 How to get started with HW4 Notebook (*.ipynb)
Notebook (*.ipynb)
Video (YT)
Ameya, Zhe
12 Apr 15, 2022 Generative Adversarial Networks (GANs) + HW5 Bootcamp Slides (*.ipynb) Video (YT)
Zhe, Fuyu
13 Apr 22, 2022 Graph Neural Networks John
14 Pre-recorded YOLO Chaoran, Manasi

Assignments and Quizzes

∑ Ongoing, ∏ Upcoming

Assignment Release Date Due Date Related Materials / Links
HW0p1 Winter Break Jan 23rd, 2022
11:59 PM EST
(see recitation 0s)
HW0p2 Winter Break Jan 23rd, 2022
11:59 PM EST
(see recitation 0s)
HW1p1 Jan 23rd, 2022 Feb 17th, 2022
11:59 PM EST
Autolab, Writeup (pdf), Handout (.tar)
Computing Derivatives (pdf)
HW1p2 Jan 23rd, 2022 Early Submission: Jan 31th, 2022
11:59 PM EST
Kaggle, Writeup (pdf), Canvas Quiz
Final: Feb 17th, 2022
11:59 PM EST
HW1 Bonus Jan 31st, 2022 Mar 17th, 2022
11:59 PM EST
Autolab, Writeup (pdf), Handout (.tar)
Project Proposal - TBA Canvas Submission (TBA)
HW2p1 Feb 17th, 2022 Mar 17th, 2022
11:59 PM EST
Handout (.tar)
HW2p2 Feb 17th, 2022 Early Submission: Feb 25th, 2022
11:59 PM EST
Face Classification: Kaggle,
Face Verification: Kaggle,
Writeup (*.pdf)
Final: Mar 17th, 2022
11:59 PM EST
Project Midterm Report - TBA Canvas Submission (TBA)
HW3p1 Mar 17th, 2022 Apr 7th, 2022
11:59 PM EST
handout (*.zip),
Writeup (*.pdf)
HW3p2 Mar 17th, 2022 Early Submission: Mar 26th, 2022
11:59 PM EST
Writeup (*.pdf),
Canvas Quiz
Final: Apr 7th, 2022
11:59 PM EST
HW4p1 Apr 4th, 2022 Apr 28th, 2022
11:59 PM EST
HW4p2 Apr 5th, 2022 Early Submission (Bonus): Apr 16th, 2022
11:59 PM EST
Final: Apr 28th, 2022
11:59 PM EST
Final Project Video Presentation & Preiliminary Project Report Apr 28th, 2022
May 2nd, 2022
5:59 PM EST
Preliminary Report: Canvas Submission (TBA)
Project Peer reviews May 3rd, 2022
May 4th, 2022
11:59 PM EST
Final Project Report Submission - May 6th, 2022
11:59 PM EST
Canvas Submission (TBA)

Documentation and Tools


This is a selection of optional textbooks you may find useful

Deep Learning
Dive Into Deep Learning By Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola PDF, 2020
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