CS 4644 / 7643 Deep Learning

Spring 2024, Wed/Fri 12:30pm - 1:45 pm, Clough UG Learning Commons 152


Course Information

This is an exciting time to be studying (Deep) Machine Learning, or Representation Learning, or for lack of a better term, simply Deep Learning!

Deep Learning is rapidly emerging as one of the most successful and widely applicable set of techniques across a range of domains (vision, language, speech, reasoning, robotics, AI in general), leading to some pretty significant commercial success and exciting new directions that may previously have seemed out of reach. With the recent advances in large language models (LLMs) and successful commercial deployments, the hype of these techniques continue to grow.

This course will introduce students to the basics of Neural Networks (NNs) and expose them to some cutting-edge research. It is structured in modules (background, Convolutional NNs, Structured Neural Representations including Attention-base Models and Transformers, Deep Reinforcement Learning, and Generative Models). Modules will be presented via instructor lectures and reinforced with homeworks that teach theoretical and practical aspects. The course will also include a project which will allow students to explore an area of Deep Learning that interests them in more depth.



Class Info & Links

Lectures: Wed/Fri 12:30 pm - 1:45 pm, Clough UG Learning Commons 152
Zoom: https://gatech.zoom.us/j/94470171527
Piazza: https://piazza.com/gatech/spring2024/cs4644acs7643a (code available via Canvas)
Canvas
CS4644: https://gatech.instructure.com/courses/371832
CS7643: https://gatech.instructure.com/courses/371882
Gradescope
CS4644: https://www.gradescope.com/courses/696383
CS7643: https://www.gradescope.com/courses/696381

Tentative Schedule (subject to changes)

Date Topic Optional Reading
W1: Jan 10 Intro lecture + class logistics.
Slides (PDF)
PS0 (PDF, latex, coding) is due 11:59pm Jan 14th (NO grace period).

IMPORTANT: All students MUST complete PS0! This is true even if you are currently on the waitlist and likely to get in! PS0 is on Canvas and can be accessed above as well. See FAQ and qualtrics survey below for gradescope access if you are not registered.
W1: Jan 12 Machine learning intro, applications (CV, NLP, etc.), parametric models and their components
Slides (PDF)
PS0/HW0 due Jan 14th 11:59pm EST.
PS1/HW1 Released Jan 14th, Due Feb 2nd 11:59pm (grace period Feb 4th)
W2: Jan 17 Supervised Learning, Linear Classification, Loss functions, Gradient Descent
Slides (PDF)
Supervised Learning notes

W2: Jan 19 Gradient Descent, Backpropagation
Slides (PDF)

W3: Jan 24 Neural Networks, Backpropagation, Linear Algebra View
Slides (PDF)
Gradients notes
MLP/ReLU Jacobian notes
W3: Jan 26 Backpropagation, Jacobians, Autodiff
Slides (PDF)

Forward/Reverse Autodiff Examples
W4: Jan 31 Automatic Differentiation recap, activation functions, optimization
Slides (PDF)
W4: Feb 2 Optimization, Convolution Layers
Slides (PDF)
PS1/HW1 due Feb 2nd 11:59pm (grace period until Feb 4th 11:59pm), PS2/HW2 out (due Feb 19th)
W5: Feb 7 Convolutions Cont., Convolution Gradients
Slides (PDF)
CNNs notes, CNNs Backprop notes.
W5: Feb 9 Pooling, Convolutional Neural Networks (CNNs)
Slides (PDF)
W6: Feb 14 CNNs continued, Regularization, Augmentation, Transfer Learning
Slides (PDF)
W6: Feb 16 Intro to Structured Neural Representations, Recurrent Neural Networks
Slides (PDF)
PS2/HW2 due Feb 19th 11:59pm (grace period Feb 21th), PS3/HW3 out (due Mar 9th)
W7: Feb 21 Recurrent Neural Networks, Long Short-Term Memory
Slides (PDF)
W7: Feb 23 Attentions and Transformers
Slides (PDF)
W8: Feb 28 Transformers Cont. and Vision Transformers
Slides (PDF)
W8: Mar 1
Generative Models (Part I): Generative Adversarial Networks
Slides (PDF)
;
W9: Mar 6 Project Planning Session
W9: Mar 8 Generative Models (Part II): Diffusion Models
Slides (PDF)
PS3/HW3 due Mar 9th 11:59pm (grace period Mar 11th), PS4/HW4 out (due Apr 4th)
W10: Mar 13 Guest Lecture (Mido Assran, Meta) - Deep Denoising Models for Visual Representation Learning
Slides (PDF)
W10: Mar 15 Guest Lecture (Michael Auli) - Self-supervised Learning for Audio
Slides (PDF)
Project Proposal Due Mar 17th 11:59pm
W11: Mar 20 Spring Break
W11: Mar 22 Spring Break
W12: Mar 27 Variational Autoencoders (VAEs)
Slides (PDF)
W12: Mar 29 Large Language Models (William Held)
Slides (PDF)
W13: Apr 3 RL background.
PS4/HW4 due Apr 4th (grace period Apr 6th)
Slides (PDF)
W13: Apr 5 RL: RL Part 2 - Q-Learning, DQN, Policy Gradient.
Slides (PDF)
  • Notes on Q-learning (courtesy Byron Boots)
  • W14: Apr 10 RL: Policy Gradients, REINFORCE, Actor-Critic, Large Language Model Reinforcement Learning from Human Feedback.
    Slides (PDF)
  • Policy iteration notes (courtesy Byron Boots)
  • Policy gradient notes (courtesy Byron Boots)
  • W14: Apr 12 Visualization and Interpretability
    Slides (PDF)
    W15: Apr 17 Vision-Language Models
    Slides (PDF)
    W15: Apr 19 Fairness/Bias Discussion, open topics not covered, Wrap-up
    Slides (PDF)
    Final Project Due April 29 11:59pm (grace period May 1st)

    Grading

    • 72% Homework (4 homeworks)
    • 28% Final Project
    • 1% (potential bonus) Class Participation: top endorsed answers/questions/comments on Piazza

    Late policy for deliverables

    • There will be no make-up work provided for missed assignments. Of course, emergencies (illness, family emergencies) will happen. In those instances, please contact the Dean of Students office (see here for rules). The Dean of Students is equipped to verify emergencies and pass confirmation on to all your classes. For consistency, we ask all students to do this in the event of an emergency. Do not send any personal/medical information to the instructor or TAs; all such information should go through the Dean of Students.
    • Every homework deliverable and project deliverable will have a 48-hour grace period during which no penalty will apply. This is intended to allow you time to verify that your submission has been submitted (we recommend you re-download it and look it over to make sure all questions/deliverables have been answered). Canvas will show your submission as late, but you do not have to ask for this grace period. Deliverables after the grace period will receive a grade of 0.

    Prerequisites

    CS 4644/7643 should NOT be your first exposure to machine learning. Ideally, you need:

    • Intro-level Machine Learning
      • CS 3600 for the undergraduate section and CS 7641/ISYE 6740/CSE 6740 or equivalent for the graduate section.
    • Algorithms
      • Dynamic programming, basic data structures, complexity (NP-hardness)
    • Calculus and Linear Algebra
      • positive semi-definiteness, multivariate derivates (be prepared for lots and lots of gradients!)
    • Programming
      • This is a demanding class in terms of programming skills.
      • HWs will involve Python and PyTorch.
      • Your library of choice for project.
    • Ability to deal with abstract mathematical concepts

    Online Student Conduct and (N)etiquette

    Communicating appropriately in the online classroom can be challenging. All communication, whether by email, Piazza, Canvas, or otherwise, must be professional and respectful. In order to minimize this challenge, it is important to remember several points of “internet etiquette” that will smooth communication for both students and instructors

    1. Read first, Write later. Read the ENTIRE set of posts/comments on a discussion board before posting your reply, in order to prevent repeating commentary or asking questions that have already been answered.
    2. Avoid language that may come across as strong or offensive. Language can be easily misinterpreted in written electronic communication. Review email and discussion board posts BEFORE submitting. Humor and sarcasm may be easily misinterpreted by your reader(s). Try to be as matter of fact and as professional as possible.
    3. Follow the language rules of the Internet. Do not write using all capital letters, because it will appear as shouting. Also, the use of emoticons can be helpful when used to convey nonverbal feelings. ☺
    4. Consider the privacy of others. Ask permission prior to giving out a classmate’s email address or other information.
    5. Keep attachments small. If it is necessary to send pictures, change the size to an acceptable 250kb or less (one free, web-based tool to try is picresize.com).
    6. No inappropriate material. Do not forward virus warnings, chain letters, jokes, etc. to classmates or instructors. The sharing of pornographic material is forbidden.

    NOTE: The instructor reserves the right to remove posts that are not collegial in nature and/or do not meet the Online Student Conduct and Etiquette guidelines listed above.

    Plagiarism & Academic Integrity

    Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. All students enrolled at Georgia Tech, and all its campuses, are to perform their academic work according to standards set by faculty members, departments, schools and colleges of the university; and cheating and plagiarism constitute fraudulent misrepresentation for which no credit can be given and for which appropriate sanctions are warranted and will be applied. For information on Georgia Tech’s Academic Honor Code, please visit http://www.catalog.gatech.edu/policies/honor-code/ or http://www.catalog.gatech.edu/rules/18/.

    You are encouraged to discuss problems and papers with others as long as this does not involve the copying of code or solutions. After discussions, all materials that are part of a submission should be wholly your own. Any public material that you use to gain an understanding of the materials (open-source software, help from a textbook, or substantial help from a friend, etc.) should be acknowledged explicitly in anything you submit to us. To re-emphasize, no matter what the source you cannot copy any existing code, from other students, online, or otherwise, and all code must be wholly your own code that you wrote by yourself. Our current policy is that you CANNOT use any AI-assisted (e.g. based on large language models such as Github Copilot) text or coding responses in part or whole; again, every piece of text or code you submit must be wholly your own. If you have any doubts about whether something is legal or not, please do check with the class Instructor or the TA. We will actively check for cheating, and any act of dishonesty will result in a Fail grade. Any student suspected of cheating or plagiarizing on a quiz, exam, or assignment will be reported to the Office of Student Integrity, who will investigate the incident and identify the appropriate penalty for violations.

    AI-Based Assistance

    We will use the AI-based assistance policy developed by David Joyner. We treat AI-based assistance, such as ChatGPT and Copilot, the same way we treat collaboration with other people: you are welcome to talk about your ideas and work with other people, both inside and outside the class, as well as with AI-based assistants.

    However, all work you submit must be your own. You should never include in your assignment anything that was not written directly by you without proper citation (including quotation marks and in-line citation for direct quotes).

    Including anything you did not write in your assignment without proper citation will be treated as an academic misconduct case.

    If you are unsure where the line is between collaborating with AI and copying from AI, we recommend the following heuristics:

    Heuristic 1: Never hit “Copy” within your conversation with an AI assistant. You can copy your own work into your conversation, but do not copy anything from the conversation back into your assignment.

    Instead, use your interaction with the AI assistant as a learning experience, then let your assignment reflect your improved understanding.

    Heuristic 2: Do not have your assignment and the AI agent open at the same time. Similar to above, use your conversation with the AI as a learning experience, then close the interaction down, open your assignment, and let your assignment reflect your revised knowledge.

    This heuristic includes avoiding using AI directly integrated into your composition environment: just as you should not let a classmate write content or code directly into your submission, so also you should avoid using tools that directly add content to your submission.

    Deviating from these heuristics does not automatically qualify as academic misconduct; however, following these heuristics essentially guarantees your collaboration will not cross the line into misconduct.

    Students with Disabilities

    If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at 404.894.2563 or http://disabilityservices.gatech.edu/, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodations letter. Please also e-mail me as soon as possible in order to set up a time to discuss your learning needs.

    Subject to Change Statement

    The syllabus and course schedule may be subject to change. Changes will be communicated via the Canvas announcement tool. It is the responsibility of students to check Piazza, email messages, and course announcements to stay current in their online courses.

    Campus Resources


    Community Resources


    Project Details (28% of course grade)

    The class project is meant for students to (1) gain experience implementing deep models and (2) try Deep Learning on problems that interest them. The amount of effort should be at least the level of 1.5 homework assignment per group member (2-4 people per group). The deliverables are

    - Project Proposal (2%): Due Mar 17
    - Final Report (26%): Due April 29th
    

    The final report is a PDF write-up describing the project in a self-contained manner will be the sole deliverable. Your final write-up is required to be 5-6 pages using a template provided with structured like a paper from a computer vision conference (CVPR, ECCV, ICCV, etc.). Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc. After the class, we will post all the final reports online so that you can read about each others’ work. Additionally, we will allow people to upload additional code, videos, and other supplementary material as zip file similar to code upload for assignments. While the PDF may link to supplementary material, external documents, and code, such resources may or may not be used to evaluate the project. The final PDF should completely address all of the points in the rubric described below.

    Rubric

    We will release a detailed project rubric format as the semester progresses.

    FAQs

    • The class is full. Can I still get in?

      Sorry. The course admins in CoC control this process. Please talk to them.

    • Unregistered Students who intend to register:

      If you are not registered for this course, you will not have access to Gradescope for submission of PS0. Please fill the following form in order to be added to Gradescope and be able to submit PS0: Qualtrics Survey

      Students who individually emailed us and have not been added yet - you may have left out the details of which course instance you are planning to take (either CS 7643 or CS 4644). There are two separate Gradescope courses for the two instances. Please fill the above form in order to provide us with this information.

    • Registered students who are not able to access Gradescope:

      This will happen if you were registered to the course very recently. Gradescope rosters are synced periodically and it may take some time for you to receive a Gradescope sign-up notification. If you still face problems with accessing Gradescope, please email us.

    • I am graduating this Spring and I need this class to complete my degree requirements. What should I do?

      Talk to the advisor or graduate coordinator for your academic program. They are keeping track of your degree requirements and will work with you if you need a specific course.

    • Can I audit this class or take it pass/fail?

      No. Due to the large demand for this class, we will not be allowing audits or pass/fail. Letter grades only. This is to make sure students who want to take the class for credit can.

    • I have a question. What is the best way to reach the course staff?

      Registered students – your first point of contact is Piazza (so that other students may benefit from your questions and our answers). If you have a personal matter, create a private piazza post.

    Note to people outside Georgia Tech

    Feel free to use the slides and materials available online here. If you use our slides, an appropriate attribution is requested. Please email the instructor with any corrections or improvements.