Convolutional Neural Net Image Classifier
Trained on 10 image classes with the CIFAR10 dataset.
ai, machine learning, image classification, cnn
Abstract
This project offers a fresher’s introduction of machine learning from the perspective of someone with a physics undergraduate background, with an emphasis on creating intuition through application. A simple Convolutional Neural Network (CNN) was created and trained for image classification tasks in order to improve knowledge of neural networks.
The model was trained on the CIFAR-10 dataset, which consists of 10 image classes, including categories such as – airplanes, automobiles(cars), birds, cats, deer, dogs, frogs, horses, ships, and trucks. The implementation was carried out using the PyTorch deep learning framework, within a Jupyter Notebook environment to facilitate interactive development, documentation and experimentation.
On the test dataset, the trained model’s classification performance was satisfactory. The model was further tested on images from outside the CIFAR-10 dataset in order to assess generalization even more. The outcomes show that the model can fairly generalize to previously encountered real-world inputs, proving the usefulness of the implemented CNN architecture as a deep learning learning exercise.
Purpose of This Project
The real goal is to create a machine learning model that can predict emergent properties of chemical compounds or materials and enable comparative study between numerous inputs, as an ongoing research project. The finished product will then be given to Dhaka University - Department of Physics. According to preliminary research, atomic structures and material lattices can be characterized as nodes and edges in graphs, which are a natural representation of such systems. For the intended application, this encourages the usage of Graph Neural Networks (GNNs) or their variations.
Gaining a thorough understanding of neural networks and their training processes is crucial before tackling GNN-based modeling. Additionally, GNNs use message-passing mechanisms, which extend Convolutional Neural Networks’ notion of localized feature aggregation. CNNs thus offer a practical and conceptual basis for comprehending the behavior of more intricate graph-based structures.
This project focuses on building a CNN-based system to obtain practical experience with fundamental deep learning procedures, even though the theoretical and architectural features of the objective GNN model are still being actively investigated. In addition to research on the relevant frameworks and implementation techniques, this effort extends to include hands-on experience of network creation, architectural design principles, parameter optimization, training methods, and evaluation strategies.
Through this process, the project provides practical insight into optimization and training dynamics, helping to establish an intuitive connection between convolutional operations in CNNs and message-passing mechanisms in GNNs. This experience serves as a stepping stone toward the development of more advanced experimental graph-based models, which are currently in the research and design phase, in hopes of these eventually leading to designing the architecture of the target model later.
References:
- Primary paper: An Introduction to Convolutional Neural Networks: O’Shea, K., & Nash, R. (2015)
- Technical guide: GeeksforGeeks article - Introduction to Convolutional Neural Networks to follow.
- Youtube: I suggest this playlist as a very simple introductory choice for anyone interested. Learn With Jay: Convolutional Neural Networks - Playlist