Convolutional Neural Network for Image Classification

PyTorch CNN with residual connections for image classification (CIFAR-10 dataset).

Problem Definition

Image classification is a fundamental computer vision task where a model must assign an input image to one of several predefined categories. Traditional deep convolutional neural networks often suffer from optimization difficulties as depth increases, leading to vanishing gradients and degraded performance.

Residual Networks (ResNets) address this issue through shortcut connections that allow information and gradients to flow more effectively through the network. In this project, we investigate the use of a lightweight ResNet-style architecture for classifying images from the CIFAR-10 dataset.

The project includes model design, training and evaluation pipelines, providing a complete end-to-end deep learning workflow.


Methodology

The network processes CIFAR-10 images through a sequence of convolutional layers and residual blocks that progressively extract higher-level visual features. Residual connections preserve feature information across layers while improving gradient flow during backpropagation. The final feature representations are mapped to class probabilities through a fully connected classification layer.

Training was performed using mini-batch optimization with SGD/Adam optimizer. Model performance was evaluated using classification accuracy and training loss on the CIFAR-10 benchmark dataset.

The network was trained using the standard Cross Entropy classification loss:

\[\mathcal{L}_{\mathrm{CE}} = -\frac{1}{N}\sum_{n=1}^{N}\sum_{c=1}^{C} y_{n,c}\,\log p_{n,c}, \quad \text{where} \quad p_{n,c}=\frac{e^{z_{n,c}}}{\sum_{k=1}^{C} e^{z_{n,k}}}. \tag{1}\label{eq:ce}\]
Architecture diagram of ResNet-style backbone (3 residual stages).

Results

The model achieved stable convergence during training and demonstrated strong classification performance on the CIFAR-10 dataset. The residual architecture improved optimization stability and enabled efficient feature learning.

Accuracy Plot.

Repository

GitHub Repository – Cifar10-ResNet3-Classifier