查看原文
其他

人工智能的下一轮革命?关于TinyML的一切

柴火菌 柴火创客空间 2023-11-22


TinyML 是目前嵌入式计算领域最热门的趋势之一,甚至被称为“下一轮人工智能革命”。这主要得益于其应用潜力巨大,能够快速助力创新者和工程师使用低功耗微控制器迅速将一些想法变为现实。


此外,人工智能AI正快速从“云端”走向“边缘”,进入到越来越小的物联网设备中。能够在资源最少的 MCU 上进行推理的TinyML,恰好促成了边缘工业物联网 (IIoT) 设备的兴起。


如果您想了解TinyML的一切,但无从开始,那么这个一站式指南就是专门为你准备的。这篇指南(上)涵盖TinyML是什么?TinyML的应用场景有哪些?开启学习TinyML需要什么软硬件资源?



什么是 TinyML?


微型机器学习Tiny Machine Learning (TinyML) 是机器学习的一个研究领域,专注于在超低功耗的微控制器设备上开发和部署机器学习模型。TinyML使机器学习可以在在安全、低延迟、低功耗和低带宽边缘设备上运行。



正如哈佛大学博士Matthew Stewart所说,tinyML 是一个新兴的学科,它能够在资源受限的微控制器上实现低资源消耗、低功耗的机器学习算法。




TinyML 重要性



为什么 TinyML 如此重要?一个重要的原因是它很小!


TinyML涉及的微控制器体积小且能效高,电池一次就能供电数年。同时这些微控制器比尺寸大的计算机和服务器更加实惠,低成本优势十分适合个人和小型企业进行部署应用。


因此,低能耗高效能以及低成本的独特组合也意味着 TinyML非常适合嵌入式计算应用程序中的大规模应用,让人工智能变得随处可见成为了可能。


“AI让边缘更智能,边缘让AI无处不在“。边缘AI能够在硬件设备上进行本地处理的AI算法,可以在没有网络连接的情况下处理数据。



TinyML 是边缘人工智能的一个子集,它具有边缘计算的诸多优势:

  • 可进行实时本地计算,降低延迟

  • 降低远程通信要求,降低带宽成本

  • 卓越的可靠性,即使在网络连接中断时也能持续

  • 通过更少的传输和本地数据存储提高安全性



TinyML 的局限性


由于微控制器内存和计算能力有限,与树莓派、Jetson Nano等功能强大的设备相比,微控制器上使用 TinyML 运行的模型类型存在一定的局限性。下表显示了一些示例:


机器学习应用

微控制器上的 TinyML

SBC / 服务器上的 Edge ML

预测和异常检测

能,但模型尺寸有限

图像识别

能,分辨率和速度较低

能,使用高端硬件进行实时处理

音频识别

仅关键字/唤醒词检测

全自然语言处理 (NLP)


因此,在使用TinyML要注意模型大小和模型推理速度。例如,使用具有多层的深度神经网络的自然语言处理目前就超出了 TinyML 的范围。尽管如此,TinyML 的可访问性和能源效率对于各种应用程序仍然有价值。




TinyML 应用


“如果你能以低于 1 mW 的能量运行神经网络模型,它就可以让许多全新的应用成为可能。这意味着使用纽扣电池运行的设备,其使用寿命也能达到一年。同时产品还能足够小,可以适应任何环境,在没有任何人工干预的情况下依旧能运行。”

——– Pete Warden,TensorFlow 技术主管







TinyML证明了小芯片也可以发觉更多可能,它在尺寸和功率受限的嵌入式应用程序中表现出色,TinyML 的微控制器只有拇指尖那么小,即使长时间运行也消耗的功率也非常小。如,TinyML 在 Seeeduino XIAO 等超小型 MCU 上运行!


TinyML 还可以轻松应用于多种场景,以创建始终在线的智能应用程序,进行预测、处理复杂数据和管理解决方案



01

预测性维护


通过使用 TinyML ,我们可以监控机器的性能特征并在发生故障之前提供维护。这最大限度地减少了设备停机时间和维修成本,从而提高了业务收入和工作场所的安全性



例如,一些矿业公司正在使用 TinyML 来预测其轨道车上的车轮、轴承和车轴的故障,以简化其材料运输操作。一家公司在损害发生的前一周就发现问题并进行了解决,这使得维护事件减少了 50%——五年内节省了约 3400 万美元。



02

智慧农业


对于智慧农业来说,在涉及大量数据源的情况下将所有设备连接到网络并将数据传递到云端并不总是可行的,而这恰好是TinyML的用武之地。TinyML 通过对收集到的环境数据进行实时分析,来改善精准农业中的作物生长。随着智能温室的兴起,TinyML 还帮助农业专家通过学习过去的数据做出最大化作物产量的决策。


使用 tinyML 进行节水


另一方面,我们甚至可以使用 TinyML 设备分析个体牲畜的状况和行为,从而实时对它们的健康状况做出智能结论。



03

智慧城市


TinyML 不再囿于云端超级计算机,而是可以被隐藏于众多小到可以忽略的电子零件中,这些特点能在智能城市方面发挥关键作用。


智慧天气系统

(教程链接:https://www.ligongku.com/resource/1128


TinyML可让智能设备用于监控和优化交通、分析碳足迹,甚至开发基于视觉的安全系统。例如,将 TinyML 添加到交通路口可以实时优化道路交通。通过进一步利用物联网的互连性,这些好处可以通过这些城市的网络效应成倍增加!



04

按需医疗


TinyML的应用使得医疗保健领域的效率和服务质量得到显著提高,成本也大大降低。例如,基于运动的跌倒检测器可以识别儿童或老人跌倒的实例,而关键字检测可以识别呼救声。

此外,TinyML 现在正在为按需医疗诊断提供可负担的解决方案,这些解决方案应用在边远农村地区,可以解决医疗保健设施受限等问题。


05

可持续发展




人类长期的不可持续活动造成自然灾害频发、资源枯竭、全球变暖等问题,在此背景下可持续发展势在必行。TinyML倡导通过在低功耗设备上执行机器学习算法来减少碳足迹,这与可持续发展的理念(SDG)十分吻合



助力SDG项目发展,柴火母公司矽递科技特发起“科技向善”赞助项目,如果你也想制作相关项目的想法,赶紧扫码申请这个赞助吧!




TinyML 软件 – 框架和平台


虽然 TinyML 的专用硬件正迎头赶上,但目前大多数实施都严重依赖软件来优化机器学习模型。以下是一些软件框架和平台:



01

TensorFlow Lite Micro 


TensorFlow是谷歌的开源机器学习框架,能够帮助用户快速搭建低功耗、微小的硬件环境进行深度学习运算。TensorFlow Lite Micro 是 TensorFlow Lite 针对 AIOT 的轻量级 AI 引擎,用于在微控制器和其他资源受限的设备上运行机器学习模型。端云链接从 TencentOS Tiny 开始。



TFLite Micro 允许您轻松地将常规 TensorFlow 模型压缩到仅几 KB,并附带大量示例模型,例如Hello World或Magic Wand,以展示各种 TinyML 基础知识和功能。




05

Edge Impulse


Edge Impulse是一个专门针对 TinyML 应用程序开发的平台。凭借易于使用的基于 Web 的界面,Edge Impulse 可以说是任何人收集数据、训练模型并最终将其部署到微控制器上的最简单的解决方案。最重要的是,它对开发人员免费。


Edge Impulse 的 Web 界面


使用 Edge Impulse 开发 TinyML 还允许您利用他们的边缘优化神经 (EON) 编译器,与用于微控制器的 TFLite 相比,它可以运行内存减少 25-55%存储空间减少 35% 的神经网络——这是需要考虑的重要一点!


与 TFLite Micro 一样,Edge Impulse 支持大量微控制器和开发板,还包括 Arduino Nano 33 BLE Sense 和 Wio Terminal。支持的设备可以在几分钟内轻松记录和上传数据集



06

OpenMV



OpenMV是另一个 TinyML 开发平台,主要专注于计算机视觉应用。这包括应用于任何类型的图像或视频的机器学习,如对象识别或图像分类。该平台围绕 OpenMV Cam H7 构建,这是一个在 ARM Cortex M7 处理器上运行的微控制器板,并且是 Micropython 可编程的。



此外,OpenMV 提供了一个跨平台的 IDE,它具有强大的代码编辑器、调试终端和带有直方图显示的帧缓冲查看器——所有这些都是在 TinyML 中开发计算机视觉应用程序的关键组件!



TinyML 的硬件


01

Arduino Nano 33 BLE Sense


Arduino Nano 33 BLE Sense 是一款基于 nRF52840 SoC ARM 32 位处理器的微型开发板,其主控芯片集成了蓝牙低功耗(BLE)。NANO 33 BLE 不仅保留了与经典款 NANO 同样的尺寸与管脚,且在此基础上配有多种高性能传感器(角速度,加速度,压力,温湿度,距离,光感,姿态)等。




02

Arduino Nano RP2040 connect


这是Arduino与树莓派基金会合作开发的围绕树莓派的RP2040 微控制器构建,具有额外的连接套件和传感器外围设备,例如用于支持语音项目的麦克风!



最令人兴奋的是,它搭载了一个支持 AI 的 6 轴 IMU,对于需要运动感应的应用,例如计步、自由落体检测、敲击检测、6D 方向等,它的用途非常广泛!借助可提供 WiFi 和 BLE 连接的板载 u-blox NINA-W102 无线电模块,还可以轻松地将 Nano RP2040 Connect 集成到 IoT 项目中!




03

Wio Terminal


Wio Terminal 能够实现 TinyML 和 IoT 的完整 AI 平台——围绕 ATSAMD51P19 和 120MHz 的 ARM Cortex-M4F 构建,可与微控制器的各种 ML 框架高度兼容。除了集成 WiFi 和蓝牙外,它还具有板载 2.4 英寸 LCD 显示屏、IMU、麦克风、蜂鸣器、microSD 卡插槽、光传感器和红外发射器,可应对任何类型的应用。



Wio Terminal支持 Edge Impulse TensorFlow Lite ,这意味着可以使用它轻松设计和部署机器学习应用程序!柴火母公司矽递科技很高兴地宣布推出Hello World of AI页面,你可以在其中探索硬件、软件和学习资源的无限可能!


链接:

https://www.seeedstudio.com/wio-terminal-tinyml.html




04

Seeed XIAO系列


TinyML 的极限在哪里?究竟能够多小?Seeeduino XIAO 对此的回答是:很小!它是 Seeeduino 系列中最小的 Arduino 兼容板,只有拇指尖那么大。尽管如此,Seeeduino XIAO 配备了强大的 SAMD21 微芯片和多种硬件接口,真正将 TinyML 放入微型机器之中!



Seeeduino XIAO 还有几个强大的兄弟,Seeed XIAO RP2040、 Seeed XIAO BLE和Seeed BLE SENSE,配备板载天线、6 Dof IMU、麦克风,也都是 TinyML 首屈一指的选择!


XIAO RP2040

Seeed XIAO系列



XIAO BLEXIAO BLE SENSE



写在最后


本文为TinyML指南的上期,接下来将继续给社区小伙伴们带来TinyML学习资源、社区等更多内容,欢迎大家持续关注。文中涉及产品,可在矽递科技电商平台查看并购买。


扫码进入店铺查看更多产品


此外,如果你想系统地快速入门TinyML技术,了解人工智能、图形化编程等,可以了解我们《tinyML微型机器学习-从零开始,掌握AI》工作坊。




3月工作坊报名开启,将于3月19-20日线上开班,抓紧时间上车!!!








🤖️🤖️🤖️

近期文章

3月tinyML工作坊线上发车报名开启!

他们说“其实学习AI,没有那么困难!”

新一代人才赋能体系全新升级,合作招募开启

项目教程 | 教程备好,等你来造

柴火会员 | 成为认证会员|Arduino官方认证



人才升级 推动双创事业


提升技能 尽在👇人才赋能 



----END----

  Chaihuo x.factory|深圳,河北  


点个“在看”不失联
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存