10707 - Deep Learning, Spring 2021


Andrej Risteski

Email: aristesk [at] andrew [dot] cmu [dot] edu

Course Outline

Models that are capable of extracting complex, hierarchical representations from high-dimensional data lie at the core of solving many ML and AI domains, such as visual object recognition, information retrieval, natural language processing, and speech perception. While the usefulness of such deep learning techniques is undisputed, our understanding of them is still in many ways nascent. The goal of this course is to introduce students to recent and exciting developments (both theoretical and practical) in these methods.
This is an advanced graduate course, designed for Masters and Ph.D. level students, and will assume a substantial degree of mathematical maturity.

This course covers some of the theory and methodology of deep learning. The preliminary set of topics to be covered include:


Time and Location
Monday, Wednesday 12:20pm - 1:40pm
Contact Information
If you have a question, to get a response from the teaching staff quickly we strongly encourage you to post it to the class Piazza forum. For private matters, please make a private note visible only to the course instructors or contact the course Education Associate Fatima Jeffrey (fjeffrey@andrew.cmu.edu). For longer discussions with TAs and to get help in person, we strongly encourage you to come to office hours.
Office Hours
Office hours can be found here.
Education Associate
Fatima Jeffrey
Teaching Assistants
Amartya Basu
Bingbin Liu
Eagle Zhao
Tanya Marwah
George Cazenavette
Students are expected to have:
  • Mathematical maturity as well as a strong background in linear algebra, machine learning, and statists and probability theory.
  • Successfully taken 10315, 10401, 10715, 10701 or 10601.
  • A basic understanding of coding (Python preferred) as this will be a coding intensive course.
Course Materials
Homework assignments will be announced on Piazza when released. Slides will be posted periodically on the course website. The instructor will try to upload slides before class, and additional readings will be posted whenever possible.


Mar 29: 3-page proposal on the class project
May 7: Final projects are due, 8-pages (+ unlimited appendix for figures + proofs)
Project info
General project instructions: pdf.
Slightly modified NIPS style file and example paper for latex (sty) (tex) and formatting guide (pdf)
Please note that 8 pages is a hard upper limit on length. You can use appendices for proofs and additional figures. You should assume the main part will be read carefully, and the appendices will be skimmed.

Assignments and Grading

Assignments: There will be two types of assignments -- problem sets (written, mathematical in nature) and coding assignments. The tentative schedule of release and due dates can be seen in the Syllabus. Latex templates will be released with the homework for students to complete with their solutions.
Project: The course will have one project, to be completed by the end of the semester. It will give you an opportunity to explore a deep learning area of particular interest. You will work in groups of 2 (exceptions may be granted on a case-by-case basis). You can explore an applied project (pick an interesting dataset/task, apply an existing approach for a baseline, and improve it) or a foundational/theoretical project (design controlled experiments to explore some phenomenon, or prove a theoretical result to elucidate some aspect of deep learning).
Course grades: The grade for this course will be made up of assignments (70% in total) and one final project (30%). The breakdown of assignments are as follows:

  • Assignment 1 - 11.6%
  • Assignment 2 - 6%
  • Assignment 3 - 11.6%
  • Assignment 4 - 6%
  • Problem Set 1 - 11.6%
  • Problem Set 2 - 11.6%
  • Problem Set 3 - 11.6%
Homework Assignments
The assignments are to be done by each student individually. You may discuss the general idea of the questions with anyone you like, but your discussion may not include the specific answers to any of the problems and when writing your solutions you must close all notes and write the answer entirely yourself.
Submitting Assignments
Assignments will be submitted through Gradescope. Writeups should be typeset in Latex and should be submitted in PDF form. All code should be submitted with a README file with instructions on how to execute your code. You will receive an invite to Gradescope for 10707 Deep Learning Spring 2021 by 02/03/2021. Login via the invite. If you have not received an invite, please email Fatima Jeffrey (fjeffrey@andrew.cmu.edu) with details of your Andrew email address and your full name.
As a general rule, matters of marking on assignments and exams (apparent errors, questions about evaluation criteria, etc.) should be taken to the marker (via Gradescope Regrade Request).
Attendance at recitations (Friday sessions) is not required, but strongly encouraged. These sessions will cover in more detail topics that were glossed over in lectures, or provide guidance on the programming assignments. If you are unable to attend one or you missed an important detail, feel free to stop by office hours to ask the TAs about the content that was covered. Of course, we also encourage you to exchange notes with your peers.

General Policies

Grace Day/Late Homework Policy
Homeworks: Each student will have a total of 7 grace days that a student may choose to apply to the homework assignments. No more than 3 grace days can be used on any single assignment. There will be no late days allowed for the projects (either for the proposal or final project.)
Homeworks submitted late when the student has no Grace days remaining or 3 days past the deadline will be given a score of 0.

In general, we do not grant extensions on assignments. There are several exceptions:

For any of the above situations, you may request an extension by emailing the Educational Associate Daniel Bird at dpbird@andrew.cmu.edu – do not email the instructor or TAs. The email should be sent as soon as you are aware of the conflict and at least 5 days prior to the deadline. In the case of an emergency, no notice is needed.

Audit Policy

Official auditing of the course (i.e. taking the course for an “Audit” grade) is permitted this semester with permission from the instructor.

Pass/Fail Policy

We allow you take the course as Pass/Fail. Instructor permission is not required. What grade is the cutoff for Pass will depend on your program. Be sure to check with your program / department as to whether you can count a Pass/Fail course towards your degree requirements.

Accommodations for Students with Disabilities:

If you have a disability and have an accommodation letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with Fatima Jeffrey (fjeffrey@andrew.cmu.edu) as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

Academic Integrity Policies

Read this carefully!

(Adapted from Roni Rosenfeld’s 10-601 Spring 2016 Course Policies.)

Collaboration among Students
Previously Used Assignments

Some of the homework assignments used in this class may have been used in prior versions of this class, or in classes at other institutions, or elsewhere. Solutions to them may be, or may have been, available online, or from other people or sources. It is explicitly forbidden to use any such sources, or to consult people who have solved these problems before. It is explicitly forbidden to search for these problems or their solutions on the internet. You must solve the homework assignments completely on your own. We will be actively monitoring your compliance. Collaboration with other students who are currently taking the class is allowed, but only under the conditions stated above.

Policy Regarding “Found Code”:

You are encouraged to read books and other instructional materials, both online and offline, to help you understand the concepts and algorithms taught in class. These materials may contain example code or pseudo code, which may help you better understand an algorithm or an implementation detail. However, when you implement your own solution to an assignment, you must put all materials aside, and write your code completely on your own, starting “from scratch”. Specifically, you may not use any code you found or came across. If you find or come across code that implements any part of your assignment, you must disclose this fact in your collaboration statement.

Duty to Protect One’s Work

Students are responsible for pro-actively protecting their work from copying and misuse by other students. If a student’s work is copied by another student, the original author is also considered to be at fault and in gross violation of the course policies. It does not matter whether the author allowed the work to be copied or was merely negligent in preventing it from being copied. When overlapping work is submitted by different students, both students will be punished.

To protect future students, do not post your solutions publicly, neither during the course nor afterwards.

Penalties for Violations of Course Policies

All violations (even first one) of course policies will always be reported to the university authorities (your Department Head, Associate Dean, Dean of Student Affairs, etc.) as an official Academic Integrity Violation and will carry severe penalties.

  1. The penalty for the first violation is a one-and-a-half letter grade reduction. For example, if your final letter grade for the course was to be an A-, it would become a C+.

  2. The penalty for the second violation is failure in the course, and can even lead to dismissal from the university.


Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

If you have questions about this or your coursework, please let the instructors know.

Contact Information

Email: fjeffrey [at] andrew [dot] cmu [dot] edu