TinyOL: TinyML with Online-Learning on Microcontrollers
  Tiny machine learning (TinyML) is a fast-growing research area committed to
democratizing deep learning for all-pervasive microcontrollers (MCUs).
Challenged by the constraints on power, memory, and computation, TinyML has
achieved significant advancement in the last few years. However, the current
TinyML solutions are based on batch/offline settings and support only the
neural network's inference on MCUs. The neural network is first trained using a
large amount of pre-collected data on a powerful machine and then flashed to
MCUs. This results in a static model, hard to adapt to new data, and impossible
to adjust for different scenarios, which impedes the flexibility of the
Internet of Things (IoT). To address these problems, we propose a novel system
called TinyOL (TinyML with Online-Learning), which enables incremental
on-device training on streaming data. TinyOL is based on the concept of online
learning and is suitable for constrained IoT devices. We experiment TinyOL
under supervised and unsupervised setups using an autoencoder neural network.
Finally, we report the performance of the proposed solution and show its
effectiveness and feasibility.
