Hands-On Convolutional Neural Networks with TensorFlow
上QQ阅读APP看书,第一时间看更新

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.

A lot of the time when talking about convolution layers in a CNN people like to shorten the word convolution down to conv. This is extremely common practice and we will also do the same in this book.