Convolutional Neural Network Theoretical Course (Course VIII)July 17, 2020 2020-08-04 10:54
Convolutional Neural Network Theoretical Course (Course VIII)
- Welcome to Course VIII!
- Introduction to Convolutional Neural Networks
- The Convolution Operation
- Stride and Calculation of Output Size
- The Pooling Operation
- The Convolution/Pooling Operation for RGB images
- Padding an Image
- Building a Convolutional Neural Network
- Training a Convolutional Neural Network
- End of Course
Introduction to Convolutional Neural Networks
Convolutional Neural Network (CNN) is a type of Neural Network Architecture that is widely used for performing deep learning on imagery 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.