跳至主要内容

什么是 TinyML?微型机器学习入门

了解 TinyML 的概念、应用与优势,并学习如何在这一新兴的机器学习领域入门。
Kurtis Pykes
Kurtis Pykes

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

机器学习模型在我们的日常生活中扮演着重要角色——无论我们是否意识到这一点。在典型的一天里,您很可能会与某种机器学习模型交互,因为它们几乎渗透到我们使用的所有数字产品中;例如社交媒体服务、虚拟个人助理、搜索引擎以及电子邮件服务商的垃圾邮件过滤等。

尽管日常生活中存在大量机器学习的应用,但仍有不少领域未被这一技术触达。原因何在?许多机器学习模型,尤其是最先进(SOTA)的架构,需要大量资源。对高性能计算能力的需求使得多个机器学习应用被限制在云端——也就是按需提供计算资源的服务器环境。

除了训练这些模型的计算成本高之外,在其上运行推理也往往代价不菲。若要让机器学习进一步扩展并深入更多领域,就需要一种方案,能够让模型在更小、受资源约束更强的设备上进行推理。这一追求催生了机器学习的一个子领域:微型机器学习(TinyML)。

在本文中,我们将:

  • 定义 TinyML 及其优势
  • 介绍 TinyML 的部分应用场景
  • 讨论 TinyML 应用所涉及的工作流需求。

What Is TinyML?

“神经网络也被称为人工神经网络(ANN)。这种架构构成了深度学习的基础。深度学习是机器学习的一个子集,研究受人脑结构与功能启发的算法。简而言之,神经网络为模拟生物神经元如何相互传递信号的架构奠定了基础。”
来源:PyTorch 教程:从零构建一个简单的神经网络

机器学习是人工智能的一个子领域,提供一组算法。这些算法让机器能够从现有历史数据中学习模式与趋势,并在相同数据上预测已知结果。然而,主要目标在于使用训练好的模型将推理泛化到训练数据集之外,在无需显式编程的情况下提升预测的准确性。

用于这些任务的一类算法是神经网络。神经网络属于机器学习的一个子领域——深度学习,其模型训练通常比传统机器学习模型更为昂贵。您可以在另一篇教程中进一步了解如何在 R 中构建神经网络模型。

three-layer neural network

图 1. 三层神经网络的可视化

根据 Edge AI Foundation 的定义,“Tiny 机器学习广义上定义为一类快速发展的机器学习技术与应用,涵盖硬件、算法与软件,能够在极低功耗(通常为毫瓦级及以下)下在设备端执行传感器数据分析,从而支持多种始终在线的用例,并以电池供电设备为目标。”

TinyML 近年的发展,很大程度得益于支撑其发展的硬件与软件生态的完善。由于这些技术可以在低能耗系统(如传感器、微控制器等)中实现,机器学习得以以极致的方式走向边缘,使此类应用具备实时响应能力。本质上,理念是让机器学习从业者在资源更少的条件下做更多的事。

但为何这如此重要?让我们看看 TinyML 的吸引力所在。

The benefits of TinyML

  1. 时延:由于模型在边缘设备上运行,数据无需传输到服务器进行推理。数据传输通常需要时间,会造成轻微延迟。去除该环节可降低时延。
  2. 节能:微控制器所需功率极小,使其无需频繁充电即可长时间运行。除此之外,由于没有信息传输,不需要庞大的服务器基础设施:从而节省能源、资源与成本。
  3. 带宽占用更低:推理几乎不需要互联网连接。设备上的传感器在本地采集并处理数据。这意味着不会持续将原始传感器数据传送至服务器。
  4. 数据隐私:模型在边缘运行,您的数据不会保存在服务器上。不向服务器传输信息可进一步保障数据隐私。

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)设备应用的开发者极具吸引力。

FAQs

什么是微型机器学习(TinyML)?

TinyML 是一种机器学习形式,使模型能够在更小、算力更弱的设备上运行。它涵盖硬件、算法与软件,能够在这些设备上以极低功耗分析传感器数据,非常适合始终在线的用例与电池供电设备。

TinyML 有哪些优势?

TinyML 的优势包括更低时延、节能、更低带宽占用以及更好的数据隐私。TinyML 允许在边缘设备上处理数据,无需将数据传输至服务器,从而避免由传输带来的延迟。与传统机器学习模型相比,TinyML 的功耗也显著更低,使其能够在无需频繁充电的情况下长时间运行。

TinyML 用于哪些场景?

TinyML 可应用于广泛领域,包括农业、工业预测性维护与客户体验;还可用于计算机视觉、视觉唤醒词、关键词唤醒、手势识别等。

TinyML 应用的工作流有哪些要求?

TinyML 应用的工作流需求与传统机器学习工作流类似,但 TinyML 让这些模型能够在更小的设备上执行多种功能。适用于边缘设备的 TensorFlow Lite for microcontrollers(TF Lite Micro)是最受欢迎的框架之一,专为在仅有数千字节内存的嵌入式系统中实现机器学习而设计。

TinyML 有哪些学习资源?

TinyML 的学习资源包括 TinyML Foundation、图书“Tiny ML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers”,以及播客“Embedded Machine Learning on Edge Devices”。我们也提供诸多资源,例如我们的深度学习教程。

主题