一种用于目标识别的卷积神经网络及其识别方法技术

技术编号:30785231 阅读:23 留言:0更新日期:2021-11-16 07:47
本发明专利技术公开了一种用于目标识别的卷积神经网络及其识别方法,涉及目标识别技术领域,本发明专利技术提出一种新型的硬件实现方式,针对卷积神经网络数据流的新型的微结构和处理过程,在卷积神经网络数据流的输入层/输出层采用磁性随机存储器记录前输入数据和输出标签,然后,通过比较输入层上的新进数据和现存数据,仅更新和重算以事件驱动发生改变的子集。在复杂度/能量/电池寿命方面有高强度要求或限制的应用场景中,本发明专利技术所述的基于磁性随机存储器的事件驱动卷积神经网络及其识别方法,具有各个方向上的高端性能,比如分辨率,工作频率,数据吞吐量以及准确性,以及工作模式和待机模式下的低功耗。下的低功耗。下的低功耗。

【技术实现步骤摘要】
一种用于目标识别的卷积神经网络及其识别方法


[0001]本专利技术涉及目标识别的图像或视频领域,尤其涉及一种用于目标识别基于磁性随机存储器的事件驱动卷积神经网络。

技术介绍

[0002]至今为止,目标识别存在多种解决方案和硬件实现方式,如GPU/CPU/DSP/基于MCU的芯片,以及基于神经网络的专用硬件,如卷积神经网络CNN或脉冲神经网络SNN。基于推理的GPU或CPU是灵活可编程的,提供了目标识别较高的吞吐量/分辨率和准确度,然而,这些方案都受限于功率效率,从几瓦到几百瓦,不能达到几毫瓦到几十毫瓦的平均功率目标。具体来说,为了提高功率效率,必须使用专用的结构:
[0003]内嵌DSP的低功耗MCU可以提供很低的低功耗能力(如零点几毫瓦),为了保持这样的功率效率,只能受限于处理低分辨率的图像识别任务。虽然内嵌DSP的低功耗MCU可以提供较低的待机电流和可能的高频率,但要以吞吐量和复杂度受限为代价。
[0004]卷积神经网络CNN是高度并行的,分别处理输入单元,是数字的且以同步的方式处理。现有的CNN数据流采用SRAM储存输入,输出和中间结果。非易失性存储器NVM,包括磁性随机存储器MRAM,能用来存储深度神经网络DNN模型的突触权值和馈送(以只读方式),给处理单元进行乘加操作。然而,SRAM是易失的,而且待机状态下有泄漏功耗。在一些高端的应用中,这样的结构,如果不是花费大量的功耗,是无法从前次运行中保持数据的。唯一的解决办法是关闭芯片进行重新计算,甚至在某些数据并没有变化的场合,而且重新计算又再次带来巨大的功耗。
[0005]脉冲神经网络SNN是将信息通过脉冲序列编码,使用异步逻辑(计算时不使用时钟),也就是,脉冲神经网络从基本上来说,是事件驱动的,仅当变化发生时处理输入。和卷积神经网络一样,脉冲神经网络也是分别处理输入单元(以网格方式)。这样的结构在活动和待机状态下都是高度节能的,并能提供高吞吐量,但是只能处理低分辨率和图像识别的任务,准确度和可靠性,最高频率也是受限的。和完成类似任务的数字芯片相比,脉冲神经网络也在芯片面积上占用较多(由于使用模拟和异步技术),而且脉冲神经网络的可编程性也比较差。
[0006]内存内计算并不真的算本专利技术的现有技术,现有技术中已采用内存内计算技术来提高功耗效率,面积利用率和吞吐量。在图像处理任务中,它可以替换模拟/数字神经元、CPU或DSP来进行乘加操作。
[0007]在上述现有技术中,现有技术的缺点是受限的功率效率,较低的功率效率限制了各类应用场景的复杂度,如低分辨率、低工作频率、低数据吞吐量、低准确性以及低可靠性。同时,现有技术的高功耗(包括活动功耗和待机功耗)也限制了各类以电池为电源的应用场景。
[0008]在复杂度/能量/电池寿命方面有高强度要求或限制的应用场景中,这些问题限制了现有技术中的结构的运用。因此,本领域的技术人员致力于开发一种基于磁性随机存储
器的事件驱动卷积神经网络,使其具有各个方向上的高端性能,比如分辨率,工作频率,数据吞吐量以及准确性,以及工作模式和待机模式下的低功耗。

技术实现思路

[0009]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题主要是如何处理功率随着吞吐量/频率/分辨率和准确度的提高而增加的问题,以及平均处理延迟随着识别的复杂度/分辨率和准确度的提高而增加的问题。本专利技术将会聚焦在现有的卷积神经网络的拓扑结构或脉冲神经网络,内存内计算技术,MCU/DSP等的能量效率。
[0010]为实现上述目的,本专利技术提供了一种用于目标识别卷积神经网络的识别方法,提供所述卷积神经网络的数据流,所述数据流包括输入层、缓存区、比较器、至少一个卷积层、至少一个池化层和输出层;
[0011]比较在所述输入层的前一次采集的图像和在所述缓存区的当前采集的图像;
[0012]如果比较结果为相同,则旁路卷积和池化操作,直接从输出层获取前一次的计算结果;
[0013]如果比较结果为不相同,则对当前采集图像进行卷积和池化操作,将计算结果存入输出层,同时,将当前采集的图像存入所述输入层,替换掉前一次采集的图像。
[0014]进一步地,所述输入层和输出层的数据存储在磁性随机存储器上。
[0015]进一步地,所述卷积层和池化层的数据存储在SRAM上,所述SRAM被配置为根据比较结果的不同而进入工作模式或待命模式,所述SRAM在所述待命模式中,所述SRAM的电源被关闭。
[0016]进一步地,所述图像采用多个像素表示,所述像素的颜色采用一个或多个字节表示,在图像比较步骤中,只比较所述字节的最高一位或几位,省略剩余位的比较。
[0017]进一步地,所述磁性随机存储器为自旋轨道矩类型或自旋转移矩类型。
[0018]本专利技术还提供了一种用于目标识别卷积神经网络,所述卷积神经网络的数据流包括输入层、缓存区、比较器、至少一个卷积层、至少一个池化层和输出层,其中,所述输入层被配置为存储前一次采集的图像,所述缓存区被配置为存储当前采集的图像,所述比较器被配置为比较前一次采集的图像和当前采集的图像,如果比较结果为相同,则跳过所述卷积层和池化层;如果比较的结果为不同,则将当前采集图像进行卷积和池化处理,将处理结果存入输出层,同时在输入层中将前一次采集的图像更新为当前采集的图像。
[0019]进一步地,所述输入层和输出层的数据存储在磁性随机存储器上。
[0020]进一步地,所述卷积层和池化层的数据存储在SRAM上,所述SRAM被配置为根据比较结果的不同而进入工作模式或待命模式,所述SRAM在所述待命模式中,所述SRAM的电源被关闭。
[0021]进一步地,所述图像采用多个像素表示,所述像素的颜色采用一个或多个字节表示,所述比较器被配置为只比较所述字节的最高一位或几位,省略剩余位的比较。
[0022]进一步地,所述磁性随机存储器为自旋轨道矩类型或自旋转移矩类型。本专利技术聚焦在数据流部分。卷积神经网络的数据流由输入层/输出层和其他多个隐含层(如卷积层,池化层等等)组成,在解决目标识别的问题中,通常希望在图像中找到所有的可能的目标。因此,识别采用图像上的网格或滑动窗口(作为输入,中间结果)。识别过程串行或并行运行
在不同的子集上(子集的数量取决于网格,窗口大小,以及图像分辨率)。
[0023]基于以下几个原因,仅仅简单地把现有卷积神经网络技术中的SRAM全部替换为MRAM,从功耗效率和吞吐量等角度来说,并不是最有效率的解决方案:
[0024]如果不加入事件驱动机制,那么就无法在每次迭代运算中排除无数据变化的情形,数据运算和处理的量没有得到有效地控制,由于MRAM的读写功耗比SRAM高很多(10倍以上),这样整体功耗会更大。另外,由于MRAM的读写延迟比SRAM大,数据吞吐量也会因此受到影响。
[0025]如果将事件驱动机制应用到所有的MRAM中,这虽然可以节省第一次向输入层进行数据写入的写入延迟(因为MRAM是非易失性的,和SRAM相比,掉电不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于目标识别卷积神经网络的识别方法,其特征在于,提供所述卷积神经网络的数据流,所述数据流包括输入层、缓存区、比较器、至少一个卷积层、至少一个池化层和输出层;比较在所述输入层的前一次采集的图像和在所述缓存区的当前采集的图像;如果比较结果为相同,则旁路卷积和池化操作,直接从输出层获取前一次的计算结果;如果比较结果为不相同,则对当前采集图像进行卷积和池化操作,将计算结果存入输出层,同时,将当前采集的图像存入所述输入层,替换掉前一次采集的图像。2.如权利要求1所述的用于目标识别卷积神经网络的识别方法,其特征在于,所述输入层和输出层的数据存储在磁性随机存储器上。3.如权利要求1所述的用于目标识别卷积神经网络的识别方法,其特征在于,所述卷积层和池化层的数据存储在SRAM上,所述SRAM被配置为根据比较结果的不同而进入工作模式或待命模式,所述SRAM在所述待命模式中,所述SRAM的电源被关闭。4.如权利要求1所述的用于目标识别卷积神经网络的识别方法,其特征在于,所述图像采用多个像素表示,所述像素的颜色采用一个或多个字节表示,在图像比较步骤中,只比较所述字节的最高一位或几位,省略剩余位的比较。5.如权利要求2所述的用于目标识别卷积神经网络的识别方法,其特征在于,所述磁性随机存储器为自旋轨道矩类型或自旋转移...

【专利技术属性】
技术研发人员:维吉尔
申请(专利权)人:上海亘存科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1