What are Convolutional Neural Networks and How Can They Be Used?
Convolutional neural networks (CNNs) are a commonly used method of machine learning (ML) to improve business processes. Below, is a brief explanation of CNNs and their common applications.
CNNs are a class of neural networks in which at least one of their layers uses a convolution in place of matrix multiplication. They have applications in image classification, object detection, image segmentation, facial recognition, and medical image analysis. It is not just limited to processing images though. CNNs can be utilized on other types of data such as stock market statistics.
IMAGE CLASSIFICATION
Image classification is the simplest neural network to train and the easiest to setup. Image classification is the process of deciding whether a picture belongs to one or more categories. For example, as shown below, the image classifier determines if the picture is a cat. Image classifiers can only give you a percentage – they cannot affirmatively declare if the picture is in a category. You must set a threshold to determine what counts as a classification. For example, you could set it so anything 98% and above would be considered a cat.
In practice, image classification is used for categorizing images into multiple classes. This is called multilabel classification. For example, a CNN could give you a percentage likelihood if it is a cat or a dog. The output of the CNN could be further refined into breeds of cats such as Persian or Siamese.
OBJECT DETECTION
Object detection is like image classification. The CNN classifies the image and then draws a bounding box around the object’s location. Commonly, the object detector will classify the image, draw a bounding box, and then add a label next to it. Very often they utilize multilabel classification to detect multiple objects. Object detection is used in automated security systems, self-driving cars, and face tracking.
The hardest part of implementing object detection is getting enough high-quality training data. Because most applications of object detection utilize multilabel classification, it requires significantly more information. This data needs a range of lightning conditions and angles. On top of this, you need a large set of images for each of these classifications.
IMAGE SEGMENTATION
Image segmentation is another useful application of CNNs. This is where a picture is divided into segments based on detected boundaries. It does this by grouping pixels into regions based on color and intensity. This ML model is commonly used in the medical field. It can be utilized in MRI scans to partition the image into spongy vs dense bone and normal vs diseased tissue.
The main application of image segmentation is precisely determining the boundary between objects. For example, it can be used to map bone fractures and determine the boundary between different bone types. Self-driving cars utilize it to position the car on the road by segmenting where the road begins and end.
FACIAL RECOGNITION
Facial recognition is a subset of image classification. It is specifically optimized to detect a face and determine who it belongs to. It is primarily used in biometric scanning to determine identity. Facial recognition allows iPhone users to unlock their phone with just their face.
Facial recognition CNNs break recognition into two main steps. In the first step, facial landmarks are detected. These include the eyes, ears, nose, lips, and eyebrows. Then, these landmarks and the original image are used to calculate face encodings (numbers that describe the face). The face encodings are then compared to a known person and the similarity is returned.
FINANCIAL TIME SERIES
As mentioned in the beginning, CNNs are not limited to just processing images. It can also be utilized for financial calculations. For example, creating a predictive time series of a stock’s price over time.
In a time series analysis, rather than analyzing clusters of pixels, the CNN reviews the stock’s metrics. This data is passed to a different neural network, specifically a LTSM, which takes each convolution from the previous step and determines the probability of the stock's increase or decrease. This is then presented as a prediction over time. Shown in the image is an actual prediction of Google’s stock pricing using a CNN. The prediction is the blue line, the light blue area is the standard deviation, and the black dots are the actual stock price.
These are just some of the applications of neural networks. They are also used in natural language processing, recommendation systems, document analysis, and many other fields. By understanding the different types of CNNs, you can better implement ML into your business.