Learn about Convolutional Neural Networks (CNN) from Scratch

Convolutional Neural Networks, or CNN as they’re popularly called, are the go-to deep learning architecture for computer vision tasks, such as object detection, image segmentation, facial recognition, among others. CNNs have even been extended to the field of video analysis!

If you are picking one deep learning architecture to learn and are not sure where to start, you should go for convolutional neural networks. Deep learning enthusiasts and experts with CNN knowledge are being widely sourced in the industry.

It’s your time to use this CNN skillset and shine!

Here are key questions about convolutional neural networks you should be able to answer in deep learning:

- What is a convolutional neural network (CNN)?

- What do you mean by a convolution in CNN?

- Why should you learn CNN in the first place?

- How are convolutional neural networks better than artificial neural networks (ANN)?

- How can you implement convolutional neural networks?

- What challenges could you face when using CNNs?

- What projects can you work on using convolutional neural networks?

- What are the applications of convolutional neural networks (CNN)?

- Can I add CNN projects to my resume and use them in deep learning interviews?


Learn all about convolutional neural networks (CNN) from scratch in this course by Analytics Vidhya. We will cover the components of a CNN and also build a CNN from scratch using Keras and NumPy!

Who is the Convolutional Neural Network (CNN) from Scratch Course For?

This course is designed for anyone who is:

  • Interested in learning about CNNs
  • A newcomer to deep learning
  • Exploring the various aspects of deep learning
  • Curious about the most popular type of neural network for working with image data!

You can go through the Introduction to Neural Networks course first.

What do you need to get started with the CNN course?

Here’s what you’ll need:

  • 8GB of RAM 
  • i5 processor
  • 1TB of storage
  • 4 GB of Nvidia Graphics Card

Common Questions Deep Learning Newcomers Ask about Convolutional Neural Networks (CNN)

What is a Convolutional Neural Network?

A Convolutional Neural Network is a powerful neural network that uses filters to extract features from images. It also does so in such a way that position information of pixels is retained.

What do you mean by Convolution in a CNN?

A convolution is a mathematical operation applied on a matrix. This matrix is usually the image represented in the form of pixels/numbers. The convolution operation extracts the features from the image.


Why do we need to learn Convolutional Neural Networks?

Neural networks have led to huge breakthroughs in machine learning and are the fundamental reason behind the deep learning boom. Neural networks like CNNs have proved particularly successful in working with image data and ever since being used in ImageNet competition in 2012, they have been the frontrunners in research and industry while dealing with images.

How are Convolutional Neural Networks better than ANN?

While solving an image classification problem using ANN, the number of trainable parameters increases drastically with an increase in the size of the image. Convolutional Neural Networks captures the spatial features from an image, which ANNs fail to do so. 

How can I implement Convolutional Neural Networks?

Convolutional Neural Networks have become the go-to method for solving any image data challenge. All popular frameworks support Convolutional Neural Networks like Tensorflow-Keras and PyTorch. You can also write your own CNNs using only NumPy.


What challenges could I face while implementing Convolutional Neural Networks?

Though Convolutional Neural Networks are powerful models, there can still be some challenges while implementing them. These include:

  • Taking up a lot of processing power
  • Needing a large amount of data for training
  • Being difficult to interpret since deep learning is still a developing and rapidly changing field


Which projects are covered in this course?

In this course, we cover a variety of projects which implement Convolutional Neural Networks so that you can get a good idea of how useful CNNs are.

They include:

  • Implementing Convolutional Neural Networks from Scratch using NumPy on the MNIST dataset
  • Implementing Convolutional Neural Networks using Keras to classify cat and dog images
  • Using PyTorch and Convolutional Neural Networks to classify apparels


On what other projects would I implement Convolutional Neural Networks?

There are many such Computer Vision tasks that you can solve using Convolutional Neural Networks. Some of them are:

What are the applications of Convolutional Neural Networks in the industry?

In the industry, Convolutional Neural Networks have a variety of applications, especially in the Computer Vision domain. Examples include:

  • Facial recognition
  • Digitization of paper documents/OCR
  • IoT Devices

 

I already understand Convolutional Neural Networks. What should be the next step in my learning path?

Once you are familiar with Convolutional Neural Networks, you can move on to more advanced concepts in Computer Vision and Deep Learning. To further explore Computer Vision, you can enrol in this course: 

Certified Computer Vision with Deep Learning Course

Can I add this project to my resume and use it in my Interview?

As more and more progress is being done in the field of deep learning and on IoT devices, there is going to be a lot of unstructured that we would be dealing with. This is leading to a rise in niche deep learning roles

Convolutional Neural Networks form the foundation of more complicated tasks in Computer Vision and thus such projects would be a great addition to your Resume. Having implemented Convolutional Neural Networks using both Keras and PyTorch in the course, this would give you brownie points in the interview as well.

Course curriculum

  • 1
    Introduction to Neural Networks
    • What is a Neural Network?
    • Types of Neural Networks
    • Prerequisites
  • 2
    Introduction to CNNs
    • What is a Convolutional Neural Network?
    • Why should you use a CNN
  • 3
    Architecture of a CNN
    • The Convolutional Layer
    • The Pooling Layer
    • The Ouput Layer
    • Taking a step back: The bigger picture of CNNs
  • 4
    Mathematics behind CNNs
    • Transforming the data
    • Forward Propagation
    • Backpropagation
  • 5
    Implementing a CNN
    • Using NumPy
    • Using Keras
  • 6
    What Next?
    • Implementing a CNN in PyTorch
    • More projects with CNN

Instructor(s)

  • Analytics Vidhya

    Analytics Vidhya

    Analytics Vidhya provides a community based knowledge portal for Analytics and Data Science professionals. The aim of the platform is to become a complete portal serving all knowledge and career needs of Data Science Professionals.

FAQ

Common questions related to the Convolutional Neural Networks (CNN) from Scratch course

  • Who should take the Convolutional Neural Networks (CNN) from Scratch course?

    This course is designed for anyone who wants to learn all about convolutional neural networks, how CNNs work, the different components of CNN, and how to implement CNN from scratch in Python for deep learning.

  • I have decent programming experience but no background in deep learning. Is this course right for me?

    You would need to know the basics of neural networks. We suggest taking the popular ‘Introduction to Neural Networks’ course on Analytics Vidhya.

  • What is the fee for the course?

    This course is free of cost!

  • How long would I have access to the “Convolutional Neural Networks (CNN) from Scratch” course?

    Once you register, you will have 6 months to complete the course. If you visit the course 6 months after your initial registration, you will need to enroll in the course again. Your past progress will be lost.

  • How much effort do I need to put in for this course?

    You can complete the “Convolutional Neural Networks (CNN) from Scratch” course in a few hours.

  • I’ve completed this course and have a good grasp on the various dimensionality reduction techniques. What should I learn next?

    The next step in your journey is to build on what you’ve learned so far. We recommend taking the popular “Computer Vision using Deep Learning” course

  • Can I download the videos in this course?

    We regularly update the “Convolutional Neural Networks (CNN) from Scratch” course and hence do not allow videos to be downloaded. You can visit the free course anytime to refer to these videos.

Enroll in Convolutional Neural Networks (CNN) from Scratch

More than 1 Million users use Analytics Vidhya every month to learn Data Science. Start your journey now!

Get started now