What are Convolutional Neural Networks (CNNs)?
Area of Deep Learning specializes in pattern recognition. e.g. when we draw the picture of an object it identifies what object it is.
The network consists of multiple layers that are interconnected, and each layer receives some input, transforms that input to something else, and passes it as output to the next layer. That’s how neural networks work, and CNN is a particular part of the neural network or a section of layers.
Now, a filter is just a three-by-three block, and within that block, we can specify a pattern to look for. So we could say, let’s look for a pattern like this, a right angle in our image. So what we do is we take this filter, and it’s a three-by-three block here. We will analyze the equivalent three-by-three block up here as well. So we’ll look at first of all these first groups of three by three pixels, and we will see how close are they to the filter shape, and we’ll give that a numeric score. Then we will move across one column to the right and look at the next three by three blocks of pixels and score how close they are to the filter shape, and we will continue to slide over or convolve over all of these pixel layers until we have mapped every three by three block.
Now, that’s just for one filter, but what that will give us is an array of numbers that say how closely an image matches our filter. But we can add more filters. So we could add another three by three filter here, and perhaps this one looks for a shape like this, and we could add a third filter here, and perhaps this looks for a different kind of right-angle shape.
If we take the numeric arrays from all of these filters and combine them in a process called pooling, then we have a much better understanding of what is contained within this series of pixels. Now, that’s just the first layer of the CNN, and as we go deeper into the neural network, the filters become more abstract, or they can do more. So the second layer of filters perhaps can perform tasks like basic object recognition. So we could have filters here that might be able to recognize the presence of a window or the presence of a door or the presence of a roof.
And as we go deeper into the CNN to the next layer, well, maybe these filters can perform even more abstract tasks like being able to determine whether we’re looking at a house or we’re looking at an apartment or whether we’re looking at a skyscraper. So you can see the application of these filters increases as we go through the network and can perform more and more tasks, and that’s a very high-level basic overview of what CNN is.