This repository contains a project aimed at building a Convolutional Neural Network (CNN) from scratch using NumPy. The project focuses on implementing key components of a neural network, such as the ReLU activation function, fully connected layers, and the convolutional and pooling layers. The goal is to develop an end-to-end pipeline for image classification tasks, demonstrating a deep understanding of CNNs by implementing the architecture from first principles.
This project involves building the following components:
- ReLU Activation: A simple activation function to introduce non-linearity.
- Fully Connected Layer: Standard dense layers with backpropagation.
- Convolutional Layer: Implements convolutions for extracting spatial features.
- Pooling Layer: Includes max pooling and average pooling to downsample feature maps.
- Cross-Entropy Loss: Loss function for classification tasks.
- Softmax Activation: Converts output scores into probabilities for multi-class classification.
The project aims to provide an understanding of how CNNs work from the ground up by avoiding deep learning libraries such as TensorFlow or PyTorch in core implementations.