Blog‎ > ‎Machine Learning‎ > ‎

Understanding Convolutional Neural Networks In 2 Minutes!

posted Sep 17, 2017, 3:51 AM by Rohit Bhaskar   [ updated Jul 10, 2018, 11:52 AM by Chirag Trasikar ]

Image result for convolutional neural networks

Have you ever wondered how Google Photos searches the photos based on what object/person is in the picture? Or do you know how Google Goggles recognizes what the clicked picture is all about?

Well, Google uses GoogLeNet, which is itself a convolutional neural network (CNN)!

** Read our Machine Learning Posts before this so that you can understand better

To give you a complete abstract view, a CNN is basically a neural network that makes use of the process of convolution per window (part of the image) to determine certain characteristics from the image. These characteristics are brought together (pooling) to get a new set. These pooled characteristics are again passed through the process multiple times to infer patterns in a deeper manner. At the end they are brought together and then classified. They are extremely effective in image recognition and classification.

Let us understand how CNN recognizes the handwritten number ‘8.*jYKYXkfI4iaE6qg-dEUEcQ.jpeg

For us humans, it is easy to recognize that all these numbers are ‘8’ because we have been trained in our childhood. Similarly, neural network also needs training with the help of which it can start learning and recognizing on its own.

The CNN basically consists of the following layers:

  1. Input Layer : It accepts the input image

  2. Convolution Layer : It extracts different feature maps from the input image

  3. Pooling Layer : It reduces dimension of the feature maps but retains the most important info

  4. Fully Connected Layer : It uses these features to classify the input image into various classes based on the training dataset

  5. Output Layer : It predicts the output of the input image

Thus the number ‘8’ is recognized by CNN in the following manner:

C:\Users\ABC\Desktop\2 MINUTE POSTS\Untitled.png

Thus, CNNs give the best performance in pattern or image recognition problems and can even outperform humans in certain cases. They are also widely used in Natural Language Processing tasks (NLP) such as sentence classification.

That’s all for this post guys! To know more about CNNs in detail, refer this link. Also take a look at the video below

Happy Learning! ☺

- Viraj Sanghvi