diff --git a/contrib/machine-learning/IntroToCNNs.md b/contrib/machine-learning/IntroToCNNs.md
index f832980..fb9027a 100644
--- a/contrib/machine-learning/IntroToCNNs.md
+++ b/contrib/machine-learning/IntroToCNNs.md
@@ -26,25 +26,15 @@
## Introduction
-
Convolutional Neural Networks (CNNs) are a specialized type of artificial neural network designed primarily for processing structured grid data like images. CNNs are particularly powerful for tasks involving image recognition, classification, and computer vision. They have revolutionized these fields, outperforming traditional neural networks by leveraging their unique architecture to capture spatial hierarchies in images.
### Why CNNs are Superior to Traditional Neural Networks
-
-1. **Localized Receptive Fields**:
- - CNNs use convolutional layers that apply filters to local regions of the input image. This localized connectivity ensures that the network learns spatial hierarchies and patterns, such as edges and textures, which are essential for image recognition tasks.
-
-2. **Parameter Sharing**:
- - In CNNs, the same filter (set of weights) is used across different parts of the input, significantly reducing the number of parameters compared to fully connected layers in traditional neural networks. This not only lowers the computational cost but also mitigates the risk of overfitting.
-
-3. **Translation Invariance**:
- - Due to the shared weights and pooling operations, CNNs are inherently invariant to translations of the input image. This means that they can recognize objects even when they appear in different locations within the image.
-
-4. **Hierarchical Feature Learning**:
- - CNNs automatically learn a hierarchy of features from low-level features like edges to high-level features like shapes and objects. Traditional neural networks, on the other hand, require manual feature extraction which is less effective and more time-consuming.
+1. **Localized Receptive Fields**: CNNs use convolutional layers that apply filters to local regions of the input image. This localized connectivity ensures that the network learns spatial hierarchies and patterns, such as edges and textures, which are essential for image recognition tasks.
+2. **Parameter Sharing**: In CNNs, the same filter (set of weights) is used across different parts of the input, significantly reducing the number of parameters compared to fully connected layers in traditional neural networks. This not only lowers the computational cost but also mitigates the risk of overfitting.
+3. **Translation Invariance**: Due to the shared weights and pooling operations, CNNs are inherently invariant to translations of the input image. This means that they can recognize objects even when they appear in different locations within the image.
+4. **Hierarchical Feature Learning**: CNNs automatically learn a hierarchy of features from low-level features like edges to high-level features like shapes and objects. Traditional neural networks, on the other hand, require manual feature extraction which is less effective and more time-consuming.
### Use Cases of CNNs
-
- **Image Classification**: Identifying objects within an image (e.g., classifying a picture as containing a cat or a dog).
- **Object Detection**: Detecting and locating objects within an image (e.g., finding faces in a photo).
- **Image Segmentation**: Partitioning an image into segments or regions (e.g., dividing an image into different objects and background).
@@ -55,7 +45,6 @@ Convolutional Neural Networks (CNNs) are a specialized type of artificial neural
### Let's start by understanding the basic architecture of CNNs.
## CNN Architecture
-
Convolution layers, pooling layers, and fully connected layers are just a few of the many building blocks that CNNs use to automatically and adaptively learn spatial hierarchies of information through backpropagation.
### Convolutional Layer
@@ -67,31 +56,22 @@ The dimensions of the input image, including the number of channels (e.g., 3 for
-- The input matrix represents a simplified binary image of handwritten digits,
-where '1' denotes the presence of ink and '0' represents the absence of ink.
-
+- The input matrix is a binary image of handwritten digits,
+where '1' marks the pixels containing the digit (ink/grayscale area) and '0' marks the background pixels (empty space).
- The first matrix shows the represnetation of 1 and 0, which can be depicted as a vertical line and a closed loop.
-
- The second matrix represents 9, combining the loop and line.
-
-
#### Strides
The step size with which the filter moves across the input image.