Below are a few ideas on what kinds of projects you can approach for the Practical Deep Learning course @ CS HSE (by Fedor Ratnokov).
The projects in this list are merely examples for you to consider. You may, of course, pick any of them without any alterations, but don't be shy to tailor them to best fulfill your interests or curiosity.
The best possible scenario is when you already have an idea for such project awaiting the opportunity, e.g.:
- improving the model in that research you conduct at your department
- reproducing that article that you are excited about, but haven't found any reasonable implementation yet
When you have converged on the project idea, please do tell me about that and do so ASAP. Working on your projects in secret and suddenly approaching us with them a few weeks before course end is a bad practice.
Ideally, you should tell us of your pick by the week [lecture] #6.
Afterwards, it is time to analyze existing work and formulate the initial milestone.
The projects may be of varied total complexity, but the scoring system is oriented on evening that out. The rewards are given for iterations of roughly same size, so if simple image classification-based project would have the first milestone about "finding out whether some particular idea beats the baseline", for a more complicated project about, say, deep reinforcement learning, merely reproducing the baseline is already a milestone.
The base rewards are:
- 10 points for preliminary analysis: reading articles, posts, formulating ideas, reporting.
- 20 points for a basic prototype:
- for research projects: an basic experiment that implements and supports/rejects the initial hypothesis.
- for development projects: implementing core functionality in an MVP way.
- 10 points per each additional iteration
- research: extending/adjusting hypothesis,
- development: additional majore feature/set
- Must be agreed with us to prevent abusing.
- Rule of thumb: at least half as hard as a homework assignment
So in the worst case(idea proven wrong after a few iterations), you can expect your project to yield a total of 40 points or more. You can also expect bonuses for any way your project benefits others, e.g.
- Open-source release with human users
- research: article/blog post that is available and readable
- development: releases
Some topics have higher entry barrier than others. For this reason, topics like
- Machine translation
- Speech recognition
- Image captioning
are not present in project examples and generally discouraged UNLESS you have a prior experience in the domain area or have strong reasons to proceed. All these topics generally REQUIRE sizeable effort and hardware to even start iterating, training times may reach several weeks and potential opportunities to shoot oneself in the foot are virtually infinite.
Technically there are no restrictions on the framework you use for your project, you may even write it from scratch. However, there is no guarantee we will be able to aid you with any issues outside numpy/theano/lasagne stack.
As a general rule, make sure that you are either a confident user of the framework you chose or have a regular access to someone who is.
Also, please make sure that your framework is compatible with all the project steps you planned and they take reasonable amount of time/effort.
Teams are allowed but only as far as both teammates have a pre-determined role in the project. E.g.
- your team is synthecising fonts; One person is trying the autoencoders, the other tries GAN.
- your team is building a neural conversation model; One person optimizes the NN architecture, the other tries out various improved sampling approaches at the decoder (e.g. beam search)