一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种融合人工神经网络与脉冲神经网络的处理器

2022-07-23 11:15:32 来源:中国专利 TAG:


1.本发明涉及人工智能硬件领域,尤其涉及一种融合人工神经网络与脉冲神经网络的处理器。


背景技术:

2.得益于计算机算力的提升,人工神经网络(artificial neural network,ann),尤其是卷积神经网络在各种分类任务中表现优秀。基于梯度下降训练的ann的分类算法因其具有准确率高等优点,成为当前主流的检测手段,但受其算法本身的特性影响,ann在每次更新时都要更新网络全部的神经元状态,这在具有事件驱动特性的问题,如:ecg检测、关键词检测、脑电信号检测等问题解决中导致了大量计算资源的浪费。因为在连续、不间断的信号波形检测中,异常信号是十分稀疏的,大多数是正常信号,而ann在每个时刻都要更新网络全部神经元的状态,即使输入网络的波形是极微小的数值。
3.生物体的大脑时刻都在处理各种信息,但消耗的能量却远少于同规模的ann,为了降低一些任务中的能耗,脉冲神经网络(spiking neural network,snn)成为了近来研究的热点。其受人脑神经元尖峰放电特性的启发,仅在输入的刺激到达一定阈值后才向后级神经元传递脉冲形式的信息,从而被认为具有事件驱动执行的低功耗特点。虽然snn能耗低于ann,但snn在执行相同任务时,其准确率远低于ann。这是因为snn中的数据流是离散的0-1序列,较难通过直接求导的方法计算学习过程中的梯度,从而达到更新权值的目的。snn自己的无监督学习方法仅能提取低维度信息,难以保证准确率。
4.众所周知,snn与ann模型有诸多相似之处,目前一些研究人员考虑使用ann进行预训练,然后将训练后的权值转换给snn,以取得了可与ann相抗衡的准确率。但是,仅使用预训练的模型用于不同场景下的任务处理是不够的。由于存在个体的差异以及环境的动态变化,这种使用云端数据库中的数据集训练的模型缺乏对特定用户、多变环境的特有特征进行学习,以至于网络的泛化能力不足。
5.综上所述,现有的单纯基于人工神经网络或脉冲神经网络执行任务均存在一定的不足,无法适用于复杂多变的处理场景和不同个体的差异性、低能耗需求。


技术实现要素:

6.本发明的目的在于提供了一种融合人工神经网络与脉冲神经网络的处理器,以解决现有的基于神经网络无法适用于复杂多变的处理场景和不同人员的差异性、低能耗需求。
7.为实现上述目的,本发明采用如下技术方案:一种融合人工神经网络与脉冲神经网络的处理器,包括共享存储单元、主控制器、ann学习控制电路、snn推理控制电路以及共享计算单元;所述共享存储单元,用于储存外部模块提供的数据和本处理器中其他模块产生的数据,以供后期调用;外部模块提供的数据包括神经网络权值数据、输入信号采样数据和外
部标注好的标签数据;本处理器中其他模块产生的数据包括ann学习控制电路学习后得到的权值、ann和snn运算推理过程中得到的中间数据(包含ann激活值、snn膜电位、snn输出脉冲)、snn的神经元阈值;所述主控制器,根据实际场景需求控制整个处理器的运行状态:当在高准确率场景中监测时,通过控制ann学习控制电路的运算推理实现;当在低能耗场景中监测时,通过snn推理控制电路的运算推理实现;控制ann学习控制电路中的ann模型完成在线学习;所述ann学习控制电路,通过与共享计算单元、共享存储单元的交互完成ann推理与学习;从共享存储单元提取外部输入的神经网络权值数据和输入信号采样数据,同时接收外部标注好的标签数据,然后将这些数据提供给共享计算单元计算出用于更新ann的权值,根据该权值进行ann模型的更新以完成ann学习,得到分类结果以实现高准确率场景中的输入信号监测;学习后的权值作ann和snn的共用权值反馈至共享存储单元中;所述snn推理控制电路,具有与ann学习控制电路相同的网络结构;通过与共享计算单元、共享存储单元的交互完成snn推理;从共享存储单元提取外部输入的神经网络权值数据和输入信号采样数据给共享计算单元计算出用于更新snn的膜电位与输出脉冲,或从共享存储单元提取ann学习后的权值给共享计算单元计算出用于更新snn的膜电位与输出脉冲,从而得到分类结果,实现低能耗场景中的任务处理。
8.进一步的,所述snn推理控制电路中,从共享存储单元提取ann学习后的权值给共享计算单元计算的过程还包括权值转换,即根据ann学习后的权值微调snn神经元阈值的过程,具体为:将ann学习控制电路中采用ann模型学习得到的权值按照snn中if神经元的脉冲发放阈值,适应性缩放到snn的if神经元。
9.进一步的,所述权值转换采用了snn自动阈值调节的方法进行权值转换,以提升分类的准确性。
10.进一步的,上述处理器还包括编码器,所述编码器用于对外部输入的信号进行转换以得到直接用于snn的数据。
11.进一步的,所述共享计算单元包括softmax单元和乘加单元。为保证计算精度,softmax单元采用softmax计算器,使用浮点数表示;乘加单元使采用多功能乘加累加器,使用定点数表示。
12.本发明提供的一种融合人工神经网络与脉冲神经网络的处理器,是利用人工神经网络(ann)模型和脉冲神经网络(snn)模型在硬件中的网络结构一致时,ann中relu神经元与snn中if神经元具有相似特点这一特性,将ann学习控制电路输出的权值作为snn推理控制电路的输入值来实现两个神经网络的融合,使该处理器具备高准确率场景和低功耗场景两种工作模式。使用时,根据实际场景需求,通过主控制器控制ann学习控制电路或snn推理控制电路进行推理,解决了现有的基于神经网络执行任务无法适用于复杂多变的处理场景的问题,同时提升了低功耗场景下执行任务的准确率。
13.与现有的技术相比,本发明具有以下的有益效果:(1)本发明能够根据实际需求,在主控制器的控制下进行在线工作模式的切换,适应灵活多变的场景需求。
14.(2)本发明的ann学习控制电路推理过程也是在线学习过程,在ann学习控制电路所采用的ann模型中,通过新增外部标注好的标签数据获取边缘端不同人员的差异性特征,
提升了ann模型适应性,从而获得更优的准确率。
15.(3)本发明中ann和snn的数据共用,共用共享存储单元,资源利用率高。
附图说明
16.图1为实施例处理器的整体架构框图;图2为snn推理控制电路采用ann学习后的权值实现推理流程图;图3为ann推理主控制器状态跳转顺序图;图4为snn推理主控制器状态跳转顺序图。
具体实施方式
17.为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明做进一步详细的描述。
18.图1为实施例处理器的整体架构框图。这里以一维ecg信号处理为例,更高维信号处理原理与其完全一致。其输入为外部输入的神经网络权值数据(图中的神经网络权值数据)和ecg采样数据、外部标注好的标签数据,输出为分类结果。如图1所示,该一维信号分类智能处理器包括:共享存储单元、共享计算单元、主控制器、ann学习控制电路以及snn推理控制电路。
19.共享存储单元由存储存储权值、偏置以及snn相关参数的8kb nn memory、存储一维信号采样数据的192bytes data buffer、存储中间数据的320bytes nn data memory以及一个与外部接口进行数据交互的存储接口组成,用于存储外部模块提供的神经网络权值数据、一维信号采样数据和外部标注好的标签数据;本处理器其他模块提供的数据,具体有经ann学习控制电路学习后得到的权值、ann和snn运算推理过程中得到的中间数据(包含ann激活值、snn膜电位、snn输出脉冲)、snn的神经元阈值。本实施例中,为使处理器在低工作电压下具备低功耗优势,共享存储单元中各部分的存储实现均采用锁存器完成。
20.共享计算单元由softmax单元和乘加单元组成。为保证计算精度, softmax单元采用softmax计算器,使用浮点数表示;乘加单元使采用多功能乘加累加器,使用定点数表示,用于完成ann推理、snn推理和ann学习三个工作模式下的计算任务。
21.主控制器根据实际场景需求控制整个处理器的运行状态,以用于控制ann学习控制电路和snn推理控制电路的运算推理状态;ann学习控制电路采用ann模型实现学习和高准确率场景下的运算推理;snn推理控制电路采用snn模型实现低功耗场景下的运算推理。使用时,通过外部给出的控制信号控制器件选择ann工作模式或snn工作模式;当在高准确率场景中监测时,通过控制ann学习控制电路的运算推理实现一维信号监测;当在低能耗场景中监测时,通过控制snn推理电路的运算推理实现一维信号监测。
22.图3为ann推理主控制器状态跳转顺序图。如图3所示,对于n个输入神经元的网络,当主控器接收到外部给的相应功能指示信号(如001),随后主控器向ann学习控制电路发送ann推理指令,指令包含ann学习控制电路使能信号、输入神经元的起始地址、输出神经元的起始地址、输入神经元个数、输出神经元个数、所用到的权值在共享存储单元中的地址,之后ann学习控制电路通过与共享计算单元与共享存储单元完成第一层网络的更新,第一层更新完成后,ann学习控制电路会返回给主控器本层更新完成的信号;之后每层的过程与更
新第一层相似,主控制器会重复更新第一层时的操作,不同的是传递给ann学习控制电路的输入神经元的起始地址、输出神经元的起始地址、输入神经元个数、输出神经元个数、所用到的权值在共享存储单元中的地址会根据下一层网络的结构而不同。待最后一层更新完成后,主控制器读取最后一层神经元的地址信息,然后通过比较最后一层神经元之间激活值的大小,将激活值最大的神经元序号作为推理结果输出,随后主控制器切换回空闲状态,等待下一次ann推理,本次推理完成。
23.图4为snn推理主控制器状态跳转顺序图。如图4所示,当主控器接收到外部给的相应功能指示信号(如100)时,主控器向snn推理控制电路发送snn推理指令,指令包含snn学习控制电路使能信号、输入神经元脉冲的起始地址、输出神经元的起始地址、输出神经元脉冲的起始地址、输出神经元的阈值起始地址、输入神经元个数、输出神经元个数、所用到的权值在共享存储单元中的地址,之后snn推理控制电路通过与共享计算单元与共享存储单元完成第一层网络的更新,第一层更新完成后,snn推理控制电路会返回给主控器本层更新完成的信号;之后每层的过程与更新第一层相似,主控制器会重复更新第一层时的操作,不同的是传递给snn推理控制电路的输入神经元脉冲的起始地址、输出神经元的起始地址、输出神经元脉冲的起始地址、输出神经元的阈值起始地址、输入神经元个数、输出神经元个数、所用到的权值在共享存储单元中的地址会根据下一层网络的结构而不同。待最后一层更新完成后,主控制器读取最后一层神经元的地址信息,然后通过比较最后一层神经元之间脉冲数的大小,将脉冲数最大的神经元序号作为推理结果输出,随后主控制器切换回空闲状态,等待下一次snn推理,本次推理完成。
24.图2为snn推理控制电路采用ann学习后的权值实现推理流程图。如图2所示,snn推理控制电路实现推理可以分两条线路实现,其中一条的工作流程为:外部输入的数据(包含初始神经网络权值和一维信号采样数据)经编码器编码转换为可直接用于snn的数据后,snn推理控制电路所采用的snn模型进行snn推理得到分类结果。另一条则是进行了ann学习后的线路,该线路的工作流程为:ann学习控制电路所采用的ann模型获取到外部标注好的标签数据和经编码器编码转换后的数据后,进行学习得到用于更新ann模型的权值参数,然后将该权值参数通过权值转换的方式使其作为snn推理控制电路的输入,snn推理控制电路所采用的snn模型进行snn推理得到分类结果。从图2可以看出,本实施例的通过ann模型在线学习过程中新增外部标注好的标签数据获取边缘端不同病人的差异性特征,提升了snn在功耗场景中的一维信号检测适应性,从而获得更优的准确率。
25.综上可见,本实施例提供的一维信号分类智能处理器的整体架构框图能够根据实际需求,在主控制器的控制下进行在线工作模式的切换,适应灵活多变的场景需求。根据tsmc 28nm流片测试结果,ann推理单个心拍的能耗为0.5uj,速度为0.5ms,snn推理单个心拍的能耗为0.3uj,速度为5ms。且通过ann在线学习,避免了使用云端数据库中的数据集训练的模型存在的网络的泛化能力不足的问题,实现了不同人员的差异性服务。
26.以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献