When you're ready to submit a project deliverable, click on the appropriate button to upload your document. If the link for a deliverable is disabled, this means you missed the deadline and must contact instructor to upload your report. Late submissions will automatically lose points. DO NOT send your document through email!!!

Guide Lines

Topics

In this class you will learn about a wide range of deep learning applications. Part of the learning will be online, during in-class lectures and when completing assignments, but you will really experience hands-on work in your final project. We would like you to choose wisely a project that fits your interests. One that would be both motivating and technically challenging. You can pick any kind of project, but the most common student projects falls under the following categories.

  • Application project. This is by far the most common: Pick an application that interests you, and explore how best to apply learning algorithms to solve it.
  • Algorithmic project. Pick a problem or family of problems, and develop a new learning algorithm, or a novel variant of an existing algorithm, to solve it.
  • Theoretical project. Prove some interesting/non-trivial properties of a new or an existing learning algorithm. (This is often quite difficult, and so very few, if any, projects will be purely theoretical.) Some projects will also combine elements of applications and algorithms.

A good class projects come from picking either an application area that you’re interested in, or picking some subfield of machine learning that you want to explore more. So, pick something that you can get excited and passionate about! Be brave rather than timid, and do feel free to propose ambitious things that you’re excited about. (Just be sure to ask us for help if you’re uncertain how to best get started.) Alternatively, if you’re already working on a research or industry project that deep learning might apply to, then you may already have a great project idea.

Logistics

Groups: The project is done in groups of 1-3 people; teams are formed by students.

Submission: We will announce in class the process for submitting project deliverables.

Evaluation: We will not be disclosing the breakdown of the 40% that the final project is worth amongst the different parts, but the video and final report will combine to be the majority of the grade. Attendance and participation during your meetings with teaching staff will also be considered. Projects will be evaluated based on:

  • The technical quality of the work. (I.e., Does the technical material make sense? Are the things tried reasonable? Are the proposed algorithms or applications clever and interesting? Do the authors convey novel insight about the problem and/or algorithms?)
  • Significance. (Did the authors choose an interesting or a “real” problem to work on, or only a small “toy” problem? Is this work likely to be useful and/or have impact?)
  • The novelty of the work. (Is this project applying a common technique to a well-studied problem, or is the problem or method relatively unexplored?)

In order to highlight these components, it is important you present a solid discussion regarding the learnings from the development of your method, and summarizing how your work compares to existing approaches.

Proposal

In the project proposal, you’ll pick a project idea to work on early and receive feedback from the teaching staff. If your proposed project will be done jointly with a different class’ project, you should obtain approval from the other instructor and approval from us. Please come to the project office hours to discuss with us if you would like to do a joint project.

In the proposal, below your project title, include the project category. The category can be one of:

  • Computer Vision
  • Natural Language Processing
  • Generative Modeling
  • Speech Recognition
  • Reinforcement Learning
  • Healthcare
  • Others (Please specify!)

Your project proposal should include the following information:

  • What is the problem that you will be investigating? Why is it interesting?
  • What are the challenges of this project?
  • What dataset are you using? How do you plan to collect 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?
  • What reading will you examine to provide context and background? If relevant, what papers do you refer to?
  • 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)?

Format:
Your proposal should be a PDF document, giving the title of the project, the project category, the full names of all of your team members, and a 300-500 word description of what you plan to do.

Submission: October 19, 2023

Progress

The progress report will help you make sure you’re on track, and should describe what you’ve accomplished so far, and very briefly say what else you plan to do. You should write it as if it’s an “early draft” of what will turn into your final project. You can write it as if you’re writing the first few pages of your final project report, so that you can re-use most of the milestone text in your final report. Please write the milestone (and final report) keeping in mind that the intended audience is Profs. Felix Gonda and the teaching assistant Bosco. Thus, for example, you should not spend two pages explaining what logistic regression is. Your milestone should include the full names of all your team members and state the full title of your project. Note: We will expect your final writeup to be on the same topic as your milestone. In order to help you the most, we expect you to submit your running code. No code submission expected.

Your progress report should be at most 3 pages, excluding references. Similar to to the proposal, it should include::

Format:
  • Title, Author(s)
  • Introduction: this section introduces your project, why it’s important or interesting.
  • Make sure to submit your GitHub project URL. Do not submit your dataset. It is okay to include a few samples though.
  • Details on the dataset
  • Approach: Describe the current steps you have done. If you are implementing an algorithm, you should have started implementation and ideally have some early stage results. Describe precisely the remaining work you expect to complete. We ideally would like to see a model description and a training strategy (loss function for instance).

Contributions:

Please include a section that describes what each team member worked on and contributed to the project.

Format:
Your proposal should be a PDF document, giving the title of the project, the project category, the full names of all of your team members, and a 300-500 word description of what you plan to do.

Submission: November 10, 2023

Video

Your video is required to be a 2-3 minute summary of your work. There is a hard limit of 3 minutes, and the teaching staff will not watch a video beyond the 3 minute mark. Include diagrams, figures and charts to illustrate the highlights of your work. The video needs to be visually appealing, but also illustrate technical details of your project.

If possible, try to come up with creative visualizations of your project. These could include:

  • System diagrams
  • More detailed examples of data that don’t fit in the space of your report
  • Live demonstrations for end-to-end systems

We recommend searching for conference presentation sessions (AAAI, Neurips, ECCV, ICML, ICLR etc) and following those formats.
Example Video: Learning to reconstruct people

Submission: December 3, 2023

Report

The final report should contain a comprehensive account of your project. We expect the report to be thorough, yet concise. Broadly, we will be looking for the following:

  • Good motivation for the project and an explanation of the problem statement
  • A description of the data
  • Any hyperparameter and architecture choices that were explored
  • Presentation of results
  • Analysis of results
  • Any insights and discussions relevant to the project
  • References

After the class, we will post all the final writeups online so that you can read about each other’s work. If you do not want your write-up to be posted online, please inform the instructor.

Format:
    Final project writeups can be at most 5 pages long. We will allow up to 5 extra pages for appendices and references. However, TAs may not look at the appendices, so please include all important information in the main report. You will use NeuroIPS format for your final report. It's a nice, wide one-column format. An example of a NeuroIPS document can be found by Clicking here

Contributions:

Please include a section that describes what each team member worked on and contributed to the project.

Code:

You must submit your code to GitHub and include the link of your GitHub repository in your final report. You must also give the the University of Juba AI account (uojai) access to your GitHub repository. Do include data in your GitHub code repository. Provide the data through other public means such as Google drive etc. Code must be organized/readable for full credit.

Grading:
The final report will be judged based off of the clarity of the report, the relevance of the project to topics taught in the course, the novelty of the problem, and the technical quality and significance of the work.

Examples of final reports:
Learning to reconstruct people
Style transfer for rooms

Submission: December 10, 2023