Overview
The Course Project is an opportunity for you to apply what you have learned in class to a
problem of your interest. Potential projects usually fall into these two tracks:
-
Applications.
If you're coming to the class with a specific background and interests (e.g. biology,
engineering, physics), we'd love to see you apply various deep learning architectures to problems related to your
particular domain of interest. Pick a real-world problem and apply deep learning to solve it.
-
Models.
You can build a new model, or a new variant of existing models,
and apply it to tackle various tasks. This track might be more challenging, and sometimes
leads to a piece of publishable work.
To inspire ideas, you might also look at recent deep learning publications from top-tier
conferences, as well as other resources below.
-
CVPR:
IEEE Conference on Computer Vision and Pattern Recognition
-
ICCV:
International Conference on Computer Vision
-
ECCV:
European Conference on Computer Vision
-
NIPS: Neural Information Processing Systems
-
ICLR:
International Conference on Learning Representations
-
ICML:
International Conference on Machine Learning
-
ACL:
Association for Computational Linguistics
-
Awesome Deep Vision
Kaggle challenges:
An online machine learning competition website. For example, a
Yelp classification challenge.
For applications, this type of projects would involve careful data preparation, an appropriate
loss function, details of training and cross-validation and good test set evaluations and model
comparisons. Don't be afraid to think outside of the box. Some successful examples can be found
below:
In the link below, you might also get inspiration by taking a look at public datasets:
Collaboration Policy
You can work in teams of up to 3 people. We do expect that projects done with
3 people have more impressive writeup and results than projects done with 2 people. To get a
sense for the scope and expectations for 2-people projects have a look at project reports from
previous years.
Honor Code
You may consult any papers, books, online references, or publicly available implementations for
ideas and code that you may want to incorporate into your strategy or algorithm, so long as you
clearly cite your sources in your code and your writeup. However, under no circumstances may you
look at another group’s code or incorporate their code into your project.
If you are combining your course project with the project from another class, you must receive
permission from the instructors, and clearly explain in the Proposal, Milestone, and Final Report
the exact portion of the project that is being counted for this course. In this case you must prepare
separate reports for each course, and submit your final report for the other course as well.
Important Dates
Unless otherwise noted, all project items are due by 11:59 pm.
- Project proposal: due 9 Oct 2024
- Project milestone: due 8 Nov 2024
- Final report: due 4 Dec 2024
Project Proposal
The project proposal should be one paragraph (200-400 words). Your project proposal should
describe:
- What is the problem that you will be investigating? Why is it interesting?
- What reading will you examine to provide context and background?
- What data will you use? If you are collecting new data, how will you do it?
-
What method or algorithm are you proposing? If there are existing implementations, will you
use them and how? How do you plan to improve or modify such implementations? You don't have
to have an exact answer at this point, but you should have a general sense of how you will
approach the problem you are working on.
-
How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g.
plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or
compare your results (e.g. what performance metrics or statistical tests)?
Submission:
Each student should submit a report on Canvas. The students in the same team should submit the same report (we will just choose one report to grade). Please indicate the names of team members in the report.
Project Milestone
Your project milestone report should be between 2 - 3 pages using the
provided template.
The following is a suggested structure for your report:
- Title, Author(s)
- Introduction: this section introduces your problem, and the overall plan for approaching your problem
- Problem statement: Describe your problem precisely specifying the dataset to be used, expected results and evaluation
- Technical Approach: Describe the methods you intend to apply to solve the given problem
-
Intermediate/Preliminary Results: State and evaluate your results upto the milestone
Submission:
Each student should submit a report on Canvas. The students in the same team should submit the same report (we will just choose one report to grade). Please indicate the names of team members in the report.
Final Report
Your final write-up is required to be between 6 - 8 pages using the
provided template,
structured like a paper from a computer vision conference. Also, I recommend using LaTex for the
final report. Using Overleaf for editing LaTex might be helpful.
Please use this template so we can fairly judge all student projects without worrying about
altered font sizes, margins, etc. Please indicate if you would like to share share your reports with other students (no impact on grading).
The following is a suggested structure for your report, as well as the rubric that we will
follow when evaluating reports. You don't necessarily have to organize your report using
these sections in this order, but that would likely be a good starting point for most projects.
- Title, Author(s)
-
Abstract: Briefly describe your problem, approach, and key results. Should be no more
than 300 words.
-
Introduction (10%):
Describe the problem you are working on, why it's important, and an overview of your results
-
Related Work (10%):
Discuss published work that relates to your project. How is your approach similar or different
from others?
-
Data (10%):
Describe the data you are working with for your project. What type of data is it? Where did it
come from? How much data are you working with? Did you have to do any preprocessing, filtering,
or other special treatment to use this data in your project?
-
Methods (30%):
Discuss your approach for solving the problems that you set up in the introduction. Why is
your approach the right thing to do? Did you consider alternative approaches? You should
demonstrate that you have applied ideas and skills built up during the quarter to tackling
your problem of choice. It may be helpful to include figures, diagrams, or tables to
describe your method or compare it with other methods.
-
Experiments (30%):
Discuss the experiments that you performed to demonstrate that your approach solves the
problem. The exact experiments will vary depending on the project, but you might compare
with previously published methods, perform an ablation study to determine the impact of
various components of your system, experiment with different hyperparameters or architectural
choices, use visualization techniques to gain insight into how your model works, discuss
common failure modes of your model, etc. You should include graphs, tables, or other figures
to illustrate your experimental results.
-
Conclusion (5%)
Summarize your key results - what have you learned? Suggest ideas for future extensions
or new applications of your ideas.
-
Writing / Formatting (5%)
Is your paper clearly written and nicely formatted?
-
Supplementary Material, not counted toward your 6-8 page limit and submitted as
a separate file. Your supplementary material might include:
-
Source code (if your project proposed an algorithm, or code that is relevant and important
for your project.).
- Cool videos, interactive visualizations, demos, etc.
Examples of things to not put in your supplementary material:
- The entire PyTorch/TensorFlow Github source code.
- Any code that is larger than 10 MB.
- Model checkpoints.
- A computer virus.
Submission:
Each student should submit a report on Canvas. The students in the same team should submit the same report (we will just choose one report to grade). Please indicate the names of team members in the report. You will submit your final report as a PDF and your supplementary material as a separate PDF or ZIP file.
Additional Submission Requirements:
We will also ask you do do the following when you submit your project report:
-
Collaborators outside course EESM5900V are not allowed.
-
Any code that was used as a base for projects must be referenced and cited in the body of the paper.
This includes finetuning example code, open-source, or Github
implementations. You can use a footnote or full reference/bibliography entry.
-
The project could not be also used in other courses.