DragosGhinea / deep-hallucination-classification

Machine learning college project (Kaggle)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deep Hallucination Classification (Kaggle competition)

Classify images hallucinated by deep generative models

You can checkout all the details here. But for the sake of convenience I will also copy paste some information from Kaggle in this readme.

Description

This is a deep image hallucination classification challenge in which competitors train deep classification models on a data set containing images generated by deep generative models. Competitors are scored based on the classification accuracy on a given test set. For each test image, the participants have to predict its class label.

Task

Participants have to train a model for deep hallucination classification. This is a multi-way classification task in which an image must be classified into one of the 96 classes.

The training data is composed of 12,000 image files. The validation set is composed of 1,000 image files. The test is composed of 5,000 image files.

Submission details and my results

  • Competitors: 146
  • Entries: 1281

In this competition I managed to obtain:

  • 0.54 accuracy using SVM
  • 0.941 accuracy using CNN
  • 2nd place in the private leaderboard

Project Info

All the information related to the evolution of the project and techniques used can be found inside the doc.pdf file, available in romanian only.

Although both SVM and CNN were used, I insisted more on the second one.

For the evolution of the CNN model a variety of aspects were taken into account, such as:

  • data normalization
  • optimization algorithms (Adam/SGD/RMSprop)
  • weight decay
  • data augmentation
  • learning rate scheduler
  • activation functions (ReLU/PReLU)
  • batch normalization
  • early stopping
  • skip layer
  • histogram of oriented gradients/raw pixel representation features
  • dropout

The final architecture of CNN ended up looking like this:

CNN_architecture

About

Machine learning college project (Kaggle)

License:GNU General Public License v3.0


Languages

Language:Python 100.0%