Convolutional neural networks
We will now look at another type of neural network that is especially designed to work with data that has some spatial properties, such as images. This type of neural network is called a Convolutional Neural Network (CNN).
A CNN is mainly composed of layers called convolution layers that filter their layer inputs to find useful features within those inputs. This filtering operation is called convolution, which gives rise to the name of this kind of neural network.
The following diagram shows the 2-D convolution operation on an image and its result. It is important to remember that the filter kernel has a depth that matches the depth of the input (3 in this case):
It is also important to be clear that an input to a convolution layer doesn't have to be a 1 or 3 channel image. Input tensors to a convolution layer can have any amount of channels.