0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是TinyML?

海阔天空的专栏 来源:Jake Hertz 作者:Jake Hertz 2023-01-27 16:51 次阅读

了解机器学习 (ML) 的一个子部分,称为微型机器学习 (TinyML)、它是什么、它的应用程序、硬件和软件要求以及它的优势。

机器学习 (ML) 是一个动态而强大的计算机科学领域,它几乎渗透到我们与之交互的所有数字事物中,无论是社交媒体、手机、汽车,甚至是家用电器。

尽管如此,ML还是想去很多地方,但很难到达。 这是因为许多最先进的机器学习模型需要大量的计算资源和功耗来执行推理,这是运行 ML
模型并对其输入数据进行预测的行为。

对高性能计算资源的需求将许多 ML 应用程序限制在云中,在云中,数据中心级别的计算随时可用。

为了让 ML 扩大其覆盖范围,并在此过程中开启应用的新时代,我们必须找到在更小、资源更有限的设备上促进 ML
推理的方法。 这种追求导致了被称为微型机器学习或TinyML的领域(来自 TinyML基金会 这已成为该技术的代名词)。

什么是Tiny Machine Learning or TinyML?

机器学习本身是一种利用称为神经网络算法(示例如图 1 所示)来教计算机识别模式的技术。 这被外推到各种应用,包括对象识别和自然语言处理。

图1. 感知器神经网络示例的可视化。 图片来源 罗伯特·凯姆。

另一方面,TinyML可以定义为ML的一个子领域,它追求在廉价且资源和功率受限的设备上启用ML应用程序。

TinyML的目标是以一种极端的方式将机器学习带到边缘,其中电池供电的,基于微控制器嵌入式设备可以实时响应地执行ML任务。 这项工作是非常多学科的,需要从硬件、软件、数据科学和机器学习等领域进行优化和最大化。

该领域在很大程度上是 近年来越来越受欢迎 由于作为其基础的硬件和软件生态系统的成熟。

TinyML 应用程序

无论您是否意识到这一点,TinyML在某种程度上可能是您日常生活的一部分。

TinyML的应用包括:

关键字发现

物体识别和分类

手势识别

音频检测

机器监控

TinyML应用程序在日常生活中的一个例子是Google和Android设备内部使用的音频唤醒词检测模型。 唤醒字检测组件的示例如图 2 所示。

为了在听到“OK Google”字样时“打开”,Android设备使用在DSP上运行的14 kB语音检测ML模型。 许多其他虚拟助手也是如此。

唤醒词应用程序的组件。

图2. 唤醒字应用程序的组件。 图片由 闫志彤、韩卓伟

其他 哈佛大学学生的TinyML应用示例 包括汽车的公路鹿检测(物体检测示例)、基于音频的蚊子检测(音频识别示例)等等。

TinyML 应用程序中使用的硬件

当涉及到硬件方面的事情时,TinyML令人印象深刻,因为它的目标是在一些非常不起眼的硬件上工作。 从某种角度来看,TinyML的真正目标是以尽可能低的功耗执行ML推理。

皮特·沃登被广泛认为是TinyML之父,在他的 关于该主题的开创性书籍 TinyML应该以 功耗低于 1 mW.这个看似任意的数字的原因是,1 mW
的功耗使设备能够在标准纽扣电池上运行,其合理寿命为数月至一年。 因此,当您考虑TinyML的电源时,请考虑纽扣电池,小型Li-Po电池和能量收集设备。

从计算的角度来看,TinyML不像大多数ML应用程序那样依赖于图形处理单元(GPU),专用集成电路ASIC)和微处理器。 使用 Arduino
的示例学习套件如图 3 所示。

TinyML学习工具包的示例。

图3. TinyML学习工具包的示例。 图片由 阿杜伊诺

为了实现1 mW的崇高目标,我们几乎完全局限于功能较弱的计算硬件,如微控制器(MCU)和数字信号处理器(DSP)。 这些设备通常基于
Cortex-M,预计不会超过几百 kB 的 RAM、相似数量的闪存和数十 MHz 的时钟速度。

除此之外,您可能希望在TinyML设备上找到的其他硬件包括传感器(例如,相机,麦克风)和可能的一些BLE(蓝牙低功耗)连接。

TinyML软件:TensorFlow

在很多方面,TinyML背后的工具和概念背后的软件是其最重要的功能。

一般来说,TinyML 开发最流行和构建的生态系统是 用于微控制器的TensorFlow Lite (TF Lite Micro)。 TF Lite
Micro 上 TinyML 的通用工作流程如图 4 所示。

TF Lite Micro 专为资源受限设备上的 ML 任务而设计,MCU 是重点。

TF Lite Micro是一个基于Python的环境,充满了内置库和工具包,用于:

数据采集

预处理

模型体系结构

训练

评估

优化

量化

TensorFlow Lite Micro 工作流程。

图4. TensorFlow Lite Micro 工作流程。 图片由 索米特拉·贾格代尔

正如我们将在后面的文章中谈到的, 量化真的是秘诀
这使得TinyML成为可能。 但简而言之,量化是一个过程,通过该过程,您可以降低模型权重和偏差的精度(位大小),从而使模型占用更少的内存、运行速度更快、需要更少的功率

  • 所有这些都对准确性的影响最小!

使用量化模型,大多数TinyML设备的应用程序都是用C / C++编写的,以实现最小的开销。

TinyML的优势

TinyML的主要优点是它的可移植性。 在具有微型电池和低功耗的廉价微控制器上运行意味着,使用TinyML,人们可以轻松地以便宜的价格将ML集成到几乎任何东西中。

除此之外,由于计算的本地性质,TinyML还具有提高安全性的好处,即数据不需要发送到云。 在物联网等应用程序中处理个人数据时,这可能很重要。

通过对TinyML领域的扎实介绍,我们现在可以在下一篇文章中更深入地探讨该领域的更多技术方面。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15239

    浏览量

    171229
  • ML
    ML
    +关注

    关注

    0

    文章

    139

    浏览量

    34295
  • 机器学习
    +关注

    关注

    66

    文章

    8134

    浏览量

    130577
  • 电池
    +关注

    关注

    82

    文章

    9817

    浏览量

    123559
收藏 人收藏

    评论

    相关推荐

    如何使用TinyML和Edge Impulse构建一个咳嗽检测系统

    在本文中,我们将展示如何使用 TinyML 和 Edge Impulse 为 Arduino Nano BLE Sense 构建咳嗽检测系统。
    发表于 07-21 17:48 2244次阅读
    如何使用<b class='flag-5'>TinyML</b>和Edge Impulse构建一个咳嗽检测系统

    【先楫HPM5361EVK开发板试用体验】:4、TinyML测试(1)

    1、TinyML简介 TinyML是指在边缘设备上运行的机器学习模型,通常是在资源受限的嵌入式系统上运行的轻量级模型。这些设备可以是智能手机、传感器、微控制器或其他嵌入式设备。TinyML的目标
    发表于 12-22 10:12

    什么是TinyML?微型机器学习

    了解一个叫做微型机器学习(Tiny Machine Learning,TinyML)的机器学习分部,它是什么,它的应用,硬件和软件需求,以及它的好处。机器学习(ML)是计算机科学中一个动态而强大
    发表于 04-12 10:20

    一文知道TinyML的演变

    TinyML是世界上最新的深度学习和人工智能技术。它增强了微控制器中运行机器学习模型的能力。
    的头像 发表于 11-11 17:02 3146次阅读
    一文知道<b class='flag-5'>TinyML</b>的演变

    如何在 MCU 上快速部署 TinyML

    您对人工智能 (AI) 和机器学习 (ML) 感到好奇吗?您想知道如何在您已经使用过的微控制器上使用它吗?在本文中,我们向您介绍了微控制器上的机器学习。该主题也称为微型机器学习 (TinyML
    的头像 发表于 07-19 10:24 1474次阅读
    如何在 MCU 上快速部署 <b class='flag-5'>TinyML</b>

    带有tinyML的肩部恢复设备

    电子发烧友网站提供《带有tinyML的肩部恢复设备.zip》资料免费下载
    发表于 10-26 15:54 2次下载
    带有<b class='flag-5'>tinyML</b>的肩部恢复设备

    使用TinyML来预测与气压系统(APS)故障

    电子发烧友网站提供《使用TinyML来预测与气压系统(APS)故障.zip》资料免费下载
    发表于 10-31 14:53 0次下载
    使用<b class='flag-5'>TinyML</b>来预测与气压系统(APS)故障

    什么是TinyML?它可以(也不能)用于什么?

    FPGA一直以低功耗、可重构的特点在各个领域内应用,同时也可以大大增加物联网应用环境,所以在FPGA上应用TinyML是否是FPGA方便的最佳应用?我们接下来分析一下TinyML的特点再来总结。
    的头像 发表于 11-28 10:25 5438次阅读

    通过Edge Impulse开始使用TinyML

    电子发烧友网站提供《通过Edge Impulse开始使用TinyML.zip》资料免费下载
    发表于 12-15 13:56 1次下载
    通过Edge Impulse开始使用<b class='flag-5'>TinyML</b>

    TinyML狗吠止动器开源硬件

    电子发烧友网站提供《TinyML狗吠止动器开源硬件.zip》资料免费下载
    发表于 02-02 16:47 0次下载
    <b class='flag-5'>TinyML</b>狗吠止动器开源硬件

    带有OV7670相机模块的TinyML

    电子发烧友网站提供《带有OV7670相机模块的TinyML.zip》资料免费下载
    发表于 02-03 14:09 2次下载
    带有OV7670相机模块的<b class='flag-5'>TinyML</b>

    使用TinyML开发私人教练

    电子发烧友网站提供《使用TinyML开发私人教练.zip》资料免费下载
    发表于 06-12 14:38 0次下载
    使用<b class='flag-5'>TinyML</b>开发私人教练

    TinyML课程#7变得更小

    电子发烧友网站提供《TinyML课程#7变得更小.zip》资料免费下载
    发表于 06-25 10:23 0次下载
    <b class='flag-5'>TinyML</b>课程#7变得更小

    TinyML变得简单:关键词识别(KWS)

    电子发烧友网站提供《TinyML变得简单:关键词识别(KWS).zip》资料免费下载
    发表于 07-13 10:20 2次下载
    <b class='flag-5'>TinyML</b>变得简单:关键词识别(KWS)

    TinyML变得简单:图像分类

    电子发烧友网站提供《TinyML变得简单:图像分类.zip》资料免费下载
    发表于 07-13 10:04 0次下载
    <b class='flag-5'>TinyML</b>变得简单:图像分类