or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
Deep Learning Final Project
The final research project is aimed to give you an idea of what a deep learning research project entails, and hopefully, get you excited about doing research in this field. It requires critical thinking that you will develop by learning the material and doing assignments during the semester.
At the end of the semester, you will share your work with your peers through presentations and writing a report. This type of project-based exercise will help you in developing skills to perform independent research like:
Please read this handout in its entirety. It contains all the information, forms, and deadlines you'll need to know about!
Overview
Both students in 1470 and 2470 will complete final projects in groups of 3-4 people. These projects are an opportunity for you to apply the knowledge you’ve gained in class to a topic or area of interest. Your group may implement research papers, existing projects, or create entirely new projects. The time commitment per student should be approximately equal regardless of the group size, thus larger groups should justify their group size by taking on more ambitious projects.
Your project group, once assembled, will be assigned a mentor TA, who will guide you throughout the remainder of this semester. Your mentor will be the one to give you pointers on how to get started, where to look for ideas, and also be one of the people evaluating your work. You will be graded on completion of goals, punctuality with which you meet your deadlines, and professionalism in reports and presentations.
We do not expect you to build a magical model that solves all of the world’s problems. What we do expect is concentrated and well thought out effort into solving a problem: Rather than reporting a single number using a certain metric and showing your model just “works”, we expect you to perform quantitative ablation studies (e.g. show us what architectural changes, hyper parameters, and regularization techniques you tried and what are helpful, explain why you think so) to analyze your models, along with qualitative evaluation (e.g. visualizations) to illustrate what the model learns and how it might fail. You might want to check Prof. Bill Freeman’s awesome talk on “How to Write a Good CVPR Paper” (video, slides). Of course, we do not expect you to finish a project at “top AI conference” level within a semester, but the general high-level principles are helpful.
Do not be afraid of negative results! Some of the most interesting and well-received presentations from past years were ones that failed to produce “successful” results!
Requirements
NO Late Days may be used for the final submission date, but if you absolutely need an extra day or two for earlier checkpoints, talk to your TA; they will approve this at their own discretion.
Scope
The project is “open-ended,” meaning it’s open to interpretation. For CS1470 students, there are two options. For CS2470 students, you must choose the second option of solving a new problem.
Option 1: Re-implement a research paper
Find a paper from a recent machine learning conference that describes a deep-learning-based system, and try to reproduce its results. For this approach to be valid, the re-implementation must not be a trivial effort. If there’s already open-source code that comes with the paper, you can still do it, but you’d need to at least (a) implement the system in a different framework (e.g. PyTorch instead of TensorFlow) AND also (b) try your implementation on a different dataset than the one(s) in the paper. We’ll also ask you to share links to any public implementations you come across for verifying your code is your own work. If you need inspiration for potential papers to try, look through the recent proceedings of the following conferences:
Most paper authors will have made pre-prints publicly available on their personal websites or via arXiv. Empirically, it is often a good idea to pick research papers whose source code has been released by the authors. This gives you a good idea how easy it is to reproduce the results with their own codes, and the amount of work required for reimplementation.
Option 2: Try to solve a new problem
You can do this using whatever deep learning methods you can find that get the job done. Ideally, the project would involve more than one major topic we covered in the class (CNNs, RNNs or Transformers, Generative models, Fairness and model interpretability, and Reinforcement Learning). For 1470-capstone students, your capstone requires you to work on a project that connects what you have learned in more than one course (e.g. deep learning, machine learning, and computer vision). You are encouraged to implement your project “from scratch”, but can also use open-source deep learning projects as a component in your framework. Example use of open-source projects that are permitted:
Example uses that are not permitted:
Please cite all the open-source frameworks you used in the final report, and check with your mentor TA if they are okay with your proposal.
You can check out the projects in the previous Deep Learning Day or Stanford CS231n to draw some inspiration, but your project needs to differentiate from previous projects in meaningful ways.
Compute Resources
We recommend a project that can run on your desktop or department machines. Please check with your TAs if your project proposal might require excessive compute resources than we can provide. Remember that you will not be judged for the absolute performance (e.g. you get the best numbers in the world on some benchmark), but the creativity of ideas, quality of code and documents, as well as thoroughness of the ablation experiments.
If you really want to take on a very ambitious project that requires several GPUs with large memories, please ensure that you have obtained the computational resources before you start with the project and get the TA’s permission. Example resources:
Deliverables
Forming teams
Due: Feb 16, 2024 (Fri) 6PM EST
Please fill out this Google form to let us know if you would like to form your own team or would like us to assign you a team. If you have decided to form your own team, please also submit the names of your team members and one form submission per team is sufficient. Remember you can form a group of 3-4 people. Each group must be completely {1470} or completely {2470, 1470 with capstone}. If a 1470 student works together with 2470/1470-capstone students, the expectation is that every member of the group contributes at the 2470 capstone level.
Final team assignments will be shared by February 28th, 2024 (Wed)
Project Check-in #1
Due: Week of March 04, 2024
For your very first check-in, you (with your team members) will meet with your mentor TA and have a brainstorming session. Reach out to your mentor TAs to set up a meeting during the week of 03/04 (until 03/14). You should prepare a few ideas in advance to discuss the plausibility as well as scope of the project. This could include some application domains that you are interested in, a paper or 2 that you found interesting, some deep learning model you really want to implement, etc. This check-in is your opportunity to start thinking about your project proposal as a team and get some guidance for the same from your TA mentor.
Project Proposal
Due: March 15, 2024 (Fri) 6PM EST
With your team members, decide a team name, and submit your final project idea by filling out the form here! Only one person from your group needs to submit the form for everyone. If you are re-implementing an existing paper, please cite the paper that you want to implement. If you are trying to solve something new, please describe the problem and your plan of action. We will approve all that are appropriate.
Please note that if you do not submit your proposals by the deadline, you will receive a 2% deduction on grade for this project. This deadline cannot be extended except for in extenuating circumstances, as TAs need to review and approve your proposals before greenlighting your project in checkin #2.
Project Check-in #2
Due: Week of April 08, 2024
Rubric: TAs will be grading this check-in based on this rubric.
For the second check in, there are two parts:
You will submit an outline that details your plan and the main ideas via Devpost before your meeting. The outline requirements are described below. Additionally, submit the URL of your Devpost submission and the URL of your Github repo in this form.
Please do not include your Github URL in the Devpost submission.
You will meet with your mentor TA and review the work you have done since your project has been approved. Reach out to your mentor TA by 04/10 to schedule a meeting within the week of 04/08 - 04/14. Prior to this meeting, please try to have an idea of:
Note:
Further note that these goals are flexible and can be re-evaluated at later checkpoints.)
The outline that you submit/write-up to Devpost should contain the following:
Project Check-in #3
Due: Week of April 22, 2024
Rubric: TAs will be grading this check-in based on this rubric.
For the third check in, you will 1) write a one-page reflection on your progress so far and 2) meet with your mentor TA. We expect you are wrapping up the implementation and performing final experiments. If you have questions before the third check-in, please contact your mentor TA, or post questions on Ed.
Submit the reflection (as described below) by linking it on your Devpost submission before your meeting.
For this checkin, we also require you to write up a reflection including the following:
This check in meeting with your mentor TA can either be in-person or over over Zoom, Google Meet, etc. Reach out to your mentor TA before 04/24 to schedule this meeting.
Regarding what we generally expect you to have done by this time:
Final Check-in (Optional)
Due Date: Week of April 29, 2024
If you want to, you can meet with your mentor TA one final time to review your project, poster, and presentation. Your mentor TA can give feedback on how best to present your implementation and outcomes.
Deep Learning Day
Date: May 06/07, 2024 (Mon/Tue)
This is a chance to show off your teams awesome project and see all of the great work your peers have done! You’ll be expected to attend your theme session to present yout work and to ask question to other groups. More logistical details about the event and participation will be shared as we get closer to the event.
{1470} students should be prepared to give a ~2 minute presentation of their poster, {2470/1470 capstone} students should prepare a longer ~10 minute presentations describing their project using slides.
Your poster/slides must contain the following information:
Final Projects Due
Due: May 10, 2024 (Fri) 6PM EST
You will need three final deliverables the due date (note this is a hard deadline):
Oral Presentation - {2470/1470 capstone} students will post their slides on Devpost.
Poster
For poster presentations, we require one high resolution horizontal 4:3 poster (in the form of a JPG) to be displayed on your Devpost submission. You should keep things sufficient and also make it visually appealing. We recommend using InDesign, PowerPoint, or LaTex for your poster.
Final Writeup/Reflection
Along with your Devpost submission, provide a final write up/reflection of the final project.
Please be sure to include:
Note that most of this writeup should already be mostly complete without much extra effort, as “Introduction” and “Methods” should be mostly adaptable from your initial outline (although be sure to modify accordingly if you pivoted or otherwise adjusted from the initial outline), and “Challenges” can build off of what you discussed in your checkpoint #2 reflection. The “Results” section can summarize your results as they are in the poster; this is also a space to add any additional results that didn’t make your poster. In your final reflection, please address the following questions (along with other thoughts you have about the project, if any):
Grade Breakdown
A project submission is considered complete if the written report, presentation, AND code are all submitted. An incomplete project receives zero grade. A complete project will be graded as:
Previous Final Project Posters/Reports
To help with knowing what’s expected of you for your final project posters and reports, here are some DevPost links of DL Days from past offerings (you might have to log in to see the projects):
We encourage you to also check out some of the projects that current and past TAs implemented in previous years: