Introduction to CNNs
CNNs are a decades-old machine learning algorithms that never proved their power until Geoffrey Hinton and his lab came up with AlexNet. Since then, CNNs have been through several iterations. Now we have a few different architectures built on top of CNNs, which power all the computer vision implementations around the world.
A CNN is a network architecture that fundamentally consists of small networks, almost like the simple feedforward network introduced in Chapter 2, A Simple Neural Network, but for solving problems with images as input. CNNs consist of neurons that have non-linearity, weight parameters, biases, and spit out one loss value based on which the whole network is rearranged using backpropagation.
If this sounds similar to simple fully connected networks, what makes CNNs special for processing images? CNNs let the developer make certain assumptions that are applicable to images, such as the spatial relation of pixel values.
Simple fully connected...