In Chapter 2, Composing Networks, we built an MLP network that was composed of multiple pairs of fully connected layers and activation layers. In this chapter, we will build and train a convolutional neural network (CNN). This type of network is so named because it primarily uses convolution layers (introduced in the next section). For computer vision problems, CNNs have been shown to deliver better results with fewer numbers of parameters compared to MLPs. One of the first successful CNNs was used to solve the MNIST problem that we looked at earlier. This network, named LeNet-5, was created by Yann LeCun and his colleagues:
We will construct a network similar in spirit to the LeNet. We will refer to this as the LeNet model in the remainder of this book. From Figure 3.4, we can see that our LeNet network has eight layers...