Skip to content

[archive] Project examples

Oleg Vasilev edited this page Sep 13, 2017 · 1 revision

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.

Bounding box regression

  • [vision] [need gpu]

It is said that computer vision begins when you try something harder than image classification.

  • Image classification - "There is a cat on the image"
  • Bounding box prediction - "There is a cat at this rectangle"
  • Image Segmentation - "These specific pixels of image form a cat"

If you feel up to the challenge, you can just as well start from the bounding box prediction.

  • reasonable dataset and benchmark for the job: Pascal 2007
  • RCNN for a start
  • If you're familiar with graphical models, you may also extend your model to pixel-wise image segmentation.

Font generation

  • [vision] [generative]

Yandex recently spent a whole lot of time and effort designing a new font by performing some weird designer stuff beyond human understanding. Can your neural network do that in a few CPU cycles?

Seriously, there's a lot of fonts out there. Look at these for a start. And there also are a few ways to learng to generate new objects given enough samples.

  • various autoencoders, VAE
  • adversarial stuff
  • recurrent stuff
  • RBMs and their extensions
  • all thinkable combinations of such (example)

Isn't it the time to show these insolent designer folk how it's done?

Post/comment generation

  • [nlp] [social networks] [preprocessing]

It is surprising how organic biomass forms large clusters around some primitive piece of content while leaving your obvious genius largely unnoticed.

If humans can't appreciate your art, than so be it, f*ck humans. You sure can raise your audience to appreciate you from the ground up. Literally. Train a neural network that will generate comments for your posts.

  • Huge dataset easily available through youtube/twitter/vk/... api.
  • Recurrent language models as a start
  • Commenter personality embedding
  • Generating conversations?

Conversation model

  • [nlp] [social networks] [need gpu]

Sometimes what you need is for someone to hear you out. Since no human willingly listens to nerds like us, we might as well use chatbots instead.

Domain adaptation in high energy physics

  • [hep]

High energy physicists are weird folk. They train their models on simulated physics and expect them to work well on real world physics. Fortunately, we have a few things that can adapt one domain to the other.

Playing game given raw inputs

  • [rl] [preprocessing]

Many of us have sacrificed our videogame hobbies in favor of scientific or industrial progress. However we can now rejoice, for the recent advances in deep reinforcement learning has allowed us to train pet neural networks to play videogames instead of us.

This idea has many potential applications in read world tasks, but for now why can't we just play a few more games.

Ultimate Continuous RL comparison

  • [rl] [demo]

Playing a game with a few buttons is one thing. Playing games with hundreds of buttons is a bit more respectable. Ultimate pro MLG cool deep networks play games with continuously many actions.

The problem is, each such network claims to be by far the best one and this usually means someone is a bit exaggerating

DNI

  • [demo] [article]

There's this article with a nice idea of learning the gradients for each layer that is yet (by Sep 2016) to uncover it's full potential.

If only one could make a simple demo reproducing the article, a lot of people would surely appreciate that and iterate on. Not to mention that you yourself would get an excelleng opportunity to push science a bit forward.

  • First, reimplement existing DNN demo and basic experiment
  • Would be also great to see the RNN example
  • Super-duper-ideal case - make a user-friendly extension to lasagne/your_favorite_framework where it still isn't implemented and throw a pull-request.

#Sketches

Bug/typo predictor

You know this situation when you make a commit to your github repo to than find out that you messed up with some silly mistake or just made a typo -- and than immediately follow up by a second commit that fixes the thing.

Now wouldn't it be great to have a nice system that predicts such cases and suggests you what you would otherwise fix after breaking the build or at a code review? Thing Google Smart Reply for developers.

Funny part is, you have all data in the world available at github or bitbucket or any other opensource hub.

As a first step you could take commit data and try predicting whether the next commit will be made in under N minutes, change a few words and have the name 'typo' in the commit message.

Personality by image

  • Core idea: predict person's hobbies, ideology, etc. given his photo.
  • This brings you closer to magic glasses that tell you 'dat guy is likely to be a backend dev just like you. He also likes indie Rock bands and plays D&D' -- about a dude you randomly encounter in a pub or something without actually DOXing him.