Convolutional neural networks (CNNs) have become instrumental in many computer vision applications. They’re used as a form of artificial intelligence (AI) to allow computers to make sense of visual data.
CNNs have been around since the 1980s but, at first, had limited applications. Recently, access to a wide array of images through databases and advancements in computer resources have led to the reexamination of CNNs as a tool in deep learning.
This convolutional neural network guide is going to briefly examine what CNNs are, how they work, their possible limitations, and the potential applications they can have across a range of industries.
What are convolutional neural networks?
A convolutional neural network (CNN) is a subset of machine learning (check out Databricks machine learning for more information). They’re deep learning neural networks that can process structured data arrays, such as those found in images.
CNNs have a wide range of uses across a variety of industries. They’re adept at detecting patterns in images, like gradients, circles, lines, and even other features, such as eyes and faces. Therefore, they can be used to classify images, group images, or even perform object recognition within an image.
Convolutional neural networks are able to operate directly on a source image without any preprocessing.
Applications of convolutional neural networks
Convolutional neural networks form the driving force behind computer vision, a branch of AI that enables the extraction of information from visual inputs. Computer vision and machine learning have a range of applications across various industries, from healthcare to digital marketing.
Retail
Some retail platforms have incorporated visual search functions into their websites. This allows customers to provide images of items they already own, from which the ecommerce platform will suggest products that would complement the customer’s existing wardrobe.
Automotive
Convolutional neural networks form the basis of the computer vision component of self-driving cars. CNNs help the car determine the current location of an obstacle, such as a pedestrian, and the likelihood of it colliding with the car based on its current motion.
Social media
Social media platforms utilize convolutional neural networks to help with tagging photos. Suggestions can be made about who may be in a photograph based on previous instances of them being tagged.
Text classification
Convolutional neural networks were initially developed as a tool to aid in computer vision, but they also have applications in natural language processing. The principle is the same as that for image detection but with an added preprocessing stage.
An input sentence is tokenized and then converted into a series of word vector embeddings using a lookup. It can then be passed through a CNN in the same way as an image. This can be used in a variety of ways, including during neural machine translation.
Healthcare
Computer vision can be coupled with radiology technology to assist in the detection of tumors amongst healthy tissue.
Convolutional neural networks can even be used to help discover new drugs. Computer vision can help to identify which compounds will make a suitable basis for a drug based on how its molecules will interact with the target for a particular disease.
Image Sourced from marketsandmarkets.com
How do convolutional neural networks work?
Convolutional neural networks are feed-forward neural networks and can contain as many as 20 or 30 layers. These layers are made up of artificial neurons, which are mathematical functions that are designed to calculate the weighted sum of inputs and then output an activation value.
Each neuron has its behavior dictated by its weights. An image that’s put into a CNN generates activation maps, which highlight relevant features of the image. Each neuron uses a section of pixels as its input, multiplying the color values found by its weights.
These values are summed up and then run through the activation function.
Convolutional layer
One of the key features of a CNN is the convolutional layer, from which the CNN derives its power. The usage of convolutional layers in a CNN replicates the structure of human vision, whereby a series of layers processes an image in sequence, each one identifying more complex features.
The convolutional layers are the first layers in a CNN. They’re used to determine simple features, such as colors, and horizontal, vertical, and diagonal edges.
The further through the layers of the convolutional neural network an image moves, the more complex the features detected.
Pooling layer
A pooling layer conducts dimensionality reduction, reducing the number of parameters in the input. The filter used in a pooling layer doesn’t contain any weights, unlike the convolutional layer.
An aggregation function is applied to the values, populating the output array. In this way, pooling layers help to reduce complexity and improve the efficiency of a CNN.
Fully connected layer
The final layer of the CNN is the fully connected layer. This is where each output-layer node is finally connected to a node in the previous layer. (Think of it in the same vein as SIP trunking connecting an on-premises PBX system to the internet).
The fully connected layer is responsible for categorization. A set of confidence scores, which are values between 0 and 1, are generated that determine how likely the input is to belong to a predetermined “class”.
Classes could be specific objects, such as computers or cell phones, and the output of the final layer is how likely the image is to contain any of those objects.
Image Sourced from commons.wikimedia.org
Limitations of convolutional neural networks
Convolutional neural networks can be powerful tools, but they’re not infallible.
They’re able to detect even the most minute of patterns that the human eye may overlook, but they’re less skilled at understanding the context of images and drawing meaning from them. This means that they often have trouble imagining objects in previously unseen contexts, meaning they cannot recognize them.
Because they rely on input data, CNNs can also be vulnerable to adversarial attacks. Slight changes to input data that humans wouldn’t notice can cause the CNN to behave differently, altering their outcomes.
This can be especially concerning when considering the application of computer vision in critical systems, such as in self-driving cars. Consider seeking model risk management guidance to mitigate these risks.
Convolutional neural network guide summary
Convolutional neural networks, despite their potential drawbacks, have revolutionized the way computer programs identify and interact with visual stimuli.
By mimicking the way the human visual cortex views images, CNNs can perform a range of different tasks, with applications in a range of different industries, from identifying potential hazards in self-driving cars to detecting cancerous cells.
##
ABOUT THE AUTHOR
Pohan Lin – Senior Web Marketing and Localizations Manager
Pohan Lin is the Senior Web Marketing and Localizations Manager at Databricks, a global Data and AI provider connecting the features of data warehouses and data lakes to create lakehouse architecture. With over 18 years of experience in web marketing, online SaaS business, and ecommerce growth. Pohan is passionate about innovation and is dedicated to communicating the significant impact data has in marketing through different solutions including Databricks solution accelerators. Pohan Lin also published articles for domains such as PingPlotter.




