Skip to main content
QUICK REVIEW

[论文解读] TinyOL: TinyML with Online-Learning on Microcontrollers

Haoyu Ren, Darko Anicic|arXiv (Cornell University)|Mar 15, 2021
Data Stream Mining Techniques参考文献 19被引用 4
一句话总结

TinyOL 引入了一种新颖的框架,用于在微控制器(MCUs)上进行设备端增量学习,通过在线学习实现实时模型自适应。通过将轻量级在线学习层附加到预训练神经网络,TinyOL 允许 MCUs 从流式数据中增量更新权重,而无需从头开始重新训练,展示了在异常检测和分类任务中性能的提升,且资源开销极低。

ABSTRACT

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.

研究动机与目标

  • 解决静态批量训练模型在 TinyML 中的局限性,通过实现设备端模型自适应以应对动态环境。
  • 克服物联网部署中的挑战,如远程设备更新、概念漂移以及数据传输成本。
  • 在无完整重训或外部云支持的情况下,实现在裸机 MCU 上的增量学习。
  • 通过在低功耗硬件上使用自编码器,证明在设备端进行后训练和动态层结构自适应的可行性。
  • 提供一种灵活且轻量的系统,通过使用来自现场的流式数据,随时间逐步提升模型准确率。

提出的方法

  • 将轻量级在线学习层集成到运行在 MCUs 上的现有神经网络中,以流式、增量的方式运行。
  • 使用随机梯度下降(SGD)进行单次遍历更新,每个输入数据样本仅更新一次,之后即丢弃数据。
  • 实现一个模块化的 C++ 库,可作为附加层附加到任意预训练神经网络上。
  • 在引入新类别时支持输出层结构的动态重构,实现即时自适应。
  • 利用自编码器进行无监督特征学习,并将重构误差作为分类任务的输入。
  • 应用 F1 分数和宏平均 F1 分数指标,评估在线与离线训练模式下的性能表现。

实验结果

研究问题

  • RQ1是否可以在资源受限的微控制器上有效实现针对 TinyML 应用的增量在线学习?
  • RQ2在计算和内存资源有限的情况下,在线学习的性能与传统批量训练相比如何?
  • RQ3当出现新的数据模式时,设备端模型自适应是否能随时间提升模型准确率?
  • RQ4该系统在多大程度上能够根据新数据动态调整其架构(例如输出类别的数量)?
  • RQ5是否可行直接在 MCUs 上执行后训练和模型重构,而无需依赖基于云的再训练?

主要发现

  • TinyOL 利用流式数据实现了在 MCUs 上的增量设备端训练,使模型能够在不从头开始重新训练的情况下适应新的数据模式。
  • 在线学习模型在性能上与离线训练相比具有竞争力,尤其是在数据和计算资源受限的情况下。
  • 随着流式数据量的增加,F1 分数持续提升,且每轮学习迭代后宏平均 F1 分数稳步增长。
  • 该系统成功使一个无监督自编码器获得了对正常、卡滞和倾斜风扇模式的分类能力。
  • 编码器的冻结权重限制了在异常类别上的表现,表明若进行全权重微调,性能可进一步提升。
  • TinyOL 在搭载 64MHz Cortex-M4 CPU 和 256KB RAM 的 Arduino Nano 33 BLE Sense 开发板上,成功展示了在真实场景中的可行性与有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。