Machine Learning (ML) and particularly Artificial Intelligence (AI) get a lot of bad press, which seems to be inspired by TV series and movies. However, if we look at ML and AI in a non-Cyberdyne Systems Terminator point of view, they offer techniques for interpreting the data collected from IoT-based systems that can give us real and actionable insights into the information extracted and modeled from the underlying raw data.
In this post, I want to talk about ML and AI themselves and about how they fit into an IoT system.
First a couple of definitions (from Oxford Languages):
- Machine Learning (ML) “the use and development of computer systems that are able to learn and adapt without following explicit instructions, by using algorithms and statistical models to analyze and draw inferences from patterns in data”. Key phrase – “patterns in data”.
- Artificial Intelligence (AI) “the theory and development of computer systems able to perform tasks normally requiring human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages”. Key phrase – “decision-making”.
From these definitions, it can be seen that ML is really a subset of AI. As an example, in the use-case of live video-stream analysis that might be used in a self-driving car to prevent collisions, ML would be used and trained to recognize different types or classes of objects (people, roads, other vehicles, fixed obstructions, etc.) so that when it “sees” new objects it can classify them into classes it already “knows.” AI would then analyze these objects to understand what they are doing (staying still, about to move, moving, etc.) so it can be “aware” of the world around it to identify situations that represent a danger of collision and take avoiding actions.
In the world of IoT, working with simpler datasets like temperature readings and other environmental sensor data, ML could be used to identify local unusual variations, such as sudden changes in temperature that could indicate potential failure in a mechanical system. AI could then take these unusual variations in a wider context, examining data from other sources, data variation trends, and previous events and their outcomes, to make decisions to prevent catastrophic failures by adjusting running system parameters or shutting down a system to prevent further damage.
Now, where do ML and AI sit in the overall infrastructure used to deliver the whole IoT system, with sensors, gateways, edge, and cloud services? As ever, there are several things to consider. Sensors, due to size, cost, battery life, communications options and compute power, are lightweight devices. Adding ML capability is generally not a good idea at this level in the infrastructure (although emerging technologies are starting to make this possible). AI, being a much bigger beast, would just require too many resources to be practical at this level. But in certain situations where devices are used that are powered and have more computing power, some ML capability may be desirable. Such as having a need to identify data patterns very quickly in real-time, rather than deeper in the network where only periodically-sampled data is available. Moving deeper into the network, where gateways and edge devices process data from many sensors, utilizing devices that do have better power and communications options, and even more computing power, ML and even some AI capability may have advantages. The gateway or edge device is the first point where data from many local sensors come together and where local patterns/trends could be analyzed. This also offers an option to offload ML/AI processing from the cloud service, while reducing round-trip latency for time-sensitive control loops and reducing or eliminating dependency on the connection to the cloud. Lastly, the cloud service itself is where it is most likely that ML and AI will be implemented. Here, of course, the computing power is massive compared to sensors, gateways, and many edge devices. Existing ML/AI systems provided by the leading Cloud Service Providers are pervasive and mature. This is a massive subject that could be a series of blog posts by itself.
ML and AI do offer many advantages in IoT systems to automatically identify data variations, trends, and intelligent usage of data to power systems decision-making. How and where they are used is as important as what they are. Careful consideration must be applied the overall design of the system, but don’t forget to ask yourself, “What do I want to get out of this” as the most important question.