If you haven't heard about Convolutional Neural Networks yet ( Do you live in a cave? Just kidding ), or Neural Networks in general, I bet you've heard all about it's applications. They're used in recognition systems such as Face recognition, handwritten digits recognition and also used in my loved example, self-driving cars ( I really enjoy self-driving cars if you haven't noticed ). Ok, now you know what this is all about, but how Convolutional Neural Networks work?
MLP vs CNNs
Before telling you all about CNNs, let me explain why MLPs ( Multilayer Perceptrons ) doesn't work quite as well as CNNs. We've talked about how does a computer process an image. Suppose we have a 2x2 turtle, to use our images in the MLP we need to transform the 2x2 turtle into a one dimensional vector, but by doing so we lose all spatial information, if the image is translated our MLP can't learn that this is just the same image but in a different position.
The idea behind CNNs
Now in this example suppose we have a 4x4 turtle, instead of just transforming into 16 elements and feed it to the Neural Network, we could play smart and change the weights in a way that every neuron in the hidden layer is responsible to getting to know a region of our image, isn't this cool? With this cleaver trick the CNNs is able to learn spatial information from the image
This is the very very basic idea behind what makes MLP so different from Convolutional Neural Networks. You can get a more advanced and deep understanding of CNNs, for this you can get our hands on the layers of the CNN and what the are doing. This involves a more depth knowledge in computer vision and filters. But if you got really interested in CNNs I really recommend looking at this amazing article. If you want more content like this, I have a YouTube Channel