CNN Pooling Methods

Background of Neural Networks

Neural Networks were first created in the 1950s and they have been evolving since then. There are different types of neural network. One type of neural network is an Artificial Neural Network which is a computational model that copies the function of cells in the human brain. They use learning algorithms that can adjust independently as they receive new input which makes them a very effective tool for non-linear statistical data modelling. In Deep Learning, Artificial Neural Networks play a significant role in machine learning and help with the wider field of artificial intelligence. The intelligence of computers and other electronic devices is built on machine learning. It makes use of predictive models that can learn from current data and predict future behaviours and trends. Deep learning is a type of machine learning which use mathematical expressions to represent models that were inspired by the human brain.

What is Artificial Neural Network?

An artificial neural network consists of layers that are interconnected. The first layer contains input neurons which send data onto the deeper layers. For computers to learn things and make decisions in a way that is like a human, Artificial Neural Networks are attempts to replicate the network of neurons that make up the human brain. The creation of ANNs involves programming standard computers to act like interconnected brain cells.

What is Convolutional Neural Network

A Convolutional Neural Network (CNN) is a part of Machine Learning and is a subset of several artificial neural networks that are used for different types of data and applications. A Convolutional Neural Network is a particular type of network a design for deep learning algorithms that is utilised for tasks such as image recognition and pixel data processing. Out of all the neural networks, CNNs are the preferred network architecture for identifying and recognising objects which makes them ideally suited for computer vision (CV) tasks and for applications like facial recognition where object recognition is crucial. CNN is also a type of Artificial Neural Network.

CNNs in Deep Learning consists of three layers which are convolutional layer, pooling layer, and a fully connected layer. The first layer is the convolutional layer, and the last layer is the fully connected layer. The complexity of the CNN grows from the convolutional layer to the fully connected layer. Because of this, it allows the CNN to identify larger portions and more difficult aspects of a specific image until it eventually recognises the complete image. In the convolutional layer, which is the fundamental component of the CNN, most of the computations take place. The pooling layer is like the convolutional layer, but it decreases the number of parameters in the input which causes information to be lost. However, this allows it to decrease the complexity and improve the efficiency of the CNN. Finally, in the fully connected layer, image classification takes place in the CNN. The definition of “Fully Connected” in this case is that all inputs or nodes from a layer are connected to every activation node or unit of the next layer but not all layers in the CNN are fully connected as it would cause a dense network.

Pooling Method

The Pooling method is a significant step in systems that are convolutional based. It decreases the dimensionality of the features maps and connects a group of values into a smaller number of values, for example, the decrease in dimensionality of the feature map. One of the functions of the pooling method is that it changes the joint feature representation into information that is useable and gets rid of any information that is not useable. It also reduces the computational complexity for the upper layers by getting rid of some connections between the convolutional layers. There are two main functions of the layer, one of the functions is to decrease the number of parameters of weights which would decrease the computational cost and the other function is to oversee overfitting. MRIs and X-rays use pooling methods There are many different types of pooling methods and some of these pooling methods will be discussed. These types of methods include, Max-Pooling, Average Pooling, Lp Pooling, Mixed Pooling, Stochastic Pooling, Region of interest Pooling and Spatial Pyramid Pooling. As previously mentioned, Pooling method is a type of Convolutional Neural Network which is applied in biology. Examples of this is MRI and X-Rays used in hospitals.

How is Pooling Method used in Biology

In medical imaging, Pooling is not normally used in the same way as it is in biology but there are some cases where pooling is used to improve the quality of the image or lower radiation exposure. Pooling in X-Ray imaging can refer to the use of several detectors to take a picture. Wit the support of many X-ray beams pointed at various angles all around the patient’s body during a computed tomography (CT) scan, a 3D image is created. To create a high-resolution image with increased diagnostics precision, the data that are from different detectors are combined and processed. In magnetic resonance imaging (MRI), pooling is the process of combining several images to create a composite image with a better signal-to-noise ratio (SNR). For example, many images acquired over time in functional magnetic resonance imaging studies to detect changes in brain activity. The areas of the brain that are active during a specific activity or stimulus are then determined by using the pooling method and analysing these images.

Types of Pooling Methods

In the Max Pooling method, the operator can be used to down-sample the outer bands that are convolutional which decreases the variability. The pooling layer also reduces the output dimensionality from K convolutional bands to M = (K – R)/ N + 1 pooled bands. The Average Pooling method calculates the average value of aspects of a feature map. It uses it to form a pooled (down sampled) feature map and it is normally used after the convolutional layer. The Mixed Pooling method is a method that randomly performs max or average pooling purposes in a Convolutional Neural Network. In Lp Pooling, a weighted mean of inputs is used in the pooling region. Lp pooling is also considered to be better than max pooling in terms of its generalisation ability. Stochastic pooling aims to overcome the problems which are caused by the max pooling and the average pooling. There is a limitation in the average pooling which is that all the elements in the pooling region are used which could cause the strong activation to down-weight because of the near zero elements. The Region of Interest (ROI) Pooling is normally used in object detection tasks using CNN. For instance, detecting multiple cars and people in a single image. The main function is the ROI pooling is to perform max pooling on inputs of heterogeneous sizes to collect sized-size feature maps. For example, a 7×7. The Spatial Pyramid Pooling (SPP) is a pooling layer that eliminates the fixed-sized. For example, the Convolutional Neural Network doesn’t need a fixed-size input image. A SPP layer is added on top of the last convolutional layer. It is also considered to be one of the best and successful methods in computer vision.

In the demo I created, you can see how Max Pooling was implemented using python. I used the software “JupyterLite” to code. You will also see how pooling works in the video for a better understanding. I was inspired by an exiting demo which I referneced below. link to my video /a>

References

No Name (No Date) Pooling Methods in Deep Neural Networks, a Review Available at:https://arxiv.org/pdf/2009.07485.pdf [Accessed 20 Mar. 2023] Awati, R. (2022). What is convolutional neural network? – Definition from WhatIs.com. [online] SearchEnterpriseAI. Available at: https://www.techtarget.com/searchenterpriseai/definition/convolutional-neural-network paperswithcode.com. (n.d.). Papers with Code – Spatial Pyramid Pooling Explained. [online] Available at: https://paperswithcode.com/method/spatial-pyramid-pooling#:~:text=Spatial%20Pyramid%20Pooling%20(SPP)%20is [Accessed 20 Mar. 2023] Tomasz Grel (2017). Region of interest pooling explained. [online] deepsense.ai. Available at: https://deepsense.ai/region-of-interest-pooling-explained/. betterdatascience.com. (n.d.). TensorFlow for Computer Vision — How to Implement Pooling From Scratch in Python | Better Data Science. [online] Available at: https://betterdatascience.com/implement-pooling-from-scratch-in-python/ [Accessed 20 Mar. 2023]

Leave a Reply

Your email address will not be published. Required fields are marked *