Even the best electrical engineers and IoT practitioners might not be able to figure out the AI component of IoT artificial intelligence without some guidance.
IoT practitioners and data scientists who want to build IoT-based AI don’t have to work it out on their own. In fact, they must often partner with other experts or else they risk missing-critical factors to ensure their project succeeds.
In Artificial Intelligence for IoT Cookbook, author and senior staff enterprise architect Michael Roshak discusses techniques with detailed instructions to build AI for IoT deployments and resolve common problems. After establishing the basic set up for IoT and AI, Roshak digs into advanced skills such as computer vision and natural language processing.
In this Q&A, Roshak explains the problems that have given a variety of organizations trouble when they apply AI models to IoT devices. He also suggests the best way to approach the design of machine learning apps with all the right experts.
Editor’s note:This transcript has been edited for length and clarity.
What inspired you to write this book?
Michael Roshak: The book is about the parts of AI that no one talks about. It’s easy to put together a toy example, something that is very easy to understand. But it’s hard when the rubber meets the road. In the medical space, where typically data comes at 5000 Hz or 5000 times a second, that’s much different than trying to figure out flower types. The book talks about those data types and how you determine the ROI in IoT.
This is really an intro to AI type book. I don’t go into the depths of machine learning and TensorFlow. I talk about the basics. When I bring up a new system, like TensorFlow, I’ll do some linear regression and I explain what that is. You don’t have to be a data scientist to really get this book. I talk about topics that are not traditionally in the IoT space. The book is designed for developers and people who are new to AI.
What are the most challenging parts of developing AI for IoT?
Roshak: It’s really linked to the material cost and return on investment. There’s this dividing line between microcontrollers and microprocessors, like the cost of processors. A typical microcontroller might range under $1, where microprocessors — like a Raspberry Pi — run you $35 or $45 with a big difference in the cost and functionality. A lot of the struggles that companies face these days are really ‘how do I put all the pieces together to make it an effective solution given the constraints?’
Sometimes companies come in, and they already have a solution that they had built but it wasn’t working for them. One company came in, and they had medical devices. They were trying to put 10 GB a day on a SQL server database. All the devices have the same SQL server key, and it was getting bogged down. They just couldn’t do it. They came to us with the cost, and they’re like, ‘we have to go up to the cloud and back to our own data center — that’s where our AI processors are that are custom-built that are proprietary.’ We crunched some numbers with them. There was no way for them to be profitable with their current IoT solution. If they used a device capable of processing data on the device itself rather than up in the cloud and just used the cloud to store the metadata, that would have been a totally practical solution. They didn’t do that. It really gave them a no-win scenario. They really have to understand that there’s ways of doing things on the edge. But also, it depends on the revenue model. They spent all their money on a solution that they didn’t do the math for. All the clouds have cloud calculators to find the costs. And they just didn’t do that upfront.
What do you find the most exciting or fun part of developing AI for IoT?
Roshak: The most exciting part is there are so many new ways of doing things now that didn’t exist even a year ago. It’s all cutting edge. One of the neatest things that came out of the past year is a company, STM. They now have embedded devices — which are very inexpensive devices and traditionally extremely hard to put AI on — that are making it really easy to put AI on. These silicon vendors are now making what was prohibitively difficult, easy to do. That’s only come about in the past year. It’s a new thing that most people we talk to don’t know about.
What do you want tech professionals who read your book to know most?
Roshak: You have to know your data. That influences what type of algorithm and what type of processing you need. For example, seismographs. With the seismograph, that reading happens really fast. You would need to crunch that on device. You wouldn’t be looking for the average; you’d be looking to see the seismograph changed. I can’t put all the seismograph data out at the same time. It would bog down my networks and that would cost me too much money. All that analysis has to be done on the device itself. But how do you do that? Is there a big change between now and 20 minutes ago? That’s the art, the data part of it, which is something generally a lot of people don’t quite get.
One of the things to talk about is also when you create sensors. The data scientist has to be there in the beginning. You can have a lot of issues with the sensors. Once those devices are manufactured, you can’t change them. With the wrong sensor placement, the sensors aren’t picking up the right data, or you’re missing a sensor that you would need to make your conversions. There’s no recalling devices and sensors. You have to have a partnership with the electrical engineers. It’s not the same as a company where you can have your database running for 10 years, then data science gets ahold of it and starts crunching numbers. If you’re not plugged in at the beginning, you’re missing out.
It really is a holistic approach. You just can’t start out with having someone design it and then hope you can get meaningful results. It has to be electrical engineers, businesspeople and data scientists all coming together to see what’s profitable and what’s possible. In a lot of companies, the AI people are completely separate from the hardware people. One’s part of the business team, and one is part of the IoT and IT team. Bringing those people together is critical to making these systems successful.
Your silicon vendors are an incredibly important part of it, as well as your cloud vendors. Getting them involved in the process is great, whether it be the consultants, or you actually reach out to companies like STM or Silicon labs to help you out if you don’t have that experience with analysis. It’s very important to just get everything before you start.