What are CNNs?
A CNN, also known as a ConvNet, is one of the most widely used deep learning algorithms for computer vision tasks. Let's say we are performing an image-recognition task. Consider the following image.
We want our CNN to recognize that it contains a horse:
Figure 7.25: Image containing a horse
How can we do that? When we feed the image to a computer, it basically converts it into a matrix of pixel values. The pixel values range from 0 to 255, and the dimensions of this matrix will be of [image width x image height x number of channels]. A grayscale image has one channel, and colored images have three channels, red, green, and blue (RGB).
Let's say we have a colored input image with a width of 11 and a height of 11, that is 11 x 11, then our matrix dimension would be [11 x 11 x 3]. As you can see in [11 x 11 x 3], 11 x 11 represents the image width and height and 3 represents the channel number, as we have a colored image. So, we will...