About OH Events Syllabus Lectures Recitations & Bootcamps Assignments Docs & Tools Previous Iterations F24 S24 F23
Menu
About
OH
Events
Syllabus
Lectures
Recitations & Bootcamps
Assignments
Docs & Tools
Previous Iterations
F24 S24 F23
11-785 Introduction to Deep Learning
Fall 2024
Class Streaming Link
Piazza

In-Person Venue: Giant Eagle Auditorium, Baker Hall (A51)

Active Deadlines and Bulletin

Assignment Deadline Description Links
Project Gallery

The Course

“Deep Learning” systems, typified by deep neural networks, are increasingly taking over all the AI tasks, ranging from language understanding, 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 a Student's Perspective

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.

Prerequisites

  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.

Units

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

Your Supporters

Instructors:

TAs:

Acknowledgments

Wall of fame

Past TA Acknowledgments

Pittsburgh Schedule (Eastern Time)

Lecture: Monday and Wednesday, 8:00 a.m. - 9:20 a.m. - Good times :)

Recitation Labs: Friday, 8:00 a.m. - 9:20 a.m.

Office Hours: We will be using OHQueue (11-785) for both zoom and in-person office hours. Please refer the below OH Calendar / Piazza for up-to-date information.

Homework Hackathon: During 'Homework Hackathons', students will be assisted with homework by the course staff. It is recommended to come as study groups.
Aug 31

Every Other Saturday

Event Calendar: The Google Calendar below contains all course events and deadlines for student's convenience. Please feel free to add this calendar to your Google Calendar by clicking on the plus (+) button on the bottom right corner of the calendar below. Any adhoc changes to the schedule will be reflected in this calendar first.


OH Calendar: The Google Calendar below contains the schedule for Office Hours. Please feel free to add this calendar to your Google Calendar by clicking on the plus (+) button on the bottom right corner of the calendar below. Any adhoc changes to the schedule will be reflected in this calendar first.


Syllabus

Policy
Breakdown
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
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 48 hours later.
  • Quizzes are scored by the number of correct answers.
  • Quizzes will be worth 24% of your overall score.
Assignments
Assignments There will be five assignments in all, plus the Peer Review assignment during the last week of the semester. Assignments will include Autolab components, where you implement low-level operations, and a Kaggle component, where you compete with your colleagues over relevant DL tasks.
  • 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 10 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.
    • 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, with each of the four HWs being 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.
  • Bonus HWs will count towards the score of the correlating HWp1 assignment number. (For example, Bonus1 points go towards HW1p1.)
  • The Peer Review assignment is required of all students, 11-485/685/785. The task is for all students to review and grade 4-6 of the videos. It is to be completed over the last weekend, after classes finish (but before finals week). We will tell you which projects you have been assigned to review; each review should take around 15~20 minutes. Here is what we expect you to do for each review:
  • Watch the video carefully. As you watch the video, jot down some notes/concerns/questions that you might have.
  • Reference the initial report to clear up any confusion.
  • You must post at least one comment to the corresponding Piazza post of your reviewee. This comment must be a meaningful question or concern that demonstrates you have understood the material.
  • Finally, fill out the project review form carefully. More details will be shared over Piazza.
Project
Project
  • 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 students. In the event of a catastrophe (remember Spring 2020), the Project may be substituted with HW5. 11-685 Students may choose to do a Project instead of HW5. Either your Project OR HW5 will be graded.
  • Important information for project reports and video presentations (including midterm report rubric, final report rubric, video timeline, and video grading): Link.
Attendance
Attendance
  • 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 must watch lectures live on zoom. Real-time viewing is mandatory unless you are in inconvenient time zones. Others are required to obtain specific permission to watch the pre-recorded lectures (on MediaServices).
  • If viewed on MediaServices, the lectures of each week must be viewed before Monday 8AM of the following week (otherwise, it doesn’t count).
  • At the end of the semester, we will select a random subset of 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
    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
    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

    We believe that effective collaboration can greatly enhance student learning. Thus, this course employs study groups for both quizzes and homework ablations. It is highly recommended that you join a study group; Check piazza for further updates.

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

    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.

    MediaServices/YouTube: Lecture and Recitation Recordings

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

    Our YouTube Channel 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 MediaServices.
    Lecture Date Topics Slides, Videos Additional Materials Quiz
    0 Monday,
    Aug 05
    • Course Logistics
    • Learning Objectives
    • Grading
    • Deadlines
    No Quiz
    1 Monday,
    Aug 26
    • Introduction
    Quiz 1
    2 Wednesday,
    Aug 28
    • Neural Nets As Universal Approximators
    3 Wednesday,
    Sep 04
    • Training Part I
      • The Problem of Learning
      • Empirical Risk Minimization
    Quiz 2
    4 Friday,
    Sep 06
    • Training Part II
      • Gradient Descent
      • Training the Network
      • Backpropagation
    5 Monday,
    Sep 09
    • Training Part III
      • Backpropagation
      • Calculus of Backpropagation
    Quiz 3
    6 Wednesday,
    Sep 11
    • Training Part IV
      • Convergence issues
      • Loss Surfaces
      • Momentum
    7 Monday,
    Sep 16
    • Training Part V
      • Optimization
      • Batch Size, SGD, Mini-batch, Second-order Methods
    Quiz 4
    8 Wednesday,
    Sep 18
    • Training Part VI
      • Optimizers and Regularizers
      • Choosing a Divergence (Loss) Function
      • Batch Normalization
      • Dropout
    9 Monday,
    Sep 23
    • Shift Invariance
    • Convolutional Neural Networks (CNNs)
    Quiz 5
    10 Wednesday,
    Sep 25
    • Models of Vision and CNNs
    11 Monday,
    Sep 30
    • Learning in CNNs
    Quiz 6
    12 Wednesday,
    Oct 02
    • Learning in CNNs
    • Transpose Convolution
    • CNN Stories
    13 Monday,
    Oct 07
    • Time Series and Recurrent Networks
    Quiz 7
    14 Wednesday,
    Oct 09
    • Stability and Memory, LSTMs
    - Monday,
    Oct 14
    • No Class - Fall Break
    Quiz 8
    - Wednesday,
    Oct 16
    • No Class - Fall Break
    15 Monday,
    Oct 21
    • Sequence Prediction
    • Alignments and Decoding
    Quiz 9
    16 Wednesday,
    Oct 23
    • Sequence Prediction
    • Connectionist Temporal Classification
      • Blanks
      • Beam Search
    17 Monday,
    Oct 28
    • Language Models
    • Sequence To Sequence Predictions
    Quiz 10
    18 Wednesday,
    Oct 30
    • Sequence To Sequence Models
    • Attention
    19 Monday,
    Nov 04
    • Transformers and Newer Architectures
    Quiz 11
    20 Wednesday,
    Nov 06
    • Large Language Models
    21 Monday,
    Nov 11
    • Representation and Autoencoders
    Quiz 12
    22 Wednesday,
    Nov 13
    • Variational Auto Encoders I
    23 Monday,
    Nov 18
    • Variational Auto Encoders II
    Quiz 13
    24 Wednesday,
    Nov 20
    • Diffusion
    Quiz 14
    25 Monday,
    Nov 25
    • Generative Adversarial Networks I and II
    26 Monday,
    Dec 02
    • Graph Neural Networks
    No Quiz
    27 Wednesday,
    Dec 04
    • Hopfield Networks
    • Boltzmann Machines

    Recitations and Bootcamps

    Recitation Date Group Topics Materials Youtube Videos Instructor
    0A Monday,
    Aug 05
    Python Programming Python Fundamentals

    Eman Ansar,
    Yichen Xin
    0B OOP Fundamentals

    Eman Ansar
    0C Numpy Fundamentals

    Yichen Xin
    0D Notebooks and Conda Environments

    Yuzhou Wang,
    Yichen Xin
    0E PyTorch PyTorch Part 1

    Purusottam Samal,
    Khushali Daga
    0F PyTorch Part 2

    NIYIBIGIRA Geredi,
    Angela Chen
    0G Computational Resources Available Compute and Google Colab

    Angela Chen,
    Zhiheng(Andy) Ye
    0H Google Cloud

    Syed Abdul Hannan,
    Angela Chen
    0I AWS

    Leo Xu,
    Ketan Chaudhary
    0J Kaggle

    Zhiheng Ye,
    NIYIBIGIRA Geredi
    0K Data Handling and Processing Datasets

    Purusottam Samal,
    ChooWon Sir
    0L Dataloaders

    Ketan Chaudhary,
    Hao Chen
    0M Data Preprocessing

    Yichen Xin,
    Harshith
    0N Debugging and Problem Solving Debugging

    Khushali Daga,
    Harshith Kumar
    0O What to Do When Struggling

    Yuzhou Wang
    0P Cheating

    Zhiheng(Andy) Ye,
    Eman Ansar
    0Q HWs and Project Workflow Management Workflow of HWs

    Alexander Moker,
    Syed Abdul Hannan
    0R Weights and Biases (WandB)

    Nebiyou Hailemariam,
    Purusottam Samal
    0S Git

    Syed Abdul Hannan,
    Nebiyou Hailemariam
    0T Flow of the Project

    ChooWon Sir,
    Yuzhou Wang
    0U Writing a Report

    NIYIBIGIRA Geredi,
    Ketan Chaudhary
    0V Algorithmic Techniques Losses

    Leo Xu,
    ChooWon Sir
    0W Block Processing

    Harshith Kumar
    0X Model Logistics Paper To Code

    Hao Chen
    0Y Pipeline

    Alexander Moker,
    Nebiyou Hailemariam
    0Z Distributed Training

    Leo Xu,
    Hao Chen
    0AA Saving and Loading Model Checkpoint

    Alexander Moker,
    Khushali Daga

    Assignments

    Assignment Release Date (EST) Due Date (EST) Related Materials / Links
    HW1P1 Wednesday, Aug 28 11:59 PM Early Deadline: Friday, Sep 06 11:59 PM
    On-Time Deadline: Friday, Sep 20 11:59 PM

    HW1P2

    HW1P1 Bonus Sunday, Dec 08 11:59 PM

    HW1P1 Autograd Sunday, Dec 08 11:59 PM

    HW2P1 Friday, Sep 20 11:59 PM Early Deadline: Friday, Oct 04 11:59 PM
    On-Time Deadline: Saturday, Oct 12 11:59 PM

    HW2P2

    HW2P1 Bonus Sunday, Dec 08 11:59 PM

    HW2P1 Autograd Sunday, Dec 08 11:59 PM

    HW3P1 Monday, Oct 21 11:59 PM Early Deadline: Friday, Nov 01 11:59 PM
    On-Time Deadline: Friday, Nov 08 11:59 PM

    HW3P2

    HW4P1 Friday, Nov 08 11:59 PM Early Deadline: Friday, Nov 22nd 11:59 PM
    On-Time Deadline: Friday, Dec 06 11:59 PM
    HW4P2

    Documentation and Tools

    Textbooks

    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