Home Image Classification using a Convolutional Neural Network
Post
Cancel

Image Classification using a Convolutional Neural Network

Overview

This project aims to design and train a convolutional neural network (CNN) on the CIFAR-10 dataset. Model over-fitting and poor performance are the main issues in designing a CNN. To solve these problems, I conducted a list of well-thought strategies.

Window shadow CIFAR-10 Dataset

Workflows used: Git and Agile. Technologies used: Python, Jupyter, TensorFlow.

Note: This project was done as part of assessment for module CSC2034.

Task

Design and train a Convolutional Neural Network that performs as well as possible on the CIFAR-10 dataset.

Results

After implementing pre-defined CNN architecture, optimisation algorithm, image data augmentation techniques and tuning general model parameters, overall model train accuracy jumped to 94%, and test accuracy reached 89%. Both train and test losses were below 0.4.

Window shadow Accuracy and loss of the final model

Window shadow Confusion matrix of the final model

Summary of CNN Development

In this study, I performed systematic experiments to design and train a convolutional neural network. Throughout the development of the model, I improved CNN performance and reduced overfitting with four different strategies: by selecting pre-defined CNN architecture, optimisation algorithm, implementing image data augmentation and tuning general training hyper-parameters such as batch size and the number of epochs.

Window shadow Summary of CNN development

Learning Outcomes

  • Selected and applied techniques appropriate to a particular task or goal.
  • Demonstrated use of relevant software tools.
  • Critically evaluated and assessed research papers.
  • Gained knowledge of the basic concepts of deep learning.

Learn More

For more knowledge about the project, visit my project’s repository.

This post is licensed under CC BY 4.0 by the author.