Содержание
The Edge of Machine Learning
Efficient ML for Edge and Endpoint IoT Devices and Other Resource-constrained Scenarios.
Objective: Our objective is to develop a library of efficient machine learning algorithms which can be trained on a laptop, or the cloud, but can then make predictions locally on severely resource constrained Internet of Things devices without necessarily needing cloud connectivity.
Resource constrained devices: The Arduino Pro Mini board has an 8 bit ATmega328P microcontroller operating at 8 MHz with 2 KB SRAM and 32 KB read-only flash memory. The ARM Cortex M0 can also have just 2 KB SRAM and 32 KB read-only flash on some IoT boards. Neither provides hardware support for floating point operations. Billions of such tiny microcontrollers and IoT boards have been deployed in the world. Before deployment, the bootloader and all application code and data are burnt onto flash, leaving only a few KB for storing the trained ML model, prediction code, feature extraction code and associated data and parameters. After deployment, the only writable memory available is the 2 KB of SRAM which might not be sufficient to hold even a single feature vector.
The Internet of Things: A number of applications have been developed for consumer, enterprise and societal IoT including connected cars, predictive maintenance, industrial IoT, intelligent healthcare, fitness wearables, precision agriculture, smart cities and housing, etc. The dominant paradigm for these applications, given the severe resource constraints of IoT devices, has been that the IoT device is dumb - it just senses its environment and transmits the sensor readings to the cloud where all the decision making happens.
Motivating scenarios: We propose an alternative paradigm where the IoT device can make predictions locally without necessarily connecting to the cloud. This enables many scenarios, beyond the pale of the traditional paradigm, where it is not possible to transmit data to the cloud due to latency, bandwidth, privacy and energy concerns. For instance, consider a microcontroller implanted in the brain which warns patients about impending seizures so that they can call for help, pull over if they are driving, etc. Making predictions locally would allow the device to work everywhere irrespective of cloud connectivity. Furthermore, alerts could be raised more quickly with local predictions than if all the sensor readings had to be first transmitted to the cloud. In addition, since the energy required for executing an instruction might be much lower than the energy required to transmit a byte, making predictions locally would extend battery life significantly thereby avoiding repeated brain surgery and might also prevent brain tissue damage due to excess heat dissipation from the communicating radio. Finally, people might not be willing to transmit such sensitive data to the cloud. These characteristics are shared by many other scenarios including implants in the heart, precision agriculture on disconnected farms, smart spectacles for the visually impaired, etc.
Our library currently provides efficient tree and k-nearest neighbour algorithms for classification, regression, ranking, etc. which can make efficient and accurate predictions on microcontrollers and boards as tiny as the ARM Cortex M0 and the Arduino Pro Mini. Please look at the pages of the individual algorithms for more details, summary of results and usage instructions.
-
Bonsai
A new tree model for supervised learning tasks such as binary and multi-class classification, regression, ranking, for the tiniest of iot devices.
-
ProtoNN
A novel, k-nearest neighbors (kNN) based general supervised learning algorithm that can be deployed on the tiniest of iot devices.
-
Robust PCA
A general-purpose anomaly detection algorithm that can be deployed in tiny iot devices.
- Home
- People
- Algorithms
- Demos (Coming Soon)
- Getting Started (Coming Soon)
- News, Events and Media
- Publications