BrandPosts are written and edited by members of our sponsor community. BrandPosts create an opportunity for an individual sponsor to provide insight and commentary from their point-of-view directly to our audience. The editorial team does not participate in the writing or editing of BrandPosts.
By Jay Boisseau, Ph.D., Lucas Wilson, Ph.D.
In the previous article in this series, “Diving into Machine Learning” we looked at some common approaches to machine learning, which is a subset of AI that provides systems with the ability to learn from data and improve over time without being explicitly programmed. In this latest article in our Enterprise AI series, we provide an overview of deep learning, which is a specific approach to the more general category of machine learning. As with other machine learning techniques, deep learning is an important building block for artificial intelligence in the enterprise.
First, let’s quickly review what machine learning is. Machine learning refers to the process of training a model, which is nothing more than a function that maps inputs (e.g., house size, customer preferences) to outputs (e.g., house value, new product recommendations). This training process feeds large amounts of data into algorithms that give the model the ability to learn how to perform a targeted task. At the simplest level, machine learning maps known inputs to known outputs to train a model. Linear regression is an example of a basic form of machine learning that is used to show the relationship between input variables and outputs, often expressed in terms of a slope and a Y-intercept in a chart. Please refer to “Diving into Machine Learning” for our overview of machine learning techniques.
Deep learning is a kind of machine learning that handles much more complex relationships between inputs and outputs. Deep learning is often used with unstructured data in applications for image recognition, speech recognition and natural language processing. The relationships associated with these types of data—images, sound, text, video—can’t be mapped on X-Y axes.
Let’s take a simple example. Suppose you have many images and you want to train a neural network model to identify which images contain cats or dogs. In this case, you train the model on a large number of images labeled “cat” or “dog,” meaning that somewhere in the image is a cat or a dog. The model performs extensive computations on all the inputs with a label of “cat,” and eventually develops internal rules for features of cats (or more precisely, images of cats). With enough images of cats—of different types, in different poses, in different lighting and settings, and so forth—it eventually, through massive computation, learns to recognize the features that make a cat a cat.
Likewise for all the pictures labeled “dog,” if it has enough (correctly) labeled images that include dogs. During this process, the model comes up with its own rules — you don’t tell the model the rules; you simply tell it “this is a picture of a cat” and “this is a picture of a dog.” Once the model is trained and validated, you can put it to work on image sets without labels and it will find most of the cats and dogs for you.
The deep learning process
So, how does the model get there? Deep learning uses multilevel artificial neural networks to train models. The neural networks process data to determine the common rules and features associated with the data. Drawing on a lot of high-powered mathematics and loosely mimicking the functions of the human brain, each layer of the network receives and processes inputs and turns them into outputs. The result is a complex, non-representable function that maps inputs to outputs, via a number of hidden layers that perform the massive computations. (A deep neural network will have many hidden layers.)
There are many approaches to deep learning, some of which are more fundamental than others. In this post, we will highlight three fundamental and common approaches to the neural networks used in deep learning: multilayer perception networks, convolutional neural networks and recurring neural networks. These different approaches to deep learning offer advantages for different applications. Again, there are other types of deep learning approaches and the field is evolving rapidly; we will explore additional types and uses cases in additional posts to follow later in this series.
Multilayer perceptron networks
Multilayer perceptron (MLP) networks are the oldest and most commonly used form of deep neural networks. MLPs are a type of deep-learning algorithm that works well with the simple classification of structured and unstructured data and with linear regression problems.
These fully connected networks are like stacks of computational nodes, in which each node in each layer is connected to all the nodes in the next layer. When data is presented to the network, each node sums up its input and passes that input along to the next layer. This works just like neurons in the brain: nodes receive input and then fire, sending outputs to other nodes.
Convolutional neural networks (CNNs) are a type of deep-learning algorithm often used in image-focused applications. CNNs can discover features in images and determine the relationships among those images. They work well for applications like image classification, facial recognition, object detection and image segmentation.
CNNs look for recurring patterns in images. In a CNN, the layers of the neural network are not fully connected. They look at sections or parts of images, rather than looking at the entire image all at once. This approach makes training go faster, and it allows you to build much more complex networks without making them untrainable. Convolutional layers are often combined with other kinds of layers (full-connected, max-pool, etcetera) to increase accuracy while optimizing efficiency. For now, do not worry about these other types of layers; we’ll explain that in a later post. Just understand that a CNN uses multiple layers, including convolution layers to isolate pieces of images in order to become so good at image classification, object detection and so forth, that is can even be used for facial recognition with great accuracy! Recognizing cats and dogs in images is an example of where one would use a CNN, perhaps with only a few convolutional layers.
Here are a few examples with more enterprise context:
A shipping company could train a model to recognize whether images of boxes on a conveyor belt for loading trucks have been damaged by using lots of images of both undamaged and damaged boxes.
A store could train a model to recognize the product a consumer has placed on a flat surface in order to determine what the buyer wishes to buy—say fresh produce, and of what type—and, thus, how much to charge, i.e. a scanner for everything, including things without bar codes.
A manufacturing company could train a model to recognize whether parts of the machinery—gears, belts and so on—are broken, damaged or out of alignment.
These are simple examples for explanatory purposes; some companies are already training much more sophisticated models to improve operations and services. We’ll provide examples of these later in this blog series.
Recurring neural networks (RNNs) are a type of neural network that uses information from the past to understand the present and to make predictions about the future. RNNs can be used in a wide range of enterprise applications, from language translation to predictive maintenance to AI-assisted healthcare.
The central tenet here is that what is happening now is related to what has happened in the past. In language translation, for example, RNNs build on the context of words and sentences that came before to understand how to accurately translate sentences in the present.
For example, companies want to optimize their pipeline and inventory so that they are never out of materials to produce their products, nor out of products that customers want to buy. However, they also want to minimize excess surplus that requires storage and that may result in lost profits if prices decline before items are sold. So, companies can now use RNNs to develop more accurate models to optimize buying and production and, thus, maximize profits.
Deep learning is a powerful tool for enterprises looking to gain actionable insights and enable automated responses to a flood of data, especially unstructured data, from all kinds of devices, Internet of Things (IoT), social media and – of course – from corporate data systems. With these techniques, you can find new relationships, derive more accurate insights from diverse data types and turn that data into business value.
Next up: a look at some use cases
In the following posts in this series, we will explore some common machine learning and deep learning use cases from enterprise partners working with Dell EMC. These real-world use cases will show how forward-looking organizations are capitalizing on the power of AI to transform their businesses and create new products, services and jobs. So, please stay tuned for the rest of the story!
Jay Boisseau, Ph.D., is an artificial intelligence and high-performance computing technology strategist at Dell EMC.
Lucas Wilson, Ph.D., is an artificial intelligence researcher and lead data scientist in the HPC and AI Innovation Lab at Dell EMC.
About this series
Artificial intelligence has long been shrouded in mystery. It’s often talked about in futuristic terms, although it is in use today and enriching our lives in countless ways. In this series, Jay Boisseau, an AI and HPC strategist for Dell EMC, and Lucas Wilson, an AI researcher for Dell EMC, cut through the talk and explain in simple terms the rapidly evolving technologies and techniques that are coming together to fuel the adoption of AI systems on a broad scale.