Chapter 4. Convolutional Neural Networks
Convolutional networks (reference LeCun[1], 2013), also known as Convolutional neural networks or CNNs, are a particular type of neural network that process data with a grid-like topology. Examples include time-series data, which can be thought of as a 1D grid taking samples at regular time intervals, or image data that is a 2D grid of pixels. The name convolutional neural network means that the network employs a mathematical operation called convolution. Convolution is a specific kind of linear operation. Convolutional networks are neural networks that use convolution (a mathematical operation) in place of general matrix multiplication in at least one of their layers.
First, we will describe the mathematical operation of convolution. Then we will discuss the concept of pooling and how it helps CNN. We will also look at convolution networks implementation in TensorFlow.
Toward the end of this chapter, we will use TensorFlow's CNN implementation to classify...