Assignment | Deadline | Description | Links | |
---|---|---|---|---|
HW1P1 |
Early Submission: Friday, Jan 24 11:59 PM ET Final Submission: Friday, Feb 7 11:59 PM ET |
Linear Layers, Activations, and Loss Functions | ||
HW1P2 |
Early Submission: Friday, Jan 24 11:59 PM ET Final Submission: Friday, Feb 7 11:59 PM ET |
Time-Synchronous MFCC to Phoneme Mapping | ||
HW1P1 Bonus |
Final Submission: Friday, Apr 25 11:59 PM ET |
Adam, AdamW Optimizers and Dropout | ||
HW1P1 Autograd |
Final Submission: Friday, Apr 25 11:59 PM ET |
Automatic Differentiation Engine | ||
Project Gallery |
“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.
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.
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.
Instructors:
TAs:
Wall of fame
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: 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.
Every 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.
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.
|
|
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.
|
|
Project | ||
Project |
|
|
Attendance | ||
Attendance |
|
|
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 |
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 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
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 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.
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.
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.
Lecture | Date | Topics | Slides, Videos | Additional Materials | Quiz |
---|---|---|---|---|---|
0 | Friday, Jan 03 |
|
Youtube |
No Quiz | |
1 | Monday, Jan 13 |
|
Slides (PDF) MediaServices Youtube |
The New Connectionism (1988)
On Alan Turing's Anticipation of Connectionism McCullogh and Pitts paper Rosenblatt: The perceptron Bain: Mind and body Hebb: The Organization Of Behaviour |
Quiz 1 |
2 | Wednesday, Jan 15 |
|
Slides (PDF) MediaServices Youtube |
Shannon (1949) Boolean Circuits On the Bias-Variance Tradeoff |
|
3 | Friday, Jan 17 |
|
Slides (PDF) Youtube |
Widrow and Lehr (1992) Adaline and Madaline |
Quiz 2 |
- | Monday, Jan 20 |
|
|||
4 | Wednesday, Jan 22 |
|
Widrow and Lehr (1992) Adaline and Madaline Convergence of perceptron algorithm Threshold Logic TC (Complexity) AC (Complexity) |
||
5 | Monday, Jan 27 |
|
Werbos (1990) Rumelhart, Hinton and Williams (1986) |
Quiz 3 | |
6 | Wednesday, Jan 29 |
|
Backprop fails
to separate, where perceptrons succeed, Brady et al. (1989) Why Momentum Really Works |
||
7 | Monday, Feb 3 |
|
Momentum, Polyak (1964) Nestorov (1983) Derivatives and Influences |
Quiz 4 | |
8 | Wednesday, Feb 5 |
|
Derivatives and Influence Diagrams ADAGRAD, Duchi, Hazan and Singer (2011) Adam: A method for stochastic optimization, Kingma and Ba (2014) |
||
9 | Monday, Feb 10 |
|
Quiz 5 | ||
10 | Wednesday, Feb 12 |
|
|||
11 | Monday, Feb 17 |
|
CNN Explainer | Quiz 6 | |
12 | Wednesday, Feb 19 |
|
|||
13 | Monday, Feb 24 |
|
Fahlman and Lebiere (1990) How to compute a derivative, extra help for HW3P1 (*.pptx) |
Quiz 7 | |
14 | Wednesday, Feb 26 |
|
|||
- | Monday, Mar 3 |
|
|||
- | Wednesday, Mar 5 |
|
|||
15 | Monday, Mar 10 |
|
Quiz 8 | ||
16 | Wednesday, Mar 12 |
|
|||
17 | Monday, Mar 17 |
|
Quiz 9 | ||
18 | Wednesday, Mar 14 |
|
|||
19 | Monday, Mar 24 |
|
Quiz 10 | ||
20 | Wednesday, Mar 26 |
|
|||
21 | Monday, Mar 31 |
|
Quiz 11 | ||
22 | Wednesday, Apr 02 |
|
|||
23 | Monday, Apr 07 |
|
Quiz 12 | ||
24 | Wednesday, Apr 09 |
|
|||
25 | Monday, Apr 14 |
|
Quiz 14 | ||
26 | Wednesday, Apr 16 |
|
|||
27 | Monday, Apr 21 |
|
|||
28 | Wednesday, Apr 23 |
|
Recitation | Date | Group | Topics | Materials | Youtube Videos | Instructor |
---|---|---|---|---|---|---|
0.1 | Monday, Jan 02 |
Python Programming + Pytorch | Python + OOP Fundamentals |
Python Fundamentals OOP Fundamentals |
Eman Ansar, Yichen Xin, Carmel Prosper SAGBO |
|
0.2 | Numpy Fundamentals + JAX |
Numpy Notebook Broadcasting Pitfalls & JAX Notebook |
Numpy-1, |
Shubham Singh, Michael Kireeff |
||
0.3 | Notebooks and Conda Environments | Vishan Tanghang, Elvis Tata |
||||
0.4 | Pytorch | Pytorch Notebook | Shravanth Srinivas, Vishan Oberoi |
|||
0.5 | Computational Resources | Google Cloud Platform | VM Setup Script | Alexander Moker, John Liu |
||
0.6 | Google Colab | Notebook | Shubham Kachroo, Sadrishya Agrawal |
|||
0.7 | AWS | AWS Notebook | Tanghang Elvis Tata, Peter Wauyo |
|||
0.8 | Kaggle | AWS Notebook | Olatunji Damilare E., Floris Nzabakira |
|||
0.9 | PSC | Alexander Moker, Shrey Jain |
||||
0.10 | Data Handling and Processing | Datasets & Dataloaders |
Datasets P1 Notebook, Datasets P2 Notebook, Dataloader Notebook |
Vedant Singh, Christine Muthee |
||
0.11 | Data Preprocessing |
Audio Preprocessing Notebook, Image Preprocessing Notebook |
Vedant Singh, Eman Ansar |
|||
0.12 | Debugging and Problem Solving | Debugging |
Debugging Notebook (Part I) Debugging Notebook (Part III) |
Khushali Daga, Romerik Lokossou |
||
0.13 | What to Do When Struggling | Christine Muthee, Shravanth Srinivas |
||||
0.14 | HWs and Project Workflow Management | Workflow of HWs | Alexander Moker, Syed Abdul Hannan |
|||
0.15 | Wandb | WandB Notebook | Floris Nzabakira, Ahmed Issah |
|||
0.16 | Git | Sadrishya Agrawal, Shubham Kachroo |
||||
0.17 | Flow of the Project & How to Write a Report | Olatunji Damilare E., Yuzhou Wang |
||||
0.18 | Algorithmic Techniques | Losses |
Losses P1 Notebook, Losses P2 Notebook |
Massa Baali, Shrey Jain |
||
0.19 | Block Processing | Block Processing Notebook | Puru Samal, Eman Ansar |
|||
0.20 | Model Logistics | Paper to Code | Notebook | Massa Baali, Peter Wauyo |
||
0.21 | Pipeline | Puru Samal | ||||
0.22 | Distributed Training | Ishita Gupta, Harshith Arun Kumar |
||||
0.23 | Saving & Loading Model (Checkpointing) | Saving & Loading Notebook | Ahmed Issah, John Liu |
|||
Lab 1 | Saturday, Jan. 18th |
Your First MLP | Colab Notebook |
Miya Sylvester, Vedant Singh |
||
HW1 Bootcamp | HW1P1, HW1P2 | Slides | Shubham Singh, Shubham Kachroo, Shravanth Srinivas, Issah Ahmed, Vishan Oberoi |
Assignment | Release Date (EST) | Due Date (EST) | Related Materials / Links |
---|---|---|---|
HW1P1 | Friday, Jan 17 11:59 PM |
Early Deadline: Friday, Jan 24 11:59 PM On-Time Deadline: Friday, Feb 7 11:59 PM |
|
HW1P2 | |||
HW1P1 Bonus | Friday, Apr 25 11:59 PM | ||
HW1P1 Autograd | Friday, Apr 25 11:59 PM | ||
HW2P1 | Friday, Feb 7 11:59 PM |
Early Deadline: Friday, Feb 21 11:59 PM On-Time Deadline: Saturday, Mar 1 11:59 PM |
|
HW2P2 | |||
HW2P1 Bonus | Friday, Apr 25 11:59 PM | ||
HW2P1 Autograd | Friday, Apr 25 11:59 PM | ||
HW3P1 | Saturday, Mar 1 11:59 PM |
Early Deadline: Friday, Mar 14 11:59 PM On-Time Deadline: Friday, Mar 28 11:59 PM |
|
HW3P2 | |||
HW4P1 | Friday, Mar 28 11:59 PM |
Early Deadline: Friday, Apr 11 11:59 PM On-Time Deadline: Friday, Apr 25 11:59 PM |
|
HW4P2 |
This is a selection of optional textbooks you may find useful