Sommaire CNN Presentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

What is Convolutional Neural

Network — CNN (Deep


Learning)

Nafiz Shahriar
·
Follow
6 min read
·
Feb 1, 2023

30

C onvolutional Neural Networks (CNNs) are a type of deep

learning neural network architecture that is particularly well suited


to image classification and object recognition tasks. A CNN works by
transforming an input image into a feature map, which is then
processed through multiple convolutional and pooling layers to
produce a predicted output.
Convolutional Neural Network — CNN architecture

In this blog post, we will explore the basics of CNNs, including how
they work, their architecture, and how they can be used for a wide
range of computer vision tasks. We will also provide examples of
some real-world applications of CNNs, and outline some of the
benefits and limitations of this deep-learning architecture.

Working of Convolutional Neural Network:

A convolutional neural network starts by taking an input image,


which is then transformed into a feature map through a series of
convolutional and pooling layers. The convolutional layer applies a
set of filters to the input image, each filter producing a feature map
that highlights a specific aspect of the input image. The pooling layer
then downsamples the feature map to reduce its size, while retaining
the most important information.

The feature map produced by the convolutional layer is then passed


through multiple additional convolutional and pooling layers, each
layer learning increasingly complex features of the input image. The
final output of the network is a predicted class label or probability
score for each class, depending on the task.

The architecture of Convolutional Neural Network:

A typical CNN architecture is made up of three main components:


the input layer, the hidden layers, and the output layer. The input
layer receives the input image and passes it to the hidden layers,
which are made up of multiple convolutional and pooling layers. The
output layer provides the predicted class label or probability scores
for each class.

The hidden layers are the most important part of a CNN, and the
number of hidden layers and the number of filters in each layer can
be adjusted to optimize the network’s performance. A common
architecture for a CNN is to have multiple convolutional layers,
followed by one or more pooling layers, and then a fully connected
layer that provides the final output.

Applications of Convolutional Neural Network:


CNNs have a wide range of applications in computer vision,
including image classification, object detection, semantic
segmentation, and style transfer.

Image classification: Image classification is the task of assigning


a class label to an input image. CNNs can be trained on large
datasets of labeled images to learn the relationships between the
image pixels and the class labels, and then applied to new, unseen
images to make a prediction.

Object detection: Object detection is the task of identifying objects


of a specific class in an input image and marking their locations. This
can be useful for applications such as security and surveillance,
where it is important to detect and track objects in real time.

Semantic segmentation: Semantic segmentation is the task of


assigning a class label to each pixel in an input image, producing a
segmented image that can be used for further analysis. This can be
useful for applications such as medical image analysis, where it is
important to segment specific structures in an image for further
analysis.

Style transfer: Style transfer is the task of transferring the style of


one image to another image while preserving the content of the
target image. This can be useful for applications such as art and
design, where it is desired to create an image that combines the
content of one image with the style of another.
Layers of Convolutional neural network:

The layers of a Convolutional Neural Network (CNN) can be broadly


classified into the following categories:

1. Convolutional Layer: The convolutional layer is


responsible for extracting features from the input image. It
performs a convolution operation on the input image,
where a filter or kernel is applied to the image to identify
and extract specific features.

Convolutional Layer

1. Pooling Layer: The pooling layer is responsible for


reducing the spatial dimensions of the feature maps
produced by the convolutional layer. It performs a down-
sampling operation to reduce the size of the feature maps
and reduce computational complexity.
MaxPooling Layer

1. Activation Layer: The activation layer applies a non-


linear activation function, such as the ReLU function, to the
output of the pooling layer. This function helps to introduce
non-linearity into the model, allowing it to learn more
complex representations of the input data.

Activation Layer

1. Fully Connected Layer: The fully connected layer is a


traditional neural network layer that connects all the
neurons in the previous layer to all the neurons in the next
layer. This layer is responsible for combining the features
learned by the convolutional and pooling layers to make a
prediction.
Fully Connected Layer

1. Normalization Layer: The normalization layer performs


normalization operations, such as batch normalization or
layer normalization, to ensure that the activations of each
layer are well-conditioned and prevent overfitting.

2. Dropout Layer: The dropout layer is used to prevent


overfitting by randomly dropping out neurons during
training. This helps to ensure that the model does not
memorize the training data but instead generalizes to new,
unseen data.

3. Dense Layer: After the convolutional and pooling layers


have extracted features from the input image, the dense
layer can then be used to combine those features and make
a final prediction. In a CNN, the dense layer is usually the
final layer and is used to produce the output predictions.
The activations from the previous layers are flattened and
passed as inputs to the dense layer, which performs a
weighted sum of the inputs and applies an activation
function to produce the final output.
Dense layer

Benefits of Convolutional Neural Network:

1. Feature extraction: CNNs are capable of automatically


extracting relevant features from an input image, reducing
the need for manual feature engineering.

2. Spatial invariance: CNNs can recognize objects in an


image regardless of their location, size, or orientation,
making them well-suited to object recognition tasks.

3. Robust to noise: CNNs can often handle noisy or


cluttered images, making them useful for real-world
applications where image quality may be variable.

4. Transfer learning: CNNs can leverage pre-trained


models, reducing the amount of data and computational
resources required to train a new model.

5. Performance: CNNs have demonstrated state-of-the-art


performance on a range of computer vision tasks, including
image classification, object detection, and semantic
segmentation.
Limitations of Convolutional Neural Network:

1. Computational cost: Training a deep CNN can be


computationally expensive, requiring significant amounts of
data and computational resources.

2. Overfitting: Deep CNNs are prone to overfitting, especially


when trained on small datasets, where the model may
memorize the training data rather than generalize to new,
unseen data.

3. Lack of interpretability: CNNs are considered to be a “black


box” model, making it difficult to understand why a
particular prediction was made.

4. Limited to grid-like structures: CNNs are limited to grid-


like structures and cannot handle irregular shapes or non-
grid-like data structures.

Conclusion:
In conclusion, Convolutional Neural Networks (CNNs) is a powerful
deep learning architecture well-suited to image classification and
object recognition tasks. With its ability to automatically extract
relevant features, handle noisy images, and leverage pre-trained
models, CNNs have demonstrated state-of-the-art performance on a
range of computer vision tasks. However, they also have their
limitations, including a high computational cost, overfitting, a lack of
interpretability, and a limited ability to handle irregular shapes.
Nevertheless, CNNs remain a popular choice for many computer
vision tasks and are likely to continue to be a key area of research
and development in the coming years.
.

You might also like