Assignment | Deadline | Description | Links | |
---|---|---|---|---|
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: 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.
Jan. 20th
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.
Recitation | Date | Group | Topics | Materials | Youtube Videos | Instructor |
---|---|---|---|---|---|---|
0A | Tuesday, Jan. 9th |
Python Programming | Python Fundamentals |
Slides Colab Notebook |
Yuzhou Wang, Harini Subramanyan |
|
0B | OOP Fundamentals | Colab Notebook | Kateryna Shapovalenko, Aarya Makwana |
|||
0C | Numpy Fundamentals |
Broadcasting Colab Notebook (Part I, II, III) Broadcasting Pitfalls (Part IV) Numpy Exercises |
Heena Chandak, Shreya Ajay Kale |
|||
0D | PyTorch | PyTorch Fundamentals |
Colab Notebook PyTorch Cheatsheet |
Jeel Shah, Rucha Manoj Kulkarni |
||
0E | Computational Resources | Available Compute and Google Colab | Colab Notebook | Yu-Cheng "Samuel" Lin, Aarya Makwana |
||
0F | Google Cloud | Setup Shell File | Syed Abdul Hannan, Ishan Mamadapur |
|||
0G | AWS | Liangze "Josh" Li | ||||
0H | Kaggle | Alexander Moker | ||||
0I | Data Handling and Processing | Datasets | Colab Notebooks: 1, 2 | Quentin Auster, Heena Chandak |
||
0J | Dataloaders | Colab Notebook | Chetan Chilkunda, Dareen Safar Alharthi |
|||
0K | Data Preprocessing | Colab Notebook | Kateryna Shapovalenko, Gabrial Zencha Ashungafac |
|||
0L | Debugging and Problem Solving | Debugging |
Colab Notebook (Part I) Colab Notebook (Part III) |
Syed Abdul Hannan, Harshith Arun Kumar |
||
0M | What to Do When Struggling | Quentin Auster, Ishan Mamadapur |
||||
0N | Cheating | Harini Subramanyan, Pavitra Kadiyala |
||||
0O | HWs and Project Workflow Management | Workflow of HWs | Colab Notebook | Shreya Ajay Kale, Pavitra Kadiyala |
||
0P | Weights and Biases (WandB) | Colab Notebook Exercises | Chetan Chilkunda, Liangze "Josh" Li |
|||
0Q | Git | Harshit Mehrotra | ||||
0R | Flow of the Project | Denis Musinguzi, Sarthak Bisht |
||||
0S | Writing a Report | Jinhyung David Park, Rukayat Sadiq |
||||
0T | Algorithmic Techniques | Losses | Colab Notebook | Jeel Shah, Dareen Safar Alharthi |
||
0U | Block Processing | Colab Notebook | Alexander Moker, Denis Musinguzi |
|||
Lab 1 | Saturday, Jan. 20th |
Your First MLP |
Slides
Colab Notebook |
Link |
Yu-Cheng "Samuel" Lin, Alexander Moker, Rucha Manoj Kulkarni |
|
HW1 Bootcamp | HW1P1, HW1P2 | Slides | ||||
Lab 2 | Saturday, Jan. 27th |
Ablations, Hyperparameter Tuning Methods, Normalizations |
Slides
Workbook |
Link |
Jeel Shah, Harini Subramanyan, Yu-Cheng "Samuel" Lin |
|
Lab 3 | Friday, Feb. 2nd |
Debugging Deep Learning Networks | Slides | Link |
Kateryna Shapovalenko, Harshith Arun Kumar, Ishan Mamadapur, Quentin Auster |
|
Lab 4 | Friday, Feb. 9th |
Computing Derivatives and Autograd | Slides | Link |
Liangze Li, Dareen Safar Alharthi, Shreya Ajay Kale |
|
HW2 Bootcamp | Saturday, Feb. 10th |
HW2P1, HW2P2 |
HW2P1 Slides, HW2P2 Slides |
Link |
Chetan Chilkunda, Heena Chandak, Ishan Mamadapur, Kateryna Shapovalenko, Syed Abdul Hannan |
|
Lab 5 | Saturday, Feb. 17th |
CNN: Basics and Backprop |
Slides |
Link |
Denis Musinguzi, Syed Abdul Hannan, Miya Sylvester |
|
Lab 6 | Friday, Feb. 23rd |
CNN: Classification and Verification | Slides | Link |
Ishan Mamadapur, Shreya Ajay Kale, Aarya Makwana, Sarthak Bisht |
|
Lab 7 | Friday, Feb. 30th |
RNN Basics |
Notebook, Slides (PDF) |
Link |
Miya Sylvester, Harshit Mehrotra |
|
Lab 8 | TBA | Kaggle Competitions and Using Pre-Trained Models |
Notebook, |
Link |
Jeel Shah, Chetan Chilkunda, Sarthak Bisht |
|
HW3 Bootcamp | Saturday, Mar. 9th |
HW3P1, HW3P2 | HW3P1 Slides HW3P2 Slides | Link |
Harini Subramanyan, Rucha Manoj Kulkarni, Jeel Shah, Harshit Mehrotra, Shreya Ajay Kale, Alexander Moker, Pavitra Kadiyala |
|
Lab 9 | Friday, Mar. 15th |
CTC and Beam Search |
Slides (PDF) |
Link |
Harini Subramanyan, Quentin Auster, Gabrial Zencha Ashungafac |
|
Lab 10 | Friday, Mar. 22nd |
Attention, Machine Translation, Speech to Text |
Slides (PDF) |
Link |
Rucha Manoj Kulkarni, Pavitra Kadiyala, Heena Chandak |
|
Lab 11 | Friday, Mar. 29th |
Transformers |
Notebook 1, Notebook 2 |
Links: 1, 2 |
Quentin Auster, Kateryna Shapovalenko, Vishhvak Srinivasan |
|
Lab 12 | Friday, Apr. 5th |
Variational Autoencoders (VAE) |
Slides (PDF) |
Link |
Dareen Safar Alharthi, Yuzhou Wang, Harshith Arun Kumar |
|
Lab 13 | Friday, Apr. 12th |
NF and Stable Diffusion |
Materials (Google Drive) |
Link |
. Syed Abdul Hannan, Vishhvak Srinivasan, Yuzhou Wang |
|
Lab 14 | Friday, Apr. 19th |
Generative Adversarial Networks (GANs) |
Notebook |
Link |
Chetan Chilkunda, Harshit Mehrotra, Aarya Makwana |
|
Lab 15 | Friday, Apr. 26th |
Graph Neural Networks (GNNs) |
Materials (Google Drive) |
Link |
Denis Musinguzi, Heena Chandak, Gabrial Zencha Ashungafac |
Assignment | Release Date (EST) | Due Date (EST) | Related Materials / Links |
---|---|---|---|
HW1P1 | Friday, Jan. 19th 11:59 PM |
Early Deadline: Friday, Jan. 26th 11:59 PM On-Time Deadline: Friday, Feb. 9th 11:59 PM |
|
HW1P2 | |||
HW1P1 Bonus | Saturday, Mar. 2nd 11:59 PM | ||
HW1P1 Autograd | Saturday, Mar. 9th 11:59 PM | ||
HW2P1 | Friday, Feb. 9th 11:59 PM |
Early Deadline: Friday, Feb. 23rd 11:59 PM On-Time Deadline: Friday, Mar. 8th 11:59 PM |
|
HW2P2 | |||
HW2P1 Bonus | Saturday, Mar. 23rd 11:59 PM | ||
HW2P1 Autograd | Saturday, Mar. 30th 11:59 PM | ||
HW3P1 | Friday, Mar. 8th 11:59 PM |
Early Deadline: Friday, Mar. 15th 11:59 PM On-Time Deadline: Friday, Mar. 31st 11:59 PM |
|
HW3P2 | |||
HW4P1 | Friday, Mar. 31th 11:59 PM |
Early Deadline: Friday, Apr. 10th 11:59 PM On-Time Deadline: Friday, Apr. 26th 11:59 PM |
Autolab, Piazza |
HW4P2 |
Autolab, Piazza |
This is a selection of optional textbooks you may find useful