卷积神经网络的硬件转换:什么是机器学习?——第三部分

发布者:EE小广播最新更新时间:2023-06-13 来源: EEWORLD作者: Ole Dreessen,现场应用工程师关键字:卷积  神经网络  机器学习 手机看文章 扫描二维码
随时随地手机看文章

摘要


本系列文章由三部分组成,主要探讨卷积神经网络(CNN)的特性和应用。CNN主要用于模式识别和对象分类。作为系列文章的第三部分,本文重点解释如何使用硬件转换卷积神经网络(CNN),并特别介绍使用带CNN硬件加速器的人工智能(AI)微控制器在物联网(IoT)边缘实现人工智能应用所带来的好处。系列文章的前两篇文章为《卷积神经网络简介:什么是机器学习?——第一部分》和《训练卷积神经网络:什么是机器学习?——第二部分》。


简介


AI应用通常需要消耗大量能源,并以服务器农场或昂贵的现场可编程门阵列(FPGA)为载体。AI应用的挑战在于提高计算能力的同时保持较低的功耗和成本。当前,强大的智能边缘计算正在使AI应用发生巨大转变。与传统的基于固件的AI计算相比,以基于硬件的卷积神经网络加速器为载体的智能边缘AI计算具备惊人的速度和强大的算力,开创了计算性能的新时代。这是因为智能边缘计算能够让传感器节点在本地自行决策而不受5G和Wi-Fi网络数据传输速率的限制,为实现之前难以落地的新兴技术和应用场景提供了助力。例如,在偏远地区,传感器级别的烟雾/火灾探测或环境数据分析已成为现实。这些应用支持电池供电,能够工作很多年的时间。本文通过探讨如何采用带专用CNN加速器的AI微控制器实现CNN的硬件转换来说明如何实现这些功能。


采用超低功耗卷积神经网络加速器的人工智能微控制器


MAX78000是一款有超低功耗CNN加速器的AI微控制器片上系统, 能在资源受限的边缘设备或物联网应用中实现超低功耗的神经网络运算。其应用场景包括目标检测和分类、音频处理、声音分类、噪声消除、面部识别、基于心率等健康体征分析的时间序列数据处理、多传感器分析以及预测性维护。


图1为MAX78000的框图,其内核为带浮点运算单元的Arm® Cortex®-M4F内核,工作频率高达100 MHz。为了给应用提供足够的存储资源,MAX78000还配备了512 kB的闪存和128 kB的SRAM。该器件提供多个外部接口,例如I²C、SPI、UART,以及用于音频的I²S。此外,器件还集成了60 MHz的RISC-V内核,可以作为一个智能的直接存储器访问(DMA)引擎从/向各个外围模块和存储(包括闪存和SRAM)复制/粘贴数据。由于RISC-V内核可以对AI加速器所需的


 image.png

图1.MAX78000的结构框图


传感器数据进行预处理,因而Arm内核在此期间可以处于深度睡眠模式。推理结果也可以通过中断触发Arm内核在主应用程序中执行操作,通过无线传输传感器数据或向用户发送通知。


具备用于执行卷积神经网络推理的专用硬件加速器单元是MAX7800x系列微控制器的一个显著特征,这使其有别于标准的微控制器架构。该CNN硬件加速器可以支持完整的CNN模型架构以及所有必需的参数(权重和偏置),配备了64个并行处理器和一个集成存储器。集成存储器中的442 kB用于存储参数,896 kB用于存储输入数据。不仅存储在SRAM中的模型和参数可以通过固件进行调整,网络也可以实时地通过固件进行调整。器件支持的模型权重为1位、2位、4位或8位,存储器支持容纳多达350万个参数。加速器的存储功能使得微控制器无需在连续的数学运算中每次都要通过总线获取相关参数——这样的方式通常伴有高延迟和高功耗,代价高昂。CNN加速器可以支持32层或64层的网络,具体层数取决于池化函数。每层的可编程图像输入/输出大小最多为1024 × 1024像素。


CNN硬件转换:功耗和推理速度比较


CNN推理是一项包含大型矩阵线性方程运算的复杂计算任务。Arm Cortex-M4F微控制器的强大能力可以使得CNN推理在嵌入式系统的固件上运行。但这种方式也有一些缺点:在微控制器上运行基于固件的CNN推理时,计算命令和相关参数都需要先从存储器中检索再被写回中间结果,这会造成大量功耗和时延。


表1对三种不同解决方案的CNN推理速度和功耗进行了比较。所用的模型基于手写数字识别训练集MNIST开发,可对视觉输入数据中的数字和字母进行分类以获得准确的输出结果。为确定功耗和速度的差异,本文对三种解决方案所需的推理时间进行了测量。


表1.手写数字识别的CNN推理时间和推理功耗,基于MNIST数据集

image.png


方案一使用集成Arm Cortex-M4F处理器的MAX32630进行推理,其工作频率为96 MHz。方案二使用MAX78000的CNN硬件加速器进行推理,其推理速度(即数据输入与结果输出之间的时间)比方案一加快了400倍,每次推理所需的能量也仅为方案一的1/1100。方案三对MNIST网络进行了低功耗优化,从而最大限度地降低了每次推理的功耗。虽然方案三推理结果的准确性从99.6%下降到了95.6%,但其速度快了很多,每次推理只需0.36 ms,推理功耗降也低至仅1.1 µW。两节AA碱性电池(总共6 Wh能量)可以支持应用进行500万次的推理(忽略系统其它部分的功耗)。


这些数据说明了硬件加速器的强大计算能力可以大大助益无法利用或连接到连续电源的应用场景。MAX78000就是这样一款产品,它支持边缘AI处理,无需大量功耗和网络连接,也无需冗长的推理时间。


MAX78000 AI微控制器的使用示例


MAX78000支持多种应用,下面本文围绕部分用例展开讨论。其中一个用例是设计一个电池供电的摄像头,需要能检测到视野中是否有猫出现,并能够通过数字输出打开猫门允许猫进入房屋。


图2为该设计的示例框图。在本设计中,RISC-V内核会定期开启图像传感器并将图像数据加载到MAX78000的CNN加速器中。如果系统判断猫出现的概率高于预设的阈值,则打开猫门然后回到待机模式。


 image.png

图2.智能宠物门框图


开发环境和评估套件


边缘人工智能应用的开发过程可分为以下几个阶段:


第一阶段:AI——网络的定义、训练和量化


第二阶段:Arm固件——将第一阶段生成的网络和参数导入C/C++应用程序,创建并测试固件


开发过程的第一阶段涉及建模、训练和评估AI模型等环节。此阶段开发人员可以利用开源工具,例如PyTorch 和TensorFlow。MAX78000的GitHub网页也提供全面的资源帮助用户在考虑其硬件规格的同时使用PyTorch构建和训练AI网络。网页也提供一些简单的AI网络和应用,例如面部识别(Face ID),供用户参考。


图3显示了采用PyTorch进行AI开发的典型过程。首先是对网络进行建模。必须注意的是,MAX7800x微控制器并非都配置了支持所有PyTorch数据操作的相关硬件。因此,必须首先将ADI公司提供的ai8x.py文件包含在项目中,该文件包含MAX78000所需的PyTorch模块和运算符。基于此可以进入下一步骤构建网络,使用训练数据对网络进行训练、评估和量化。这一步骤会生成一个检查点文件,其中包含用于最终综合过程的输入数据。最后一步是将网络及其参数转换为适合CNN硬件加速器的形式。值得注意的是,虽然任何PC(笔记本、服务器等)都可用于训练网络,但如果没有CUDA显卡,训练网络可能会花费很长的时间——即使对于小型网络来说也有可能需要几天甚至几周的时间。


开发过程的第二阶段是通过将数据写入CNN加速器并读取结果的机制来创建应用固件。


 image.png

图3.AI开发过程


第一阶段创建的文件通过#include指令集成到C/C++项目中。微控制器的开发环境可使用Eclipse IDE和GNU工具链等开源工具。ADI公司提供的软件开发套件(Maxim Micros SDK (Windows))也已经包含了所有开发必需的组件和配置,包括外设驱动以及示例说明,帮助用户简化应用开发过程。


成功通过编译和链接的项目可以在目标硬件上进行评估。ADI开发了两种不同的硬件平台可供选用:图4为MAX78000EVKIT,图5为MAX78000FTHR,一个稍小的评估板。每个评估板都配有一个VGA摄像头和一个麦克风。


 image.png

图4.MAX78000评估套件


 image.png

图5.MAX78000FTHR评估套件


结论


以前,AI应用必须以昂贵的服务器农场或FPGA为载体,并消耗大量能源。现在,借助带专用CNN加速器的MAX78000系列微控制器,AI应用依靠单组电池供电就可以长时间运行。MAX78000系列微控制器在能效和功耗方面的性能突破大大降低了边缘AI的实现难度,使得新型边缘AI应用的惊人潜力得以释放。欲了解更多信息,请访问超低功耗人工智能(AI) MCU。


参考资料


 “研讨会2 - 边缘人工智能:Maxim Integrated MAX78000 AI加速器的实践介绍”。ADI公司。

视频系列:了解人工智能。ADI公司。


PyTorch徽标经知识共享 版权归属-相同方式共享 4.0 国际 公共许可证许可使用。


关键字:卷积  神经网络  机器学习 引用地址:卷积神经网络的硬件转换:什么是机器学习?——第三部分

上一篇:ADALM2000实验:CMOS逻辑电路、D型锁存​器
下一篇:ADALM2000实验:BJT多谐振荡器

推荐阅读最新更新时间:2024-11-11 10:26

机器学习的潛能
机器学习目前是软件行业最被夸大其词的术语之一,因为从本质上来讲,它就是用来实现数据驱动型预测、决策和建模的一系列广泛的算法和方法。 假如你能真正掌握机器学习的技術和運用,它能让您在大量数据中,实时地搜索交易,或者利用聚合和可视化,展示一段时间以来的畅销产品或交易趋势。你可更深入地探究数据,例如“有没有哪项服务的行为发生了变化?”或者“主机上是否运行有异常进程?” 以下为几个机器学习的示例: 示例 1 - 自动提醒关键绩效指标值的异常变化 要说这项技术最直观的用例,那就是可以识别指标值或事件速率偏离正常行为的情况。例如,服务响应时间有没有显著增加?网站访客预期数量与同一时段正常情况相比,是否存在明显差异?传统情况下,人们会利用规则、
[物联网]
英飞凌收购微型机器学习领域的领导者Imagimob,进一步增强和扩展其嵌入式AI解决方案
英飞凌收购微型机器学习领域的领导者Imagimob,进一步增强和扩展其嵌入式AI解决方案 【2023年5月17日,德国慕尼黑讯】 英飞凌科技股份公司宣布已收购位于斯德哥尔摩的初创企业Imagimob有限公司,这是一家领先的平台提供商,致力于为边缘设备上的机器学习(ML)解决方案开发提供助力。 通过此次收购,英飞凌进一步加强了其提供世界一流机器学习解决方案的地位,并显著扩充了其AI产品阵容。Imagimob提供一个端到端的机器学习工具链,该工具链高度灵活、易于使用,并且将重点放在了交付生产级ML模型上。英飞凌将收购该公司100%的股份,双方均同意不披露此次交易的具体金额。 英飞凌科技安全互联系统事业部总裁Thomas Ros
[半导体设计/制造]
要大战智能云计算市场 亚马逊发布机器学习AI推理芯片
11月29日亚马逊集团旗下亚马逊云服务(AWS)在拉斯维加斯召开的 re:Invent 大会上发布了一款代号为: Inferentia的机器学习专用AI推理芯片,这款芯片预计将于明年上市。 发布会现场   亚马逊云服务的CEO Andy Jassy在发布会表示Inferentia将是一种高吞吐量、低延迟、持续性能极具成本效益的处理器。Inferentia支持流行的框架,如INT8、FP16和混合精度。更重要的是,它支持多种机器学习框架,包括TensorFlow、Caffe2和ONNX。   在本周一,亚马逊云服务就突然发布了首款自研基于Arm架构的云服务器CPU—Graviton,这款云服务器CPU明显直指两家CPU巨头—英
[家用电子]
芯原联手恩智浦,深化机器学习发展
芯原在2019年消费电子展期间宣布,将其与恩智浦半导体公司(NXP Semiconductors N.V.,NASDAQ:NXPI)之间的合作扩大到机器学习领域。恩智浦即将推出的i.MX产品将搭载芯原以VIP神经网络处理器为核心的Vivante智能像素处理IP解决方案。 芯原Vivante VIP神经网络处理器具有从极低功耗和次TOPS算力到超过100 TOPS高算力的完全可扩展性。Vivante VIP8000/VIPNano神经网络处理器IP已被应用于智能家居、工业、移动设备和汽车ADAS等多个细分市场的下一代智能设备。 Vivante VIP处理器支持OpenCL 1.2 FP和OpenVX 1.2 API,以及配备
[物联网]
芯原联手恩智浦,深化<font color='red'>机器学习</font>发展
亚马逊云科技人工智能与机器学习技术助力科学家绘制完整的脑部地图
虽然神经科学家已研究了数十年,但阿尔茨海默症和帕金森症等脑部疾病的治疗方法仍旧进展缓慢,其原因在于脑部是人体中最复杂、最难了解的器官。关于脑部研究的数据集虽然数量众多,但却离散多元,而且通常不能够用统一的科学语言来描述。 “尽管投入了大量资金,但我们尚未找到解决主要脑部疾病的方法”艾伦研究所脑科学高级研究员Ed Lein表示,“我们拥有大量信息,但这些信息没有经过整合或很难综合处理。” 在美国国立卫生研究院(NIH)的资助和亚马逊云科技技术的支持下,艾伦研究所正在领导脑知识平台(Brain Knowledge Platform),以期解决这一问题。 艾伦脑科学研究所助理研究员Rebecca Hodge博士(Erik Din
[医疗电子]
科学家开发新算法 可以从一次核磁共振扫描中诊断阿尔茨海默病
据New Atlas报道,利用机器学习,研究人员已经开发了一种算法,可以从一次核磁共振扫描中准确诊断出阿尔茨海默病。该系统比医生现有的任何诊断工具都更准确,还能区分早期疾病和晚期阶段。 目前,医生几乎没有可用于轻松诊断阿尔茨海默病的工具。除了认知测试,脊髓液可以测试与阿尔茨海默病有关的某些有毒蛋白质的水平,一些训练有素的专家可以从大脑扫描中发现神经变性。但现在迫切需要一种简单、更一致的方法来诊断这种毁灭性的疾病。而在这里,研究人员已经转向了机器学习技术。 利用核磁共振成像数据,新研究将大脑分为100多个不同的区域。然后在几百名患者的数据集上训练了一种算法,其中一些是阿尔茨海默病患者,一些是其他神经系统疾病患者,还有一些是
[医疗电子]
科学家开发新算法 可以从一次核磁共振扫描中诊断阿尔茨海默病
莱迪思半导体为网络边缘智能应用提供机器学习方案
iCE40 UltraPlus™参考设计支持LoRa通信、ECC安全算法、信号聚合、机器学习和图形加速 iCE40 UltraPlus加速了智能手机、可穿戴设备、无人机、360度摄像头、人机界面(HMI)、工业自动化和物联网安全领域的创新 全新的参考设计能够为客户提供更多资源,助力开发具备差异化特性的创新产品,同时满足快速上市的要求 该参考设计充分发挥了iCE40 UltraPlus高效并行处理架构的能力,适用于传感器聚合以及重复的数据计算 莱迪思半导体公司(NASDAQ: LSCC),客制化智能互连解决方案市场的供应商,今日宣布推出基于iCE40 UltraPlus FPGA器件的全新参考设计,
[嵌入式]
莱迪思半导体为网络边缘智能应用提供<font color='red'>机器学习</font>方案
技术宅用机器学习给小电影换脸:你喜欢哪个明星?
最近一帮国外的绅士们开始研究起了怎么利用机器学习(machine learning algorithm,人工智能的一个分支)技术来将名人、女星的头像替换到小电影里,他们发现只需要一台电脑、几段高质量的视频素材以及一些随便就能入手的软件就能达到惊人的效果。   于是乎,这群绅士们就开始尝试起把自己最喜欢的游戏角色头像替换到小电影里。例如就有一位国外论坛的网友尝试了把《巫师3》特莉丝的头像提取出来,然后“嫁接”小电影的一个演员身上。   进行实验的绅士在相关论坛表示自己的实验进行地还挺顺利,他在评论里表示:“我认为这个用上特莉丝头像的实验品还不错,尽管训练数据(training data)并不理想。”   还有绅士尝试了把叶奈法的
[手机便携]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved