Convolutional Neural Network (CNN) is a type of neural network Architecture that is widely used for performing deep learning on image data. Similar to Deep Neural Networks (DNNs), CNN also consists of an input layer, a hidden layer(s), and an output layer. What differentiates CNNs from ordinary DNNs is that the hidden layers of a CNN consist of a special series of layers called the convolutional and pooling layers.
The following image gives a top-level view of what CNN looks like:
In the coming chapters, we will understand the operations that are performed in each layer of a CNN as shown in the image above.
Why are Convolutional Neural Networks so popular?
The Convolutional Neural Network (CNN) was first popularized by the deep learning researcher, Yann LeCun, when he successfully used a CNN architecture to classify images of hand-written digits. This CNN architecture was called the LeNet-5 and it used gradient descent to automatically learn pixel-level features of an image through model training.
After learning about LeCun’s success with the LeNet-5, the Computer Vision community started showing great interest in the research of CNN architectures for image classification tasks. A race had begun to find the architecture which demonstrated the best results in public image datasets such as the ImageNet which had hundreds and thousands of images.
The rise in computational power (from CPUs to GPUs to TPUs) also aided in the accelerated growth of the field. Researchers could easily train a large CNN model in just days and not have to wait for weeks to optimize their models based on the results.
Nowadays, CNNs are widely used for image classification problems. The results demonstrated by new CNN architectures have already shown that they can beat humans in classifying hundreds of thousands of images with a higher level of accuracy.
Starting from the next lesson onwards, we will start to understand the fundamental concepts and operations of a Convolutional Neural Network and why they work well together to build up a Convolutional Neural Network.
Do you want to learn Python, Data Science, and Machine Learning while getting certified? Here are some best selling Datacamp courses that we recommend you enroll in:
- Introduction to Python (Free Course) - 1,000,000+ students already enrolled!
- Introduction to Data Science in Python- 400,000+ students already enrolled!
- Introduction to TensorFlow for Deep Learning with Python - 90,000+ students already enrolled!
- Data Science and Machine Learning Bootcamp with R - 70,000+ students already enrolled!