This project is part of the Artificial Intelligence course offered by the Warsaw University of Technology. It involves the implementation of a convolutional neural network (CNN) from scratch, using only NumPy to understand the fundamentals of CNN operations, including convolutional layers, pooling, and backpropagation.
- To understand the underlying mathematics and operations of convolutional neural networks.
- To implement the forward and backward passes of a CNN from scratch.
- To apply the CNN on a dataset "Fashion MNIST" for image classification tasks.
- Python 3.x
- NumPy
- Matplotlib (for visualizing the results)
- Clone the repository to your local machine.
- Navigate to the project directory
- Create virtualenv
- Activate virtualenv and install dependencies
Briefly describe the architecture of your CNN, including:
- Number of layers
- Types of layers (convolutional, pooling, fully connected)
- Activation functions used
Describe the dataset used for training and testing the model, including:
- Source of the dataset
- Number of images
- Image dimensions
- Classes
Discuss the performance of your model, including:
- Accuracy on the training and test sets
- Any overfitting or underfitting observed
- Visualizations of loss and accuracy over epochs (optional)
Discuss any challenges encountered during the project's development, such as:
- Implementing backpropagation from scratch
- Optimizing the model for better performance
- Dealing with overfitting
Outline potential improvements or next steps for the project, such as:
- Implementing additional regularization techniques
- Testing the model on different datasets
- Enhancing the model architecture for improved accuracy
- Your Name (your email)
- Mention any resources, articles, or papers that were particularly helpful.
- Acknowledge contributions from peers, instructors, or others.
Include a license for your project, if applicable.