To better serve their target customers than competitors, today's embedded design teams are seeking new technologies such as machine learning (ML) and deep learning (DL) to develop and deploy complex machines and devices to market on time with limited resources. These technologies allow teams to build complex single-system or multi-system models using a data-driven approach. Instead of using physics-based models to describe system behavior, ML and DL algorithms infer models of the system from data. Traditional ML algorithms are suitable for handling relatively small amounts of data and low-complexity problems. But what about big data problems like autonomous vehicles? Solving this challenge requires DL technology. This article explores how this emerging technology will drive us into the next era of control design and Industrial Internet of Things (IIoT) applications.
Application of 1ML technology in industrial asset condition monitoring
First, consider the application of machine learning (ML) techniques in industrial asset condition monitoring. ML helps transform condition-based monitoring applications from reactive and preventative maintenance to predictive maintenance. These techniques are commonly used to detect abnormal behavior and diagnose problems, and to some extent predict the remaining useful life of industrial assets such as motors, pumps, and turbines.
The process of developing and deploying ML-based models is shown in Figure 1.
Let's examine how this workflow is used to monitor the health of a motor. Data is collected from various types of sensors, such as accelerometers, thermocouples, and current sensors connected to the motor. The feature engineering step typically consists of two parts: feature extraction and feature reduction. Feature extraction is used to derive information from the raw data (or waveforms) that helps understand the health of the asset. For example, information that can be used to detect faults is embedded in the spectrum of the current signal from the motor, as shown in Figure 2. The average amplitude across different frequency bands in the spectrum can be used as a feature extracted from the current signal. Features extracted from multiple sensors may contain redundant information. Feature reduction methods such as Principal Component Analysis (PCA) can be used to reduce the number of features ultimately used to build the model. A reduced number of features means a lower complexity of the ML model to be used. The reduced feature set is represented as a vector (or array) and fed into the ML algorithm, which will be used in the model creation step. Model creation and validation is an iterative process in which you can try several ML algorithms and choose the one best suited for your application.
Figure 2 shows the feature reduction of the motor current signal.
Figure 3 Feature Engineering
Unsupervised machine learning (ML) algorithms (such as Gaussian Mixture Models (GMMs)) can be used to simulate the normal behavior of motors and detect when a motor begins to deviate from its baseline. Unsupervised methods can discover hidden patterns in data without requiring labeled data. Unsupervised techniques are primarily used to detect motor anomalies, while supervised algorithms are used to detect the causes of these anomalies. In supervised methods, the algorithm is represented as a combination of input data and desired output. This data is called labeled data. The algorithm learns a function that maps the input to the output. The data used to train the ML algorithm contains features extracted under normal and error conditions. Labels representing motor states clearly identify these features. Commonly used supervised ML algorithms include Support Vector Machines (SVMs), Logistic Regression, and Artificial Neural Networks.
A challenge facing traditional machine learning (ML) techniques is the feature extraction process. This process requires specialized domain knowledge and is highly error-prone, often a point of failure in the ML workflow. Therefore, deep learning (DL) algorithms are increasingly being adopted because they eliminate the need for feature engineering steps. Data collected from sensors (raw measurement data) can be directly input into DL algorithms, as shown below.
Figure 4 Deep Learning Workflow
DL algorithms are based on artificial neural networks. Artificial neural network learning algorithms are inspired by the structure and function of biological neural networks. These algorithms employ a structure of interconnected computational nodes (artificial neurons), which are arranged in layers. The first layer, called the input layer, serves as the interface for connecting to the input signal or data. The last layer is the output layer, where neurons output the final prediction or decision. Between the input and output layers, there are one or more hidden layers (Figure 5). The output of each layer is connected to nodes in the next layer via weighted connections. The neural network learns the mapping between input and output by modifying these weights. By using multiple hidden layers, DL algorithms can learn features that need to be extracted from the input data without explicitly inputting the features into the learning algorithm. This is called feature learning.
Figure 5 Feedforward artificial neural network
Factors to consider when applying deep learning in 2IIoT
Deep learning has recently achieved success in IIoT applications, largely thanks to more powerful hardware computing capabilities, massive labeled training databases, breakthroughs in learning algorithms and network initialization, and the availability of open-source software frameworks.
The following are some key considerations when designing a system using this technology.
Topology - Deep learning is an evolving field, and many network topologies have already been applied [1]. The following will discuss some of these networks that are expected to be used for controlling and monitoring IIoT applications.
Fully connected deep neural networks are artificial neural networks fully connected through many hidden layers (hence the name deep neural networks). These networks are excellent function approximators, for example, and can be used in power electronics control applications. If you want to use deep networks to build a controller, you can use a simulation model of the system to be controlled to generate training data. This allows you to explore states (boundary/turning conditions) that are often difficult to control using traditional methods.
Convolutional neural networks (CNNs) are designed as two-dimensional structures that can utilize input signals such as images or speech signals. A CNN consists of one or more convolutional layers (filtering layers), followed by a fully connected multilayer neural network. These networks can successfully detect defects in images and identify objects, and are now used in scene understanding within advanced driver assistance systems.
• Recurrent Neural Networks (RNNs) employ algorithms that make predictions based on sequential (or historical) information. These networks are suitable for time series analysis. Traditional neural networks assume that all inputs (and outputs) are independent of each other in time or in the order of arrival. RNNs record state information, are able to store information about the past, and use the information currently computed to make the next prediction. In IIoT applications, RNNs help learn historical behavior and predict future events based on historical behavior, such as the remaining useful life (RUL) of an asset. Long Short-Term Memory (LSTM) networks are well-suited for this type of application. [2]
Deep reinforcement learning (DRL) is suitable for designing adaptive control systems that operate in complex and dynamic environments. For example, controlling warehouse operation robots, which must dynamically adapt to new tasks. Reinforcement learning-based controllers achieve their goals step by step by receiving rewards after performing tasks. For example, the controller receives a camera image showing the current position of the robot arm and learns how to move the arm closer to the target using the information in the image. [3] DL-based controllers can be trained using robot simulators or by observing robots in operation.
Figure 6 Deep reinforcement learning for robot control applications
Training deep neural networks requires a large amount of training data, ideally including data from all the different states or conditions the network needs to learn. For most applications, the available data primarily comes from the system's normal operating state, with only a small sample of data from other states. Data augmentation techniques can improve this imbalance in the data; you can create more synthetic versions by transforming the data, starting from a small number of existing samples. You can also use a simulation model of the system to create training data. Another challenge is the difficulty in acquiring the massive amounts of data needed to train these networks. Transfer learning can solve this problem. With transfer learning, you can start with a pre-trained neural network (most DL software frameworks provide fully trained models that are available for download) and fine-tune it using data from your application.
Hardware—Training deep networks demands extremely high processing performance. GPUs have become the primary choice for training deep networks. Due to their high computational performance, large memory capacity, high memory bandwidth, and a wide range of programming tools, GPUs have become the most popular choice and are almost a necessity for deep network training. Furthermore, FPGAs are an ideal end-point choice for deploying trained networks. FPGAs offer lower latency, higher efficiency, and greater determinism, making them particularly suitable for deploying these networks on embedded devices and in control systems that operate in tight loops with I/O.
One reason why software-deep learning has been able to be applied and succeed so quickly is the availability of mature software frameworks. Some common frameworks include TensorFlow, Caffe, Keras, and CNTK. [4][5][6][7] These frameworks support different operating systems such as Windows and Linux, as well as languages such as Python and C++. Most of these frameworks also support the implementation of the latest DL networks or provide relevant examples, and also support learning on GPUs.
3. Conclusion
Deep learning is an exciting new direction in artificial intelligence, promising to solve next-generation problems in industrial control design applications. A quick way to get started with deep learning is to download the open-source frameworks mentioned above and practice using the tutorial examples. Begin with examples similar to your application and quickly get started using transfer learning.