
机器学习模型在我们的日常生活中扮演着重要角色——无论我们是否意识到这一点。在典型的一天里,您很可能会与某种机器学习模型交互,因为它们几乎渗透到我们使用的所有数字产品中;例如社交媒体服务、虚拟个人助理、搜索引擎以及电子邮件服务商的垃圾邮件过滤等。
尽管日常生活中存在大量机器学习的应用,但仍有不少领域未被这一技术触达。原因何在?许多机器学习模型,尤其是最先进(SOTA)的架构,需要大量资源。对高性能计算能力的需求使得多个机器学习应用被限制在云端——也就是按需提供计算资源的服务器环境。
除了训练这些模型的计算成本高之外,在其上运行推理也往往代价不菲。若要让机器学习进一步扩展并深入更多领域,就需要一种方案,能够让模型在更小、受资源约束更强的设备上进行推理。这一追求催生了机器学习的一个子领域:微型机器学习(TinyML)。
在本文中,我们将:
- 定义 TinyML 及其优势
- 介绍 TinyML 的部分应用场景
- 讨论 TinyML 应用所涉及的工作流需求。
What Is TinyML?
“神经网络也被称为人工神经网络(ANN)。这种架构构成了深度学习的基础。深度学习是机器学习的一个子集,研究受人脑结构与功能启发的算法。简而言之,神经网络为模拟生物神经元如何相互传递信号的架构奠定了基础。”
来源:PyTorch 教程:从零构建一个简单的神经网络
机器学习是人工智能的一个子领域,提供一组算法。这些算法让机器能够从现有历史数据中学习模式与趋势,并在相同数据上预测已知结果。然而,主要目标在于使用训练好的模型将推理泛化到训练数据集之外,在无需显式编程的情况下提升预测的准确性。
用于这些任务的一类算法是神经网络。神经网络属于机器学习的一个子领域——深度学习,其模型训练通常比传统机器学习模型更为昂贵。您可以在另一篇教程中进一步了解如何在 R 中构建神经网络模型。

图 1. 三层神经网络的可视化
根据 Edge AI Foundation 的定义,“Tiny 机器学习广义上定义为一类快速发展的机器学习技术与应用,涵盖硬件、算法与软件,能够在极低功耗(通常为毫瓦级及以下)下在设备端执行传感器数据分析,从而支持多种始终在线的用例,并以电池供电设备为目标。”
TinyML 近年的发展,很大程度得益于支撑其发展的硬件与软件生态的完善。由于这些技术可以在低能耗系统(如传感器、微控制器等)中实现,机器学习得以以极致的方式走向边缘,使此类应用具备实时响应能力。本质上,理念是让机器学习从业者在资源更少的条件下做更多的事。
但为何这如此重要?让我们看看 TinyML 的吸引力所在。
The benefits of TinyML
- 时延:由于模型在边缘设备上运行,数据无需传输到服务器进行推理。数据传输通常需要时间,会造成轻微延迟。去除该环节可降低时延。
- 节能:微控制器所需功率极小,使其无需频繁充电即可长时间运行。除此之外,由于没有信息传输,不需要庞大的服务器基础设施:从而节省能源、资源与成本。
- 带宽占用更低:推理几乎不需要互联网连接。设备上的传感器在本地采集并处理数据。这意味着不会持续将原始传感器数据传送至服务器。
- 数据隐私:模型在边缘运行,您的数据不会保存在服务器上。不向服务器传输信息可进一步保障数据隐私。
Use Cases: How is TinyML being used?
TinyML 的应用覆盖众多行业,尤其是依赖物联网(IoT)网络与数据的领域——物联网(IoT)本质上是由嵌入了传感器、软件及其他技术的实体设备组成的网络,这些设备通过互联网与其他设备和系统连接并交换数据。
计算机视觉、视觉唤醒词、关键词唤醒、预测性维护、手势识别、工业设备维护等,都是常见的 TinyML 用例。我们也来看看一些已经使用 TinyML 驱动应用的行业:
农业
借助 TinyML 设备,可以监测并采集实时的农业与畜牧数据。瑞典的边缘 AI 产品公司 Imagimob 构建了一个面向边缘设备的机器学习开发平台。来自欧盟各地的五十五家机构与 Imagimob 合作,探索 TinyML 如何高效管理农作物与牲畜。
工业预测性维护
TinyML 可部署在低功耗设备上,持续监控机器状况,在故障发生前进行预测;此类应用有望帮助企业降低因设备故障而产生的成本。
预测性维护的一个典型案例是 EOLOGIX-PING。他们开发了一种监测装置,可持续监控风机叶片的声学特征,以发现并告警任何变化或损伤。根据 Ping 的网站介绍,“通过持续监测,运维人员能够对叶片损伤及时响应,从而降低维护成本、故障风险与停机时间,同时提升风力涡轮机的性能与效率。”
客户体验
随着用户期望不断提高,个性化已成为关键的营销手段。企业希望更好地理解客户,并以与其行为相契合的广告与信息进行触达。部署边缘端的 TinyML 应用,让企业能够理解用户所处的情境,包括其行为。
Workflow Requirements
在构建边缘设备应用时,会用到传统机器学习工作流中广泛采用的工具与架构。主要区别在于,TinyML 让这些模型可以在更小的设备上执行多种功能。
Tensorflow Lite for microcontrollers(TF Lite Micro)是边缘设备上最受欢迎的机器学习框架之一;其专为在仅有数千字节内存的嵌入式系统中实现机器学习而设计。
Python 常被用于构建机器学习模型。不过,TensorFlow Lite 也使得用 C、C++ 或 Java 开发模型并在无需联网的情况下进行部署变得十分容易。
从硬件角度看,若要在 TF Lite 中开始使用 TinyML,需要一块受支持的微控制器开发板;该库目前支持以下微控制器:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite for Microcontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Spresense
在 TinyML 的加持下,我们有望提升数十亿日常设备(如家用电器与物联网小工具)的智能化水平,而无需在昂贵硬件或稳定的互联网连接上大举投入——后者往往受带宽与电力限制,并会带来显著时延。
Learning Resources
Wrap-up
近年来,随着相关硬件与软件生态的完善,TinyML 在多个行业中迅速普及。该工具使得在微控制器等低能耗系统中部署机器学习模型成为可能,进而带来诸多新机会。低时延、节能、数据隐私以及无需网络依赖等因素,使 TinyML 对致力于开发物联网(IoT)设备应用的开发者极具吸引力。
机器学习模型在我们的日常生活中扮演着重要角色——无论我们是否意识到这一点。在典型的一天里,您很可能会与某种机器学习模型交互,因为它们几乎渗透到我们使用的所有数字产品中;例如社交媒体服务、虚拟个人助理、搜索引擎以及电子邮件服务商的垃圾邮件过滤等。
尽管日常生活中存在大量机器学习的应用,但仍有不少领域未被这一技术触达。原因何在?许多机器学习模型,尤其是最先进(SOTA)的架构,需要大量资源。对高性能计算能力的需求使得多个机器学习应用被限制在云端——也就是按需提供计算资源的服务器环境。
除了训练这些模型的计算成本高之外,在其上运行推理也往往代价不菲。若要让机器学习进一步扩展并深入更多领域,就需要一种方案,能够让模型在更小、受资源约束更强的设备上进行推理。这一追求催生了机器学习的一个子领域:微型机器学习(TinyML)。
在本文中,我们将:
What Is TinyML?
机器学习是人工智能的一个子领域,提供一组算法。这些算法让机器能够从现有历史数据中学习模式与趋势,并在相同数据上预测已知结果。然而,主要目标在于使用训练好的模型将推理泛化到训练数据集之外,在无需显式编程的情况下提升预测的准确性。
用于这些任务的一类算法是神经网络。神经网络属于机器学习的一个子领域——深度学习,其模型训练通常比传统机器学习模型更为昂贵。您可以在另一篇教程中进一步了解如何在 R 中构建神经网络模型。
图 1. 三层神经网络的可视化
TinyML 近年的发展,很大程度得益于支撑其发展的硬件与软件生态的完善。由于这些技术可以在低能耗系统(如传感器、微控制器等)中实现,机器学习得以以极致的方式走向边缘,使此类应用具备实时响应能力。本质上,理念是让机器学习从业者在资源更少的条件下做更多的事。
但为何这如此重要?让我们看看 TinyML 的吸引力所在。
The benefits of TinyML
Use Cases: How is TinyML being used?
TinyML 的应用覆盖众多行业,尤其是依赖物联网(IoT)网络与数据的领域——物联网(IoT)本质上是由嵌入了传感器、软件及其他技术的实体设备组成的网络,这些设备通过互联网与其他设备和系统连接并交换数据。
计算机视觉、视觉唤醒词、关键词唤醒、预测性维护、手势识别、工业设备维护等,都是常见的 TinyML 用例。我们也来看看一些已经使用 TinyML 驱动应用的行业:
农业
借助 TinyML 设备,可以监测并采集实时的农业与畜牧数据。瑞典的边缘 AI 产品公司 Imagimob 构建了一个面向边缘设备的机器学习开发平台。来自欧盟各地的五十五家机构与 Imagimob 合作,探索 TinyML 如何高效管理农作物与牲畜。
工业预测性维护
TinyML 可部署在低功耗设备上,持续监控机器状况,在故障发生前进行预测;此类应用有望帮助企业降低因设备故障而产生的成本。
预测性维护的一个典型案例是 EOLOGIX-PING。他们开发了一种监测装置,可持续监控风机叶片的声学特征,以发现并告警任何变化或损伤。根据 Ping 的网站介绍,“通过持续监测,运维人员能够对叶片损伤及时响应,从而降低维护成本、故障风险与停机时间,同时提升风力涡轮机的性能与效率。”
客户体验
随着用户期望不断提高,个性化已成为关键的营销手段。企业希望更好地理解客户,并以与其行为相契合的广告与信息进行触达。部署边缘端的 TinyML 应用,让企业能够理解用户所处的情境,包括其行为。
Workflow Requirements
在构建边缘设备应用时,会用到传统机器学习工作流中广泛采用的工具与架构。主要区别在于,TinyML 让这些模型可以在更小的设备上执行多种功能。
Tensorflow Lite for microcontrollers(TF Lite Micro)是边缘设备上最受欢迎的机器学习框架之一;其专为在仅有数千字节内存的嵌入式系统中实现机器学习而设计。
Python 常被用于构建机器学习模型。不过,TensorFlow Lite 也使得用 C、C++ 或 Java 开发模型并在无需联网的情况下进行部署变得十分容易。
从硬件角度看,若要在 TF Lite 中开始使用 TinyML,需要一块受支持的微控制器开发板;该库目前支持以下微控制器:
在 TinyML 的加持下,我们有望提升数十亿日常设备(如家用电器与物联网小工具)的智能化水平,而无需在昂贵硬件或稳定的互联网连接上大举投入——后者往往受带宽与电力限制,并会带来显著时延。
Learning Resources
Wrap-up
近年来,随着相关硬件与软件生态的完善,TinyML 在多个行业中迅速普及。该工具使得在微控制器等低能耗系统中部署机器学习模型成为可能,进而带来诸多新机会。低时延、节能、数据隐私以及无需网络依赖等因素,使 TinyML 对致力于开发物联网(IoT)设备应用的开发者极具吸引力。