Expanding the use of AI through the Internet of Things
Improving neural networks to create next-generation devices
Credit: Photo illustration by Joy Smoker and Chengmo Yan
If you have a smart phone with facial recognition, you may have wondered: How does your device learn to recognize your face as opposed to, say, your spouse’s face?
Credit a neural network, a form of artificial intelligence increasingly used in everyday devices. Neural networks are algorithms trained to recognize patterns and continuously improve their ability to do so — just as the human brain does.
In order to be so smart, neural networks require a lot of power, which so far has limited their usefulness in small, battery-powered devices. Have you ever wondered why your smartphone supports face ID but your smartwatch does not? Simply because the watch does not have sufficient power to support it. With a new grant from the National Science Foundation (NSF), University of Delaware Associate Professor of Electrical and Computer Engineering Chengmo Yang is researching ways to support neural networks in low-power embedded systems by using emerging memory devices that can retrieve information even when powered off, and furthermore minimize errors in these emerging devices.
Hardware suited for neural networks
To build neural networks, engineers need the right combination of hardware and software. Yang is approaching neural networks from the hardware side.
“My research works on how to develop the next-generation devices or systems or computers that are more specialized for certain applications,” said Yang. She especially aims to improve the lifetime and reliability of devices as they become increasingly connected in an Internet-of-Things (IoT). Some of these devices, especially low-end embedded and IoT devices, don’t have enough memory space or enough battery power to run neural network algorithms.
“For example, certain sensors used outdoors, are not suitable for frequent battery charging,” said Yang. “You want to be able to use it for years, but the neural network algorithm could be updated almost every week or every month.”
The solution could lie in the use of non-volatile memory, which doesn’t rely on electricity to store information. With these systems, you don’t lose data if you lose power.
“Emerging devices use physical properties to store values,” said Yang. “For example, the material could have two different phases that are used to store information, and when you’re not using it, you don’t need to provide any power.”
These types of devices can be subject to certain types of errors and be negatively affected by changes in conditions such as temperature and humidity. Any neural networks that run on these devices could then be at risk of errors. Yang is developing a new way to test devices and detect, classify, and mitigate these errors in neural networks. She aims to determine the accumulated error threshold over which it is time to reprogram or refresh devices so as to restore them to their original error-free states.
“Because refreshing and reprogramming is going to take some energy, you want to do it only when you know it’s necessary,” said Yang.
Yang teaches undergraduate courses in microprocessors and embedded systems and aims to prepare undergraduates to tackle intricate hardware problems. She is also the leader of a Vertically Integrated Projects (VIP) team named Internet of Threats. These projects pair undergraduate students, graduate students and faculty members to work collaboratively on real-world projects.
“It’s important for students to learn about the hardware side of data science. When most people talk about data science and models, they think about software, not how to implement these models into their hardware,” said Yang. As devices become more advanced, these skills will become more important, so Yang plans to teach students how to use hardware to implement robust neural network accelerators.
She also teaches graduate courses in system reliability that help students identify problematic faults and errors in hardware.
“When students start to learn programming, they assume that although the software may have bugs, the hardware is always good and trustworthy,” said Yang. “That assumption is not true anymore.”