Hello, everyone. My name is Seulki Lee, a Ph.D. student at the University of North
Carolina at Chapel Hill. In this talk, I'm going to present our
UbiComp 2020 paper titled 'Intermittent Learning: On-Device
Machine Learning on Intermittently Powered System'.
We envision a future where battery-less embedded platforms will be an
effective alternative to battery powered systems.
Without a battery, they harvest energy from the environment or a human body
such as the sunlight, kinetic, vibration, and so on.
And they are perpetual, maintenance-free, and environment-
friendly. For example, an earable device harvests energy from
body heat, an outdoor mobile device harvests energy from the sun,
and a heartbeat monitoring system is powered by the human heartbeat.
In this paper, we introduce the concept of intermittent learning which makes
energy harvested embedded systems capable of
executing lightweight machine learning tasks intermittently.
Their ability to run machine learning tasks inside the energy harvesting
systems pushes the boundary of battery-less computing as these devices
are able to sense, learn, infer, and evolve over a
prolonged lifetime. Two properties of intermittent learning
make it unique and a harder problem to solve.
First, when energy is scarce, an intermittent learning system needs to
decide the best action for the moment so that its overall learning objective
is achieved. Second, since not all training examples
are equally important to learning, an intermittent learning system should
smartly decide to keep or discard examples at runtime
and thus be able to eliminate a large number of unnecessary
energy-wasting training actions. Unfortunately, none of existing
intermittent computing platforms consider
these issues and thus they are not effective
in learning when we execute machine learning tasks on them.
This animation shows how an intermittent learning system executes a machine
learning algorithm with harvested energy. Given a machine learning algorithm, it
is first divided into sub-tasks such as sense, feature-
extract, and learn. And they are executed intermittently
whenever a sufficient amount of energy is harvested.
We propose an intermittent learning framework for intermittently powered
systems that want to execute an end-to-end machine
learning tasks which involves data acquisition, learning,
and inferring. This figure shows a high-level diagram
of the proposed framework. There are three main modules
corresponding to energy management, machine learning, and task planning.
The first one is energy harvester. This module monitors the energy
generated by the energy harvester such as piezoelectric,
RF or solar panels. And it generates an interrupt that triggers an intermittent
execution of learning tasks whenever a sufficient amount of energy is generated.
The next is learning algorithms. We have developed a library of machine learning
machine learning algorithms which contains a specialized
implementation of commonly used unsupervised or semi-supervised
algorithms for an intermittently powered system
such as k-nearest nearest neighborhood, k-means,
and a neural network. These algorithms are split into small pieces of code
so that they can be intermittently executed.
The last one is dynamic action planner. This module is the heart of the
framework which is responsible for selecting the right action at the right
moment in order to advance the learning task toward
achieving its desired learning objectives. It contains
implementations of intermittently executable methods
and algorithms to schedule actions, to select what to learn,
and to evaluate the progress of an intermittent learner toward
task completion.
We implemented three intermittent learning applications that monitor,
learn, and classify air quality indices, human presence,
and a vibration pattern. These systems are powered by
solar, RF, and piezoelectric harvesters, respectively. And they perform bettery-less
on-device training which achieves 81%, 82%,
and 76% of classification accuracy.
Let's take a look at the air quality monitoring system more closely.
The air quality learning system detects and notifies
abnormalities in air quality indices such as the UV,
eCO2, and TVOC by learning their normal levels on harvested solar energy.
Unlike sensing systems that just report the absolute sensing values,
it learns the evolving status of air quality and provides environmental
context-based notifications which is smarter than reporting just simple
index values. The system has been deployed in the real world and active
since 2018. And we have a website showing the
real-time status of the system which is updated every 10 minutes. For
the demonstration purpose, we use an additional
gateway device that reads the classification results from the
battery-less learner and sends them to the
web server.
Thank you