您当前的位置:业界 >  >> 
卷积神经网络的硬件转换:什么是机器学习?——第三部分

时间:2023-06-13 18:58:16    来源:电子工程网

作者:Ole Dreessen,ADI公司现场应用工程师

摘要


(资料图片)

本系列文章由三部分组成,主要探讨卷积神经网络(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加速器所需的

image001.jpg


图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数据集

推理速度每次推理功耗(µWs)

关键词:

X 关闭

X 关闭

备案号: 豫ICP备2021032478号-3

Copyright ? 2015-2018 电线网 版权所有  

邮箱897 18 09@qq.com