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

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

3天内不再提示

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

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-11-28 10:25 次阅读

TinyML 也是机器学习的一种,他的特点就是缩小深度学习网络可以在微型硬件中使用,主要应用在智能设备上。

超低功耗嵌入式设备正在“入侵”我们的世界,借助新的嵌入式机器学习框架,它们将进一步推动人工智能驱动的物联网设备的普及。

FPGA一直以低功耗、可重构的特点在各个领域内应用,同时也可以大大增加物联网应用环境,所以在FPGA上应用TinyML是否是FPGA方便的最佳应用?我们接下来分析一下TinyML的特点再来总结。

接下来让我们翻译这个行话:什么是 TinyML?而且,更重要的是 - 它可以(也不能)用于什么?

什么是 TinyML?

机器学习是一个流行词,已经存在了一段时间,有许多有用的应用程序需要理解混沌数据,目前的应用中它很少与硬件相关联。通常,如果一定要与硬件那么通常通过云相关联,而云通常与延迟、耗电和连接速度有关。

然而,在设备中应用机器学习并不是什么新鲜事。几年来,我们的大多数手机都内置了某种神经网络。设备音乐识别,以及许多相机模式(如夜视和人像模式)只是依赖嵌入式深度学习的几个例子。这些算法可以识别我们更有可能再次使用的应用程序,并关闭不需要的应用程序来延长手机电池。然而,嵌入式 AI 面临着许多挑战,其中最重要的挑战就是功率和空间。这就是 TinyML 的用武之地。

设备上的传感器数据需要强大的计算能力,这会导致存储容量有限、中央处理器 (CPU) 有限和数据库性能下降等问题。TinyML 通过将人工智能嵌入到小块硬件中,将机器学习带到了“现场”。有了它,就可以利用深度学习算法在设备上训练网络并缩小它们的大小,而无需将数据发送到云端,从而减少分析它的延迟。

TinyML:了解基础知识

Google 的 TinyML 大师和 TensorFLow Lite 工程负责人 Pete Warden 与 Daniel Situnayake 一起出版了一本书。这本书“TinyML:在 Arduino 和超低功耗微控制器上使用 TensorFlow Lite 进行机器学习”已成为该领域的参考。

最后,TensorFlow Lite是谷歌创建的嵌入式机器学习框架,它有一个专门为微控制器设计的子类别。2019 年,除了 TensorFlow Lite 之外,其他框架开始专注于让深度学习模型更小、更快,并适配嵌入式硬件,包括uTensor和Arm 的 CMSIS-NN。与此同时,许多教程开始出现,内容是关于如何在 AI 驱动的微控制器上使用 TinyML 和类似框架来训练、验证然后通过推理引擎在硬件上部署小型神经网络集。

机器学习通常与优化有关,但 TinyML 不仅仅是与优化有关:一些云应用程序编程接口 (API) 只是排除交互性,并且从功耗角度来看过于受限。最重要的是,这些限制使边缘计算变得更慢、更昂贵且更不可预测。

与前面提到的基于手机上应用的机器学习的不同之处在于,TinyML 使电池或能量收集设备能够运行,而无需因功率限制而手动充电或更换电池。把它想象成一个永远在线的数字信号处理器。这转化为一种运行功率低于 1 毫瓦的设备(夸张描述),因此该设备要么能够使用电池运行多年,要么可以使用能量收集。这也意味着这些设备根本无法通过无线电连接,因为即使是低功率的短距离无线电也会使用数十到数百毫瓦的功率,并且它只允许短时间的功率爆发。这些限制还导致需要能够在限制为数十 KB 的极小内存限制下运行的代码,因此需要将 TinyML 与 raspberry 或手机上的代码区分开来。

TinyML:当前的应用概览

7317d380-6eb4-11ed-8abf-dac502259ad0.png

根据Emerging Spaces 对 Pitchbook的评论,自 2020 年 1 月以来,TinyML 已投资 2600 万美元,其中包括加速器、早期投资者和后期投资者的风险投资。与 AI 和 ML 的其他更成熟的分支(例如数据标签)相比,这相对较小。在趋势中,交易数量与认知计算、下一代安全和 AIOps 等其他热门话题竞争。

7355a692-6eb4-11ed-8abf-dac502259ad0.png

739861ee-6eb4-11ed-8abf-dac502259ad0.png

TinyML:工作机制

TinyML 算法的工作机制与传统机器学习模型几乎完全相同,通常在用户计算机或云中完成模型的训练。训练后处理是 TinyML 真正发挥作用之处,通常称为“深度压缩”(deep compression)。

73b690b0-6eb4-11ed-8abf-dac502259ad0.png

深度压缩示意图。来源: ArXiv 论文

TinyML:展望未来

今年秋天,哈佛大学推出了课程CS249R:微型机器学习,提到“机器学习的爆炸式增长和 TensorFlow (TF) 等平台的易用性使其成为现代计算机科学专业学生不可或缺的学习课题”。

今天,世界上有超过 2500 亿个嵌入式设备在运行,预计每年增长 20%。,这些设备正在收集大量数据,并在云端处理这些数据提出了相当大的挑战。在这 2500 亿台设备中,目前正在生产的大约 30 亿台能够支持目前正在生产的 TensorsFlow Lite。TinyML 可以弥合边缘硬件和设备智能之间的差距。

总结

随着物联网设备的增加,多传感器的融合以及数量处理也是比较大的特点,所以低功耗的FPGA在这方面会大方异彩。

在这方面,FPGA厂商Lattice早就推出了基于超低功耗(iphone手机上曾用的up5k)FPGA的TinyML开发平台,并且开源了声音和人脸识别的开源方案,链接如下:

https://github.com/tinyvision-ai-inc

https://www.latticesemi.com/Products/DevelopmentBoardsAndKits/HimaxHM01B0

随着新智能设备和物联网设备数量的增加,TinyML在低功耗FPGA上的应用有可能在无处不在、更便宜、可扩展且更可预测的边缘嵌入 AI 设备上大量应用,从而改变 ML 的应用范式。

审核编辑 :李倩

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

    关注

    1624

    文章

    21597

    浏览量

    601013
  • 人工智能
    +关注

    关注

    1789

    文章

    46545

    浏览量

    236825
  • 物联网设备
    +关注

    关注

    1

    文章

    234

    浏览量

    19687

原文标题:TinyML:是否是FPGA在人工智能方面的最佳应用?

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    开关电源输出电容容值的选择:为何不能太小不能太大?

    等多个方面。本文将详细探讨为何开关电源的输出电容容值不能太小不能太大。 一、输出电容太小的影响 电压纹波增大 开关电源的基本工作原理是通过开关管的通断来调节输出电压。在这个过程中,输出电容负责平滑电压波动,
    的头像 发表于 10-23 15:52 262次阅读

    OP07不能用于电压跟随器吗?

    OP07不能用于电压跟随器吗?我把Vi(1KHz,VPP=1V)直接接op07的同相端,输出端与反相端直接连接,为什么Vo和Vi不相等呢,根本就没有电压跟随的效果,事后我把op07换成LM324就可以,求助!!
    发表于 09-14 07:44

    ESP8266板子在上电的时候不能下载程序,不能执行FLASH中的程序,为什么?

    我们的8266板子在上电的时候不能下载程序,不能执行FLASH中的程序(FLASH中的程序是在开发板上下载好的),打印如下(逻辑分析仪抓取): est Jan8 2013,res cause
    发表于 07-22 06:56

    瑞萨电子推出Reality AI Explorer Tier,用于开发AI与TinyML解决方案

    全球半导体解决方案供应商瑞萨电子(TSE:6723)宣布推出Reality AI Explorer Tier——作为Reality AI Tools软件的免费版本,可用于开发工业、汽车和商业应用中的AI与TinyML解决方案。
    的头像 发表于 07-19 10:03 362次阅读

    esp32用串口助手连接不上,不能下载程序,为什么?

    我用的是wsl+vscode的开发方式,在cat /dev/ttyS3的时候,运行了echo 1 /dev/ttyS3,我以为echo这样写就能向esp32发送数据。。结果运行完之后就打不开串口接收了,用串口助手连接不上,不能
    发表于 06-24 09:00

    示波器可以做哪些测试?

    示波器是一种多功能的电子测量设备,它可以用于各种电气和电子信号的测试和分析。
    的头像 发表于 05-30 18:11 1048次阅读

    绝缘测试仪可以测量哪些参数

    绝缘测试仪,常称为兆欧表或摇表,是一种用于测量电气设备绝缘电阻的电工仪表。它可以提供关于设备绝缘性能的重要信息,是预防电气故障和维护电气系统安全的关键工具。
    的头像 发表于 05-11 14:58 983次阅读

    TinyML在机器人中的应用——创建语音控制机器人子系统

    通过对TinyML领域基础概念的坚实理解,我们将把我们的知识应用到现实生活中的项目中。nbsp; 在深入研究这个项目之前,我想说明一下,这个项目将使用现有的数据集,Google Colabs和由
    的头像 发表于 05-07 14:51 7419次阅读
    <b class='flag-5'>TinyML</b>在机器人中的应用——创建语音控制机器人子系统

    风机轴磨损可以这样修

    电子发烧友网站提供《风机轴磨损可以这样修.docx》资料免费下载
    发表于 02-03 09:24 0次下载

    TC397可以连接但不能烧录的原因?

    你好, TC397在燃烧过程中可能会卡住。 它可以连接但不能烧录。 我可以问一下问题是什么以及如何解决这个问题吗? 谢谢
    发表于 01-23 07:36

    ADUCM360不能够进入下载模式Proglam,不能执行MASS Erase的原因?怎么解决?

    不能够进入下载模式Proglam,不能执行MASS Erase。 请问以上三个个问题是由于KEIL或JLINK配置不正确还是硬件上那些引脚处理不正确?其中问题2在IAR中问题解决,但是,在KEIL
    发表于 01-12 08:14

    示波器电流探头可以测量多大电压?

    示波器电流探头可以测量多大电压? 示波器电流探头是一种用于测量电流信号的工具,它可以将电流转换为可观测的电压信号。然而,实际上示波器电流探头并不能直接测量电压,它只能间接测量电压。 示
    的头像 发表于 01-08 14:55 810次阅读

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

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

    防静电,电容可以say yes

    防静电,电容可以say yes
    的头像 发表于 11-24 10:13 1011次阅读
    防静电,电容<b class='flag-5'>也</b><b class='flag-5'>可以</b>say yes

    什么是IoT?通过它可以实现什么?

    的理解吧。 1-1、IoT(物联网)的概念 IoT(物联网)是指各种物件与互联网连接起来的状态。通过连接互联网,各种物件可以通过人的操作和传感器,将获取的信息(数据)存储在特定服务器或云上。 通过分析这些存储的信息,并提供物件的最佳控制,以及为使用该物件的人提供最佳
    的头像 发表于 11-09 15:31 1277次阅读