Machine learning (ML) and artificial intelligence (AI) algorithms have seen wide adoption across different domains and hardware platforms in recent years. Specifically, machine learning for edge devices is a hot topic today: modern smartphones include hardware for accelerating ML-algorithms (neural engine), ML software frameworks have been optimized for embedded platforms (tensorflow-lite), and ML hardware accelerators are being commoditized (edge TPU). Speech and face recognition, user activity recognition, user authentication, and health diagnostics are just a few examples of ML-powered technologies available on mobile phones today. Substantial scaling and energy efficiencies can be gained if the intelligence happens closer to the data collection point. Determining the optimal place within an IoT system (leaf node, fog, cloud) for running analytics remains a research challenge, as it depends on the real-time power, computation, memory, and communication constraints of different components of the system. As the runtime context changes, the IoT ML framework needs to support seamless migration and scaling of analytics algorithms across hardware architectures.
In addition to the smartphone market pull for embedded intelligence, there are two key IoT trends that provide technology push:
- Advancements in long-range radio technologies have substantially increased commercial feasibility of IoT systems, but also introduced extremely limited communication bandwidth for transmitting data back to the gateway. ML-based analytics algorithms running on edge IoT devices can dramatically increase information density of the data transmitted back to the user.
- Intelligent IoT applications and devices (Siri, Alexa) in smart home or smart city scenarios are increasing in popularity and drive the expectation of being able to interact with everyday objects in real time. IoT devices embedded in real-world objects will be resource constrained and require closed-loop intelligence to support seamless interaction.
Embedded intelligence is a key research area of Distributed Sensing Systems, primarily driven by the communications bandwidth and energy limitations of individual IoT devices. In our prior work, we have applied machine learning algorithms to sensor time series, both offline and online. We have demonstrated that inertial motion sensors can be used to reliably classify behavior of animal species (such as cattle, sheep, flying foxes). We have also shown that performance of threshold-based behavior classifier algorithms can be substantially improved if their configuration parameters are adapted online to the specific operational context. Finally, we have demonstrated in-situ genetic programming to learn logic on embedded devices, using standalone and collaborative learning through the island model. Building on these experiences, our long-term goal is to have real-world deployed systems where individual IoT devices use their energy budget to perform application specific tasks using ML classifiers, but also reserve portion of their budget for continuous online learning and communication of best-performing ML models with their peers and/or cloud.
One example is our work on monitoring physiology and behavior of free-living animals, for example, in marine ecosystems. Depending on the operation constraints, our sensors can record raw physiological data, extract sensor data features, and run machine learning models and communicate the data back to the user without having to recapture the animals.
- Distributed algorithms: that include local processing subject to resource constraints, with the possibility of cooperation among co-located nodes
- Autonomous operation: allows our systems to adapt to new previously un-encountered contexts through adaptation and online learning
- Real-time classification: processes incoming sensor streams locally to transform them into meaningful classes that can be communicated over low bandwidth wireless links