An AI model can provide a prediction, but what happens if the data originates from a machine, vehicle, sensor or even a physical environment?
This is the space of AIoT (Artificial Intelligence of Things)
IoT connects devices and acquires information from our physical world, and AI / machine learning can help us discover patterns, identify abnormalities, make predictions or help in our decision-making from that information.
The hard part is not tying our AI back to our IoT devices. The hard part is ensuring we can have reliable mechanisms in place to get from the physical world to the software making decisions.
An Example of AIoT Architecture
We can have this mental model of an AIoT architecture:
- Physical Environment
- Down arrow
- Sensors & Devices
- Down arrow
- Connectivity / Gateways
- Down arrow
- Data Processing
- Down arrow
- AI / Machine Learning
- Down arrow
- Applications / Decisions
- Down arrow
- Physical Action
And each level has its responsibility. And we don't want issues in one level bubbling up and impacting everything on top of it.
Sensors and Devices
The first step in our AIoT journey is often tied to getting information from the physical world.
And depending on our application, we can have different devices, such as:
- Temperature
- Location
- Movement
- Machine state
- Environmental metrics
- Photos / Video
- Equipment metadata
The trick is not to try and get every possible metric out of our devices. Developers may need to first understand their problems and identify what is valuable to measure.
Storing or processing unneeded data can be a distraction due to higher resource requirements on downstream processes without resulting in any benefit for our use cases.
Connectivity
Assuming we have made wise choices with sensors and are capturing the right data for our application, we will then need to make sure this data flows to our processing layer.
This could involve many forms, depending on our location and requirements, such as gateways, wireless or cellular networks.
The options in this space will have an impact on:
- Latency
- Reliability
- Bandwidth
- Cost
- Scalability
- Availability
So a system deployed in one region and in a large warehouse might have different needs from an application trying to monitor a few sensors in an internal office.
This is why designing this part of your architecture is not a one size fits all type scenario.
Data Processing
Raw data from our devices rarely goes directly into our machine learning models.
There is usually a preprocessing phase that can involve:
- removing invalid values
- normalizing data
- removing unneeded data
- aggregating data
- enriching events
preparing datasets for our ML models
This is an important step since our ability to get reliable information out of our AI systems greatly depends on the consistency and quality of our input data.
Having a sophisticated model that cannot handle all the issues stemming from inconsistent data will rarely rescue us from those downstream problems.
Edge and Cloud Processing
One of the important decisions in the design of our system is about where to perform processing tasks. This can often get confused with decisions around cloud-native applications, but the reality is the processing power we bring to our devices is often limited.
Processing closer to our data can reduce latency, minimize exposure to network issues and save us bandwidth, which can be a critical enabler in some scenarios
But the cloud still has its place in terms of analytics, storage, model training and serving applications. It means our AIoT architecture can sometimes see workloads split between devices and the cloud.
AI and Machine Learning
Assuming we have done the hard work of getting our data and have properly prepared it for our model, we can now use our chosen method for AI and machine learning to help us find patterns or predict future states.
The approaches we can employ will greatly vary depending on our actual application
but we might be looking to perform anomaly detection, classification, pattern discovery or forecasting.
Our machine learning model needs to solve our business need, not the other way around. If we want to identify outliers, there is no need to unnecessarily overcomplicate our model just because we can.
Getting Predictions to Applications
Having an AI model is one thing, but we also want to get its predictions or decisions somewhere they can be used to improve our operations. The applications can have various roles, such as:
- Visual dashboard
- Alert system
- Report generation
- API publishing
Integration with existing applications
But the crucial point is to realize that while our AI generated predictions are interesting, they only become compelling when they can be exposed in some way to help our operations.
For example, if we suspect there is some abnormal behavior in our equipment, we can have an application that makes sure the right people are alerted about that. We cannot forget this crucial step if we want our machine learning insights to have an impact on our operations.
Building Security into the Architecture
Bringing our physical devices onto a network and connecting them to AI systems opens up interesting opportunities, but there are additional security concerns. Our security design should factor in:
- Device access controls
- Authorization protocols to access data
- End-to-end encryption
- Secure transmission of data
- Firmware and infrastructure updates
- Network segments
- Protection of operational data
There was never a point after deploying an application where we stop caring about its security. We should approach the security of our AIoT architecture the same way. It should not be an afterthought once our application is deployed and working; security is much more than a firewall or an intrusion detection system.
AIoT Is More Than AI + IoT
I think we all understand there is a massive opportunity in bringing together AI and IoT.
But we also realize the actual engineering task can often be much more involved.
A functioning application needs reliable devices, connectivity, data storage, data models, machine learning and applications, plus we all need to get proper information to the people needing to review or act upon it.
A very simple abstraction would be something around this:
- Sense
- Connect
- Process
- Analyze
- Decide
- Act
And I think our chances of succeeding all depend on getting every step right. If our sensors give bad data, our AI model will not be able to help us. But also, if our AI gets good predictions and we waste them in an application that does not give proper context or access, we can also fail in delivering our intended business need.
Where does Physical AI come in?
AIoT touches on the idea of physical AI, where AI systems interact with more physical elements.
Instead of working against documents and databases, these systems can get information from physical objects and apply that information to help us build products or deliver services. But the physical nature also makes these applications more challenging due to the added noise we might need to filter out. If you are looking into building solutions at this intersection, Aperture Venture Studio can offer helpful thoughts on how to think through connecting AI, IoT and applications.
A Checklist for Developers
I think before you start working on building this technology for your business, it is essential you make sure you have mentally reviewed the following questions to ensure nothing critical was overlooked.
What physical problem are we trying to address?
What data is relevant to solving this issue?
What kind of connectivity method will we need?
How and where will we need to process this data?
What does our application need to run in the cloud?
What AI methods will help us solve this problem?
How will we get the predictions to our applications?
What will we need to do when we get an interesting result?
How will we protect our data, networks, devices and AI models?
How will we monitor everything once we get it to market?
All this is to make sure you can avoid building your shiny new technology without clearly understanding the problem you actually want to solve.
Final Thoughts
I do not think the primary consideration when designing an AIoT system is choosing the best machine learning model.
The hard work is making sure we can get reliable data to help our business decision-making.
That is what connects our IoT devices, data processing and cloud applications back to the real world our business operates in.
Top comments (0)