Project Information

40% of your grade is based on your final project, you will investigate some interesting aspect of deep learning or apply deep learning to a problem that interests you. The term project may be done in teams of up to three persons.

Project Proposal

Deadline: Monday 10/16, 11:59PM
The project proposal should include the project team members and a brief overview of the proposed project and project plan that includes the following (≈1-2 pages):
  • 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)?

Submission: One member on your team should submit your project proposal using the google form.
If you are doing this project to count for this and another class, we expect the project to be larger in scope.

Project Milestone

Deadline: Friday 11/17, 11:59PM
Your project milestone report should be in the format of a jupyter notebook. The following is a suggested structure for your report:
  • Title, Author(s)
  • Introduction: this section introduces your project, why it’s important or interesting.
  • Loading the packages you are using.
  • 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).
Submission: Please send your jupyter notebook by email to cs230-qa@cs.stanford.edu with the subject of the email <your SUNet ID>_milestone. Note that, only one group member in a team is required to make submission.

Final Presentation

Time and Location: Hewlett102, 8:30-11:30am Monday
You will present your project in a short 5 min in-class presentation, open to the public. You can use any material you would like (slides, video, notebook ...). In this presentation, you will give an overview of your project and your model, explain what were the main technical challenges, discuss your results and future opportunities.

Final Submission

Deadline: Tue 12/12, 11:59PM
Your final project should be a tar folder containing:
  • Your jupyter notebook containing all the write-ups in markdown and your code. All the cells should be run (on your side) when you submit. So please run all the cells before downloading/saving your notebook. The notebook should at least contain a thorough explanation of your model, your dataset, your training/validating/testing process, your challenges, an explanation about the hyperparameters, optimization, regularization you choose, the performance of your algorithm, error analysis, some thoughts on future works, ….
  • Any dependency / utils / source code file needed
  • We don’t need your dataset, you can send us a link to it but the most important is that you include a full description of your dataset in your jupyter notebooks (with plots and figures if necessary).
  • The materials you used in your final presentation.
  • Any other folder you think we need. For example containing “images” you’ve added in your notebook’s markdown cells, or Cool videos, interactive visualizations, demos, etc. (optional)
Examples of things to not put in your supplementary material:
  • All of a submodules (Theano, Caffe, CoreNLP) source code.
  • Any code that is larger than 1MB.
  • Model checkpoints.
  • A computer virus.
After the class, we will post all the jupyter notebooks / presentations online so that you can read about each other's work. If you do not want your notebook/presentation to be posted online, then please let us know when you submit your notebook.
You should include a brief statement on the contributions of different members of the team. Team members will normally get the same grade, but we reserve the right to differentiate in egregious cases.
Submission: Submit your tar file submission by email to cs230-qa@cs.stanford.edu with the subject of the email <your SUNet ID>_final. only one group member in a team is required to make submission.