CNN for Image Classification
Custom and Pre-Trained models for MNIST Digit Clasification
The project documents collaborative efforts in applying pattern recognition and machine learning techniques. The primary focus is on the MNIST dataset, with projects that explore digit classification and neural network optimizations.
My Contribution
I was the project lead in this Pattern Recognition project. My work included model training and building, hyperparameter optimization, and performance evaluation in both the custom Convolutional Neural Network and DenseNet architecture, achieving significant improvements in accuracy and model convergence.
Overview
Part 1: Custom CNN for Image Classification
This project involves the design and implementation of a custom Convolutional Neural Network (CNN) to classify handwritten digits from the MNIST dataset.
Key Features:
- Custom CNN architecture built using PyTorch.
- Dataset split into training, validation, and testing sets.
- Comprehensive evaluation using metrics like accuracy, confusion matrix, precision, and recall.
Training and Validation loss curves:
Repository: Custom CNN Implementation
Part 2: State-of-the-Art CNN Implementations
Each team member implemented and fine-tuned a pre-trained CNN architecture to compare its performance with the custom model:
- DenseNet: Fine-tuned for accuracy improvements and faster convergence.
- ResNet: Utilized residual connections for handling deeper layers.
- GoogLeNet: Fine-tuned for complex image classification tasks.
- VGG: Optimized for feature extraction.
Model | Accuracy |
---|---|
Custom CNN | 99.14% |
DenseNet | 99.28% |
ResNet | 99.56% |
GoogLeNet | 99.04% |
VGG | 99.15% |
</br>
Repositories:
Pending update on overall results.
For more details, visit the Team Synapse organization.