Description
In this assignment we will practice to train Convolutional Neural Networks on Fashion-MNIST and ImageNet datasets. The goals of this assignment is to explore
CNN models, techniques for preventing overfitting and various data augmentation tools. We will also get practice on working with one of the key datasets in computer vision.
Tasks
Part I: Fashion-MNIST Classification
- Upload Fashion-MNIST dataset and prepare for training (normalize, split between train/test/validation).
- Build a ConvNet with at least 3 convolutional layers.
- Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.
Part II: Data augmentation and CNN improvements
- Increase the dataset by x4 using any data augmentation techniques (rotations, shifting, mirroring, etc). You can use a combination of these techniques simultaneously.
- Apply tools that help to prevent overfitting (regularisers, dropouts, early stopping, etc). Discuss each of them and how they impact the testing performance.
- Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.
Part III: ImageNet Classification
- Choose at least 20 classes from ImageNet. Each class has to contain at least 500 images.
- Download the dataset (see above for the links to downloader scripts).
- Preprocess the dataset for training (e.g. removing missing images, normalizing, split between training/testing/validation)
- Build a CNN classifier with at least 3 convolutional layers to train on an ImageNet dataset that you have collected. You may use the same model as for Part 2.
- Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.



