The Cats & Dogs Project
This year’s class project will revolve around the Dogs vs. Cats Kaggle challenge, which was held from September 25, 2013 to February 1st, 2014.
The task is straightforward: given an image, determine if it contains a cat or a dog.
There are two stages to the project.
In the first stage, you are asked to build a classifier which obtains at least 80% accuracy on the test set. This constitutes a minimal requirement for the class project.
As a reference, here’s a paper detailing what was considered state-of-the-art before the Kaggle contest was held. At the time, state-of-the-art was slightly above 80%.
Contrary to most of the top entries in the contest, you won’t be allowed to use external data to train a feature extractor (e.g. training a network on ImageNet and using the trained network to extract features for the Dogs vs. Cats challenge is not allowed).
Two reasons justify this decision:
- Allowing this may put a high strain on lab resources, as many people training a large model on ImageNet at the same time is likely to require lots of GPUs.
- The project aims at familiarizing students with deep learning techniques, and using existing feature extractors such as OverFeat goes against this goal. Lots of insights which are gained by attempting to train model like OverFeat are lost if it is used only as a black box feature extractor.
In the second stage, you are asked to make an improvement over existing models, either with respect to memory footprint or computation time.
You’ll have to work together to establish baselines and try new ideas to improve upon those baselines.
Good results will obviously be rewarded but are not strictly required. Novel ideas, especially if they’re plausibly justified, will also be rewarded if an honest attempt is made at trying them out.