A convolutional neural network (CNN or ConvNet) is a category of neural network. It can include one or more convolutional layers capable of efficiently processing spatial patterns in data with a grid-like topology. Therefore, CNNs find extensive utility in image-processing applications that work with two-dimensional image data. The layers are arranged in such a way as to detect simpler or more complex patterns.
For example, in an image classification task, the first layers can identify simpler features such as lines and arcs. In contrast, the layers, further along, can detect patterns such as part of a face or an object. So, a CNN made of a single layer can only learn low-level features, and in typical applications, we stack more than one. The plot in Figure 8.14 illustrates this process:
Figure 8.14 – Stacking convolutional layers
Each convolutional layer of the network includes a set of kernels, also known as filters, that aim...