Instructor
Danna Gurari (first name pronounced “dah-nah”, similar to “Donna”; last name rhymes with Ferrari)
If easier, feel free to just call me Dr. G.
Course Support
Teaching Assistants
– Everley Tseng: Yu-Yun.Tseng@colorado.edu
– Nick Cooper: Nicholas.Cooper-1@colorado.edu
– Neelima Prasad: Neelima.Prasad@colorado.edu
Grader
– Mohammad Qazim Bhat
Syllabus
You can find more details about the course in the syllabus.
Textbooks
The recommended readings for this course are freely available online and are as follows:
– Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
– Deep Learning for NLP and Speech Recognition by Uday Kamath, John Liu, and James Whitaker (can be downloaded for free when connected to the CU network or VPN)
Office Hours
Office hours will be provided every day from Monday through Friday. You can find all available time slots and how to attend at this link (you must use your CU Boulder account to visit the link).
Acknowledgements
We are fortunate to receive the generous support of a NSF Jetstream2 grant and Google Cloud Education grant to provide us with state-of-the-art computing resources.
Date | Topics (lecture slides hyperlinked) | Assigned Readings (due prior to class) | Assignments (due prior to class and posted on Canvas) |
---|---|---|---|
Tue, Jan 14 | Course Introduction | ||
Thur, Jan 16 | Artificial Neurons | Ch. 1 of Goodfellow book; Ch. 4-4.2 of Kamath book | |
Tue, Jan 21 | Feedforward Neural Networks and Objective Functions | Ch. 5.1 and Ch. 6-6.1 and 6.3-6.4 of Goodfellow book | |
Thur, Jan 23 | Training Neural Networks with Gradient Descent | Ch. 5.9-5.10, Ch. 6.5-6.6, and Ch. 8-8.1 of Goodfellow book | |
Tue, Jan 28 | Training Optimization | Ch. 8.2-8.5 of Goodfellow book | Problem Set 1 |
Thur, Jan 30 | Model Capacity, Regularization, and Hyperparameters | Ch. 5.2-5.6, Ch. 7-7.4 and 7.8, and Ch. 9 of Goodfellow book | |
Tue, Feb 4 | Convolutional Neural Network (CNN) Basics | Ch. 7.9 and Ch. 9-9.4 and 9.10 of Goodfellow book | Problem Set 2 |
Thur, Feb 6 | “Deep” CNNs for Image Classification: Catalyst for Deep Learning Revolution | Ch. 7.11-7.12, Ch. 8.7.1, and Ch. 9.10 of Goodfellow book | |
Tue, Feb 11 | Dataset Challenges and Hardware Accelerators | ||
Thur, Feb 13 | Dense Prediction with CNNs | Ch. 9.6 of Goodfellow book | Lab Assignment 1 |
Tue, Feb 18 | Recurrent Neural Networks | Ch. 10-10.2, 10.7, and 10.10-10.11 of Goodfellow book | |
Thur, Feb 20 | Tokenization and Neural Embeddings | Ch. 3.2-3.3 and 5.1-5.4 of Kamath book | Problem Set 3 |
Tue, Feb 25 | Introduction to Attention | Ch. 7.5.1-7.5.2 of Kamath book; Ch. 10.3-10.5 of Goodfellow book | |
Thur, Feb 27 | Transformer Basics | Ch. 3.10, 7.5.4, and 9.2.6-9.2.10 of Kamath book | |
Tue, Mar 4 | Pioneering Transformers | Ch. 3.8, 3.11, 10-10.3.3 of Kamath book | Lab Assignment 2 |
Thur, Mar 6 | Vision-Language Tasks: Image Captioning and Visual Question Answering | VQA: Visual Question Answering | |
Tue, Mar 11 | Audio Processing, Internet-Scale Training Data, and Scaling Laws | Ch. 8-8.5 of Kamath book | Problem Set 4 |
Thur, Mar 13 | Foundation Models and Prompts | Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing | |
Tue, Mar 18 | Tuning Foundation Models (Josh Myers-Dean; PhD student at CU Boulder) | Towards a Unified View of Parameter-Efficient Transfer Learning | |
Thur, Mar 20 | Practical Systems-Level Development Challenges | Lab Assignment 3 | |
Tue, Mar 25 | No Class (Spring Break) | ||
Thur, Mar 27 | No Class (Spring Break) | ||
Tue, Apr 1 | Model Compression | ||
Thur, Apr 3 | Learning Faster: Curriculum Learning and Dataset Distillation | ||
Tue, Apr 8 | Learning with Less Supervision: Self-Supervised Learning and Active Learning | ||
Thur, Apr 10 | Responsible Deep Learning | Final Project Outline | |
Tue, Apr 15 | Responsible Deep Learning | ||
Thur, Apr 17 | Future of Deep Learning | ||
Tue, Apr 22 | Deep Learning in Industry (Mehrnoosh Sameki; Responsible AI and Generative AI Evaluation Tools Lead at Microsoft) | ||
Thur, Apr 24 | Deep Learning in Industry (Suyog Jain; Research Scientist at Meta) | ||
Tue, Apr 29 | Course Summary | Final Project Presentation | |
Thur, May 1 | Final Project Presentations | Peer Evaluation | |
Wed, May 7 | No Class (Final Exam Week) | Final Project Report |
Overview
The goal of this project is for you to apply what you have learned to a topic of your interest. This will be a self-designed project, under the constraint that it must involve neural networks and deep learning. If you are struggling to choose a topic, we encourage you to attend office hours with the TAs to get assistance. Popular themes in the past include:
- Evaluating the impact of tweaking existing models or offering new model designs for existing dataset challenges
- Analyzing the performance of existing model designs on new datasets
- Testing an existing model in a new form, such as its speed and computational demands on an edge device (e.g., mobile phone) or humans’ experiences with it an application
- Surveying a topic, offering a snapshot of what is the state-of-the-art and discussing open challenges for future research to explore
This effort will include an interim milestone to facilitate your progress (project outline) and culminate in a final report summarizing your work as well as a presentation where you share about your work to your peers. You are welcome to combine this course project with your other course or research efforts as long as you receive permission from the other stakeholders and clarify in all submissions what portion is being counted for this course (and so cannot be counted for your other efforts).
You are strongly encouraged to work with a partner, but can work alone with approval from a teaching assistant. We will host several opportunities throughout the month of March to facilitate finding a partner.
Your final project will constitute 30% of your total class grade. Your project grade will be calculated as follows:
Assignment | % of Final Project Grade |
---|---|
Project outline | 20% |
Final project presentation | 20% |
Peer evaluation | 10% |
Final project report | 50% |
Project Outline
The project outline should map out the entire project.
You will be expected to submit:
- A detailed project outline as a PDF that is 3-4 pages long (excluding references). Only one member of your group is required to submit the PDF, but both group members are welcome to submit the PDF to avoid any potential submission issues.
When choosing your topic, general guidelines are to:
- Choose a problem you have an idea for how to solve
- Choose a problem someone else cares about
- Choose a problem that is not yet solved (review current literature!)
- Choose a problem that you can objectively evaluate by tying it to a task
For the PDF submission, please use a latex template from a mainstream conference or journal, such as ECCV. A great latex paper editor is Overleaf. The outline should include each of the following:
- Title for your project
- [Section 1] Introduction
- Paragraph 1: Explain the motivation for your work; e.g., Why anyone should care? What are the desired benefits?
- Paragraph 2: Explain why existing solutions are inadequate for the motivated problem; e.g., Is there a gap in what exists? Is there a weakness in existing approaches?
- Paragraph 3: Explain what you are proposing, what is new about your idea, and why you believe this solution will be better than previous solutions; e.g., Are you asking a new question, establishing a new methodology to solve a problem, building a new software tool, or offering greater understanding about existing methods/tools?
- [Section 2] Related Work
- Identify 2-4 related topics. Then, for each topic, cite 2-4 related papers (must include the bibliography). Finally, for each cluster of related works, give a 1-2 sentence explanation describing the key difference(s) of your proposed idea to the cluster of prior works. One way to format each topic is as follows:
Topic:
Reference 1
Reference 2
Reference 3
Reference 4
Our work is different from these works because…
- Identify 2-4 related topics. Then, for each topic, cite 2-4 related papers (must include the bibliography). Finally, for each cluster of related works, give a 1-2 sentence explanation describing the key difference(s) of your proposed idea to the cluster of prior works. One way to format each topic is as follows:
- [Section 3] Methods – describe the implementation of your proposed idea (e.g., description of your model, system, or how survey papers will be collected) so that:
- A reader could reproduce your set-up
- A reader could understand why you made your design decisions
- [Section 4] Experiments – describe 1-2 experiments or analyses you plan to conduct in order to demonstrate/validate the target contribution(s) of your work. Your description should be detailed enough so that a reader could reproduce it. Your description should include the following for each experiment:
- Main purpose: 1-3 sentence high level explanation
- Evaluation Metric(s): which ones will you use and why?
- Bibliography: this must be formatted correctly.
Please note that your proposed project is not a binding contract. You will continue to update and improve it as you learn more from your readings and/or feedback.
Final Project Presentation
The final project presentation should be submitted as a zip file which include two parts:
- Text document indicating a URL to a 4 minute recorded video
- PDF document of a poster
Both deliverables should convey the following:
- Motivate the problem your work is designed to solve.
- (Very) briefly explain what other solutions are available and why they are not suitable.
- Demo your idea, approach, and key design decisions.
- Highlight key findings from your experiments and offer insights into what your work has taught us. Focus on finding 1-3 punchlines that explain why your work is exciting/valuable.
Please design your video for an audience who has not taken the class (i.e., lay audience). In other words, your mom, dad, friend, or a potential employer should be able to watch it and understand what you did and why what you did is valuable. You must submit a URL (either public or unlisted) that links to your video in your Canvas submission. To support inclusion of your presentation in our online forum, provide video links to either YouTube or Vimeo. Please verify viewing permissions are set properly before submission or your grade will be penalized.
Your poster should provide a concise framework for you to communicate about your project to a lay audience. In other words, your mom, dad, friend, or a potential employer should be able to see it and understand what you did and why what you did is valuable. If you would like to work from a template, the following are suggested by popular conferences for computer vision material: CVPR, NeurIPS, and ECCV. Alternatively, you can follow general suggestions for how to create a Better Scientific Poster.
On the last day of class, we will gather in an online forum so that students can present their work and learn about other students’ works. We will use the online platform, Gather, where every team’s video and poster will be posted. During this class session, students will be allowed to both stay in their designated spaces to present their poster/videos while answering any questions as well as to visit other students’ designated locations to learn about their work by reviewing their posters and/or videos.
Peer Evaluation
Every student will evaluate the presentation for one third of the projects in the course at the link shared by the course staff (i.e., this is not a team effort). The evaluations will be done during the day of the last class meeting. The evaluations that you do for other students’ projects will not affect your own grade, except that you will be penalized if you do not complete an evaluation (following the requirements) for each assigned group. You do not need to complete an evaluation for your own project.
Final Project Report
For the final project submission, you should submit a final report that is at least 7 pages long (excluding references). It should include each of the following:
- Title
- Abstract – one paragraph summary of your paper describing the motivation, problem, conducted experiments, and experimental findings
- [Section 1] Introduction (as needed, improve upon the material from your project outline)
- [Section 2] Related Work (as needed, improve upon the material from your project outline; if you have not already, you should remove the bulleted structure you used in the initial proposal and instead have a paragraph form)
- [Section 3] Methods (as needed, improve upon the material from your project outline)
- [Section 4] Experiments
- As needed, improve upon the material from your project outline
- Report the experimental results, what general trends are observed, and insights/speculations into why your results may be turning out the way they are.
- Also include at least one paragraph explaining what questions are not fully answered by your experiments and natural next steps for this direction of research.
- [Section 5] Conclusions
- Summarize in one paragraph what is the main take-away point from your work.
- Add a final paragraph discussing any potential ethical implications of your project (e.g., fairness, accountability, transparency, privacy, social impact, etc).
- [Section 6] Bibliography
This document is a revision of your project outline. Consequently you only need to expand on the content submitted from the project outline.