首页> 中国专利> 一种液体状态机模型中通信的软硬件联合优化方法及系统

一种液体状态机模型中通信的软硬件联合优化方法及系统

摘要

本发明公开了一种液体状态机模型中通信的软硬件联合优化方法及系统,本发明包括在脉冲神经网络(SNN)模拟器中对液体状态机模型LSM进行训练和推理,在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,在完成训练和推理后计算出分类准确率;若分类准确率满足要求,则将液体状态机模型LSM映射到片上网络模拟器上仿真计算最大传输延迟,若最大传输延迟满足要求则增加脉冲丢包率继续迭代,直至找到最佳的脉冲丢包率。本发明在保证分类准确性的前提下,通过确定的脉冲丢包率不断丢包,从而能够降低类脑处理器中核间的数据包传输延迟,使得最终LSM在类脑处理器中运行时满足类脑计算实时性的要求。

著录项

说明书

技术领域

本发明涉及优化液体状态机网络在基于片上网络的类脑计算平台上执行时的通信效率的方法,具体涉及一种液体状态机模型中通信的软硬件联合优化方法及系统。

背景技术

脉冲神经网络(SNN)也被称为第三代神经网络,是计算机科学与生物神经科学交叉而成的新兴学科。相比于传统的人工神经网络(ANN),SNN实现了更高级的生物神经模拟水平,更容易模拟人脑的低功耗、高性能的处理方式。脉冲神经网络有以下特点:它里面的神经元是模拟的生物神经元;当神经元的膜电压累积到一定程度,会发射Spike(脉冲);它里面的神经元存在不应期;SNN具有鲁棒性,丢失少量的spike对分类精度几乎不产生影响。

液体状态机模型(liquid state machine,LSM)是一种特殊的脉冲神经网络模型,它主要分成三个部分:输入层、液体层和输出层,其结构如图1所示。输入层负责离散的脉冲输入,其神经元和液体层中的神经元相连。液体层由脉冲神经元递归连接组成,突触连接的方向和权值大小都是随机的。输出层由输出神经元组成,主要是负责输出液体层的结果。输出层的神经元和液体层中的而每个神经元都相连。液体层的计算特点使得LSM能够有效地处理时间序列。本专利所研究的SNN针对的是LSM。

类脑处理器指的是利用大规模集成电路系统来模拟神经系统中存在的神经生物学结构,具有低功耗、高并行、实时性等优势。它们一般使用片上网络来连接大量的神经元,然后SNN映射到类脑处理器中运行。类脑处理器主要由计算、存储和互连三部分组成,其中计算和存储主要集中在神经形态核内,片上网络作为互连结构连接各个神经形态核,整个系统非常庞大复杂。一方面,SNN具有高扇出的特点,这会增加类脑处理器中核间的通信延迟,另一方面,类脑处理器中数据包在核间需要通过路由器进行路由通信,而Router的传输开销比较大,这进一步加剧了通信延迟。而SNN为时间敏感型网络,极大的通信延迟可能会使得SNN的功能出错,正确性无法保证。因此,我们需要对SNN在类脑处理器中核间的通信进行优化。本发明就提出了一种优化方法。

LSM的模型与其他的脉冲神经网络不同,LSM中的水库层神经元不仅可以与其它神经元连接,而且连接自己。所以LSM中的连接更加密集。我们做了一个统计,首先初始化了一个LSM,并统计了其中水库层中神经元的连接数量,结果如图2所示。这里的LSM有1000个神经元,800个兴奋神经元,200个抑制神经元。横轴为连接的数量,纵轴为对应的神经元的数量。我们可以发现,每个神经元都连接了至少三分之一的其它神经元。也就是说,每个神经元放电时至少同时产生至少300个脉冲。在LSM中,一个前神经元连接了大量的后神经元(至少1/3)。当前神经元膜电压超过阈值并且放电时,会产生和连接数量相同的数据包。因此,LSM网络在神经形态处理器中运行时,会同时产生大量的数据包。这将导致核间的数据包拥塞并增加数据包传输延迟。当LSM网络的规模更大时,这种情况会更加严峻。

大脑的工作完全异步的,也就是说,神经元之间的脉冲是在实时的进行通信。因此当我们要用数字电路设计神经形态处理器时,我们必须确定每个时间步的长度,这个时间步的长度也被称为类脑计算的实时性的要求。在TrueNorth中,它的时间步为1ms。它的每个时间步中的操作分为两个阶段:在第一个阶段,数据包将通过Router进行路由。当其到达对应的核后,它会更改目标神经元的膜电压;在第二个阶段,所有的core(核心)都会收到一个周期为1ms的同步(sync)信号。一旦收到同步信号,所有的神经元都要检查其膜电压是否超过了阈值,如果超过了阈值,神经元将发射一个数据包到网络中。TrueNorth中同步周期为1ms,采用这种固定时间的同步方法有一个问题,那就是如果同步时间设置的太长,会使得硬件的仿真效率很低,大部分硬件处于空闲状态;如果同步的时间设置的太短,那么这将会导致硬件的功能出错。因此我们需要进行探索,针对不同的应用找到最合适的同步周期,同时提升硬件的效率。

发明内容

本发明要解决的技术问题:针对现有技术的上述问题,提供一种液体状态机模型中通信的软硬件联合优化方法及系统,本发明在保证分类准确性的前提下,通过确定的脉冲丢包率不断丢包,减少SNN模型中神经元之间的脉冲的数量,同时保证SNN分类时的准确率,从而缓解SNN在基于片上网络的类脑处理器平台中运行时的通信压力,能够降低类脑处理器中核间的数据包传输延迟,使得最终LSM在类脑处理器中运行时满足类脑计算的实时性要求。

为了解决上述技术问题,本发明采用的技术方案为:

一种液体状态机模型中通信的软硬件联合优化方法,包括:

1)在SNN模拟器中初始化液体状态机模型LSM,设置初始的脉冲丢包率;

2)在SNN模拟器中对液体状态机模型LSM的进行训练和推理,且在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,最终在完成训练和推理后计算出分类准确率;

3)判断分类准确率是否满足要求,若分类准确率不满足要求,则跳转执行步骤6);否则,跳转执行步骤4);

4)将液体状态机模型LSM映射到片上网络,通过片上网络模拟器中的核间通信来模拟液体状态机模型LSM中液体层神经元之间的通信,并获得液体层神经元之间通信的最大传输延迟;

5)判断最大传输延迟是否满足要求,若最大传输延迟满足要求,则增加丢包率,然后跳转执行步骤2);否则,跳转执行步骤6);

6)将最后完成训练和推理后的液体状态机模型LSM输出。

可选地,所述SNN模拟器为Brain2、CARLsim、Nest中的一种。

可选地,步骤2)中在SNN模拟器中对液体状态机模型LSM的进行训练和推理的步骤包括:生成应用的输入脉冲,通过输入脉冲作为训练数据集训练液体状态机模型LSM的读出层readout,且在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,直至完成对液体状态机模型LSM的训练;最后采用多组测试数据集来对训练好的液体状态机模型LSM进行分类,获得分类准确率。

可选地,步骤4)中将液体状态机模型LSM映射到片上网络是指将液体状态机模型LSM的神经元随机映射到神经形态核内。

可选地,步骤4)中将液体状态机模型LSM映射到片上网络模拟器后,任意两个液体状态机模型LSM的任意两个神经元之间的核间通信流量trace表示为:

[Source Neuron ID,Destination Neuron ID,time-step]

其中,Source Neuron ID表示源神经元对应神经形态核的ID,Destnation NeuronID表示目的神经元对应神经形态核的ID,time-step为脉冲产生时间。

可选地,步骤4)中通过片上网络模拟器中的核间通信来模拟液体状态机模型LSM中液体层神经元之间的通信时,片上网络模拟器的输入包括片上网络配置文件以及任意两个神经元之间的核间通信流量trace,所述片上网络配置文件包括拓扑结构、路由算法、路由器微体系结构的配置参数。

可选地,所述片上网络配置文件中配置的拓扑结构为2D-Mesh网络结构,路由算法为xy路由算法。

可选地,步骤4)中液体层神经元之间通信的最大传输延迟的计算函数表达式为:

L

L

上式中,L

可选地,步骤5)中判断最大传输延迟是否满足要求时,所需满足要求的函数表达式为:

L

上式中,L

此外,本发明还提供一种液体状态机模型中通信的软硬件联合优化系统,包括微处理器和存储器,所述微处理器被编程或配置以执行所述液体状态机模型中通信的软硬件联合优化方法的步骤,或者所述存储器中存储有被编程或配置以执行所述液体状态机模型中通信的软硬件联合优化方法的计算机程序。

和现有技术相比,本发明具有下述优点:本发明包括在SNN模拟器中对液体状态机模型LSM的进行训练和推理,在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,在完成训练和推理后计算出分类准确率;若分类准确率满足要求,则将液体状态机模型LSM映射到片上网络仿真计算最大传输延迟,若最大传输延迟满足要求则增加脉冲丢包率继续迭代,直至找到最佳的脉冲丢包率。本发明在保证分类准确性的前提下,通过确定的脉冲丢包率不断丢包,减少SNN模型中神经元之间的脉冲的数量,同时保证SNN分类时的准确率,从而缓解SNN在基于片上网络的类脑处理器平台中运行时的通信压力,能够降低类脑处理器中核间的数据包传输延迟,使得最终LSM在类脑处理器中运行时满足实时性的要求。

附图说明

图1为现有液体状态机模型LSM的基本结构示意图。

图2为研究统计出神经元数量、连接数量之间的关系图。

图3为本发明实施例中软硬件联合优化方法的基本流程图。

图4为本发明实施例中的分类准确率曲线示意图。

图5为本发明实施例中的将液体状态机模型LSM映射到片上网络的示意图。

图6为本发明实施例中的硬件评估过程示意图。

具体实施方式

如图3所示,本实施例液体状态机模型中通信的软硬件联合优化方法包括:

1)在SNN模拟器中初始化液体状态机模型LSM,设置初始的脉冲丢包率;

2)在SNN模拟器中对液体状态机模型LSM的进行训练和推理,且在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,最终在完成训练和推理后计算出分类准确率;

3)判断分类准确率是否满足要求,若分类准确率不满足要求,则跳转执行步骤6);否则,跳转执行步骤4);

4)将液体状态机模型LSM映射到片上网络,通过片上网络模拟器中的核间通信来模拟液体状态机模型LSM中液体层神经元之间的通信,并获得液体层神经元之间通信的最大传输延迟;

5)判断最大传输延迟是否满足要求,若最大传输延迟满足要求,则增加丢包率,然后跳转执行步骤2);否则,跳转执行步骤6);

6)将最后完成训练和推理后的液体状态机模型LSM输出。

参见步骤1)~6),本实施例液体状态机模型中通信的软硬件联合优化方法在保证分类准确性的前提下,我们不断增加脉冲丢包率直至达到极限,从而实现最大化地降低类脑处理器中核间的数据包传输延迟,使得最终液体状态机模型LSM在类脑处理器中运行时满足实时性的要求。本实施例液体状态机模型中通信的软硬件联合优化方法主要包括三部分:软件层面仿真:主要负责LSM的训练与推理,并探索丢包对LSM分类准确性的影响;流量的提取与映射:我们在这一步将神经元映射到神经形态核中,产生可供类脑处理器读取的核间通信流量;硬件层面的仿真:使用NoC模拟器来模拟类脑处理器中核与核之间的通信。

本实施例中,SNN模拟器为Brain2,此外也可以采用CARLsim、Nest。

本实施例,步骤2)中在SNN模拟器中对液体状态机模型LSM的进行训练和推理的步骤包括:生成应用的输入脉冲,通过输入脉冲作为训练数据集训练液体状态机模型LSM的读出层readout,且在训练和推理过程中按照脉冲丢包率对液体状态机模型LSM中传输的脉冲进行丢包,直至完成对液体状态机模型LSM的训练;最后采用多组测试数据集来对训练好的液体状态机模型LSM进行分类,获得分类准确率。参见图4,其中A点表示最优分类准确率,B点为可接受的分类准确率,即:步骤3)中判断分类准确率是否满足要求的基准。

本实施例中使用SNN模拟器来运行LSM。当神经元之间互相通信时,我们以某种概率随机丢弃spike(脉冲),探索不同的丢包率对分类准确性的影响。有许多现有的SNN模拟器可以使用,比如:Brian2,CARLsim,Nest等。它们可以模拟神经元的行为以及脉冲神经网络的功能。同时,在它们运行期间,我们可以提取log文件供后续分析使用。软件层面的工作流程分为三步:首先生成应用的输入spike。然后用训练集训练readout层。最后采用多组测试集进行分类,最终得到分类准确率。在得到分类准确率以后,如果精度的损失在可接受的范围内,那么就进入下一步:流量的提取与映射。

流量的提取与映射这一步的目的是将液体状态机模型LSM运行过程中神经元间的通信提取出来并转换为类脑处理器中核与核之间的通信,我们使用Brian2模拟器来模拟LSM的运行,Brian2可以记录运行过程中的核间通信流量trace。

本实施例中,步骤4)中将液体状态机模型LSM映射到片上网络是指将液体状态机模型LSM的神经元随机映射到神经形态核内,例如图5中子图(a)和子图(b)所示分别为将A、B、C三个神经元间的通信随机映射到神经形态核内时两种可能的映射方式。

本实施例中,步骤4)中将液体状态机模型LSM映射到片上网络模拟器后,任意两个液体状态机模型LSM的任意两个神经元之间的核间通信流量trace表示为:

[Source Neuron ID,Destination Neuron ID,time-step]

其中,Source Neuron ID表示源神经元对应神经形态核的ID,Destnatiοn NeuronID表示目的神经元对应神经形态核的ID,time-step为脉冲产生时间。

通过背景分析,我们知道,类脑处理器都采用NoC作为核间互连结构。因此,在硬件层面,我们通过NoC模拟器来模拟神经形态核之间的通信,具体的硬件评估过程如图6所示,其中最中间的方块为片上网络模拟器(NοC模拟器)。如图6所示,本实施例步骤4)中通过片上网络模拟器中的核间通信来模拟液体状态机模型LSM中液体层神经元之间的通信时,片上网络模拟器的输入包括片上网络配置文件(NοC配置文件)以及任意两个神经元之间的核间通信流量trace(图中表示为跟踪文件),所述片上网络配置文件包括拓扑结构、路由算法、路由器微体系结构的配置参数;片上网络模拟器的输出为传输延迟以及功耗。

作为一种可选的实施方式,本实施例中片上网络配置文件中配置的拓扑结构为2D-Mesh网络结构,路由算法为xy路由算法,这也是目前使用的比较多的类脑处理器中的核间互连结构。

经过仿真,我们会得到传输延迟以及功耗。本实施例步骤4)中液体层神经元之间通信的最大传输延迟的计算函数表达式为:

L

L

上式中,L

假定在类脑处理器中,同步周期为L个时钟周期。当LSM在类脑处理器中运行时,如果它产生的数据包满足如下约束,那么我们认为该LSM满足类脑处理器的实时性要求:

Max(Latency

其中,Max(Latency

L

上式中,L

此外,本实施例还提供一种液体状态机模型中通信的软硬件联合优化系统,包括微处理器和存储器,该微处理器被编程或配置以执行前述液体状态机模型中通信的软硬件联合优化方法的步骤,或者该存储器中存储有被编程或配置以执行前述液体状态机模型中通信的软硬件联合优化方法的计算机程序。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号