- Present and submit a poster/slides of the project at the end of the semester recapping your work using GitHub. 

- We will host a "Deep Learning Day" at the end of the semester. Student groups will participate in-person for poster presentations.

- Participate in "Deep Learning Day" by engaging with other student's projects at the end of the semester.

- Meet all deadlines and check-ins specified below.

- Your code can be written using any deep learning library, such as TensorFlow, Keras, Jax, or PyTorch.

 

**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 1470-noncapstone students, there are two options. For 1470-Capstone 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 all of the following:

1. Implement the system in a different framework (e.g. PyTorch instead of TensorFlow) 

2. Try your implementation on a different dataset than the one(s) in the paper 

3. Extend the implementation (new feature, interpretability, etc) in a *non-trivial manner*. 

 

 

- AI / Machine Learning/ Data Mining:

    - Neural Information Processing Systems (NeurIPS)

    - The International Conference on Learning Representations (ICLR)

    - The International Conference on Machine Learning (ICML)

    - Knowledge Discovery and Data Mining (KDD)

    - Association for the Advancement of AI (AAAI)

    - The Reinforcement Learning Conference (RLC)

- Computer Vision

    - Computer Vision and Pattern Recognition (CVPR)

    - The International/European Conference on Computer Vision (ICCV/ECCV)

- Natural Language Processing

    - The Association for Computational Linguistics (ACL)

    - Empirical Methods in Natural Language Processing (EMNLP)

- Computational Biology and Health

    - Research in Computational Molecular Biology (RECOMB)

    - Intelligent Systems for Molecular Biology /European Conference on Computational Biology (ISMB/ECCB)

    - International Workshop on Data Mining in Bioinformatics (BIOKDD)

    - Pacific Symposium on Biocomputing (PSB)

    - ACM Conference on Bioinformatics, Computational Biology and Biomedicine (ACM-BCB)

 

Most paper authors will have made pre-prints publicly available on their personal websites or via [arXiv](https://arxiv.org/). 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:

 

- You are building a generative model that turns food videos into recipes, you can extract visual features with an open-sourced model, such as [CLIP](https://github.com/openai/CLIP).

- You want to build a reinforcement learning model for a game you invented, you can try out some well implemented [RL baselines](https://github.com/openai/baselines).

 

Example uses that are **not** permitted:

 

- You take open-sourced model checkpoints and just "fine-tune" them on another dataset.

- You take an open-sourced framework and replace its ResNet-50 with a ResNet-101.

 

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.