chapter three

3 Convolutional Neural Networks (CNNs)

 

Previously, we talked about Artificial Neural Networks (ANN) also known as Multi-Layer Perceptron (MLP) which are basically layers of neurons stacked on top of each other that have learnable weights and biases. Each neuron receives some inputs, multiplied by their weights and apply non-linearity via activation functions. In this chapter, we will talk about Convolutional Neural Networks (CNNs) which are considered an evolution of the MLP architecture that perform a lot better with images. The high-level layout of this chapter will be as follows:

1)   Image classification with MLP: First, we will start off by a mini-project to classify images using MLP topology and understand how the regular neural network architecture process images. Here you will learn the MLP architecture drawbacks in processing images and why we need a new creative neural network architecture to process images.

2)   Understand CNNs: Explain convolutional networks to see how they extract features from images and classify objects. Here, you will learn the three main components of CNNs: convolutional layer, pooling layer, and fully connected layer. Then we will apply that in another mini-project to classify images with CNNs.

3)   Color images: We will explain how computers see colored images vs grayscale images and how the convolution is implemented over colored images.

3.1   Image classification using MLP

3.1.1   Input layer

3.1.2   Hidden Layers

3.1.3   Output Layer

3.1.4   Putting it all together

3.1.5   Drawbacks of MLPs in processing images

3.1.6   Conclusion

3.2.1   The big picture

3.2.2   A closer look on feature extraction

3.2.3   A closer look on classification

3.3.1   Convolutional layers (CONV)

3.3.2   Pooling layers or subsampling (POOL)

3.3.3   Why use a pooling layer?