Deep Learning CNN
Deep Learning CNN
Mani Shankar
Convolution Neural Network(CNN)
Convolution Neural Network(CNN)
What is Convolution?
Convolution helps reduce the size of the input while preserving essential spatial
features, making it efficient for tasks like image recognition and object detection.
Convolution Neural Network(CNN)
Why we want to reduce the size of input?
Reducing the size of the input in deep learning, particularly in Convolutional Neural Networks
(CNNs), is important for several reasons:
1. Computational Efficiency
Less data to process: Smaller input size reduces the computational load and memory
requirements, speeding up the training and inference processes.
Feasible model size: It allows for smaller, more manageable network architectures.
2. Prevent Overfitting
Less parameter complexity: A reduced input size often leads to fewer trainable parameters,
minimizing the risk of overfitting to the training data.
3. Focus on Important Features
Feature extraction: Downsampling (via pooling or strided convolutions) helps the network
retain the most important features (edges, shapes, patterns) while discarding unnecessary
details, like noise or irrelevant background information.
4. Hierarchical Learning
Capture higher-level features: As the input size reduces, deeper layers in the network can
focus on learning complex, high-level features (like objects) rather than low-level details (like
pixels).
Convolution Neural Network(CNN)
Parameter Sharing
Definition: The same set of filter weights (or kernel) is used
across all spatial locations of the input. This means the filters
are "shared" rather than unique for each position.
Benefit:
• Greatly reduces the number of parameters in the network,
especially for large inputs like images or videos.
• Helps the network generalize better since the same patterns
(e.g., edges or textures) can appear in different parts of an
image, and the same filter can detect them regardless of their
position.
Equivariance
• if an object moves in the image, its features in the
convolutional output also "move" correspondingly.
Equivariance
Translation Invariance
Convolution Neural Network(CNN)
• Equivariance concept is being used in convolution.
• Translation Invariance concept is used in pooling.