Project

The course project is an opportunity to apply what you’ve learned in class to a problem of your interest. You can consider any kind of project which has to be solved via any deep learning method that we have seen (or not!) We recommend you to tackle the problem from a very applicative perspective where you should focus on building and training a deep neural network from scratch or using some transfer learning.

Some general potential problems could be the following:

  • Computer vision applications (classification, object detection, segmentation)
  • Natural language processing applications (machine translation, image captioning, chatbot, recommendation systems)
  • Conditional generative models (image synthesis, style-transfer, drug-discovery)
  • Deep reinforcement learning (video games, robotics)
  • More theoretical projects such as optimization, interpretability, etc.

Some inspiration:

Agenda

  • Project proposal, due by 2022/01/17 at 23:59.
  • Project code and report, due by 2022/02/20 at 23:59.

Projects should be pushed on your GiHub repositories, with clear indications in the README.md file about who worked on which project.

Instructions and evaluation guidelines

  • Students can work in groups of maximum 3 students.
  • Each group must send me a slack message corresponding to a short research project proposal (a quick description of a minimum viable project, the data you will use or collect and a short review of related work)
  • In the end your work should contain a notebook written a little bit like a research paper, which includes the following sections:
    • Introduction: which states the problem which has been tackled
    • Related Work: which covers research that is related to the considered problem
    • Methods: a clear and detailed description of the neural networks (architecture, training-parameters, loss function, data)
    • Results:
      • qualitative analysis: could include examples of generated images, correct vs wrong predictions, …
      • quantitative analysis: general overview of final performance, loss curves, comparison table with error-bars, …
    • Discussion: a critical discussion of the performance of the neural network, analysis of the potential limitations, tips for future work
  • The grade will depend on two main components:
    • quality and originality of the project (are the contributions of the group to the development of the project well defined? what has been implemented with respect to the original research questions, what has been re-used from existing coding directories?)
    • presentation of the project (structure of the notebook, clarity of figures, correctness of the English or French language)

Don’t cheat and cite your sources

You can 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, and explain to what extend what you did differs a bit from the source material. You are not allowed to look at another group’s code or incorporate their code into your project.

Homeworks

Some of the labs notebooks are homeworks that will be a part of your grade for the course (see the list below). You will need to follow the following steps in order to be assessed for this course.

Steps to follow

  1. Find a friend
  2. Have a GitHub account or use google colab
  3. Each pair of students must share a private GitHub repository or a google colab
  4. Fill the form with your friend here: https://docs.google.com/forms/d/1IqPFdCVE0IEQ7Xt23rNRuA3y0Y6rofrpWpmY3L5-Cjs/
    where you give your names and the link to your GitHub repository or google colab
  5. Grant access to me (GitHub account stephanegaiffas gmail account stephane.gaiffas@gmail.com) so that I can see and assess your homeworks
  6. Start to work ! Push in your repository or google colab each homework (jupyter notebook files) with your names filled in the notebooks. Your notebooks must contain all you work, with figures and results displayed in it, since I won’t execute your code

Warning. If one of these steps is not followed: no evaluation ! Once again, I won’t execute your code, so all your code and results, plots, displays must be displayed in the notebooks that you push in your repository.