TinyML是什么?

平行缘分人工智能 2022-07-11 08:36:11 5793阅读 举报

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

机器学习(ML)是一个充满活力和强大的计算机科学领域,几乎渗透到我们与之交互的每一个数字事物中,无论是社交媒体、手机、汽车还是家用电器。

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

对高性能计算资源的需求已经将许多ML应用程序限制在云中,在云中数据中心级别的计算很容易获得。

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

 

什么是微型机器学习或TinyML?

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

 


图一。 示例感知器神经网络的可视化。

 

另一方面,TinyML可以被定义为ML的一个子领域,它致力于在便宜、资源和功率受限的设备上实现ML应用。

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

这个领域在很大程度上 近年来越来越受欢迎 因为作为其基础的硬件和软件生态系统已经成熟。

 

TinyML应用程序

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

TinyML的应用包括:

  • 关键词识别
  • 物体识别和分类
  • 手势识别
  • 音频检测
  • 机器监控

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

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

 


图二。 唤醒词应用程序的组件

 

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

 

TinyML应用程序中使用的硬件

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

皮特·沃顿 ,被广泛认为是TinyML的父亲,在他的 关于这一主题的开创性著作 TinyML应该致力于 功耗低于1 mW 。这个看似随意的数字的原因是,1 mW的功耗使器件能够使用标准硬币电池运行,其合理寿命为几个月到一年。因此,当你想到TinyML的电源时,想想硬币电池、小型锂电池和能量收集设备。

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

 


图3。 TinyML学习工具包的一个例子

 

为了达到1 mW的崇高目标,我们几乎只能使用微控制器(MCU)和数字信号处理器(DSP)等能力较低的计算硬件。这些器件通常基于Cortex-M,预计RAM不超过几百kB,闪存容量相似,时钟速度在几十MHz。

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

 

TinyML软件:TensorFlow

在很多方面,TinyML背后的工具和概念背后的软件是它最重要的特性。

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

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

作为一个基于Python的环境,TF Lite Micro提供了大量内置库和工具包,可用于:

  • 数据采集
  • 预处理
  • 模型架构
  • 培养
  • 估价
  • 最佳化
  • 量化

 


图4。 TensorFlow Lite微工作流

 

正如我们将在后面的文章中提到的, 量子化真的是秘方 这使得TinyML成为可能。但简单地说,量化是一个降低模型权重和偏差的精度(位大小)的过程,这样模型占用的内存更少,运行更快,需要的能量更少——所有这些对精度的影响都最小!

有了量化模型,大多数TinyML设备的应用程序都是用C/C++编写的,开销很小。

 

TinyML的优势

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

最重要的是,由于计算的本地特性,TinyML还具有增强安全性的优势,即数据不需要发送到云。在物联网等应用中处理个人数据时,这一点非常重要。

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

版权声明:
作者:平行缘分
链接:https://www.dianziwang.net/p/66bbb0bdab7a6
来源:人工智能
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以点击 “举报”


登录 后发表评论
0条评论
还没有人评论过~