In this project, I explored the use of convolutional neural networks (CNNs) for image classification using the CIFAR-10 dataset. With 50,000 training and 10,000 testing images spanning ten classes, CIFAR-10 is a crucial benchmark in computer vision and has driven advancements in neural network techniques.
I developed a baseline CNN model and conducted experiments to optimize its performance. The key areas of investigation included:
- Learning Rate Optimization: Tested various learning rates and implemented a custom learning rate scheduler.
- Dropout Implementation: Evaluated the impact of dropout on model performance and generalization.
- Gradient Flow Analysis: Examined the network's gradient flow with and without dropout, assessing the effect of batch normalization on performance.
The experiments yielded significant insights, with the best-performing model achieving a test set loss value of 0.675 using a static learning rate and batch normalization. This project not only strengthened my understanding of CNN architectures but also expanded my portfolio with practical experience in machine learning and model optimization.
All of the important code and markdown cells for this project can be found in the 246518.ipynb
notebook.