一种用于多核神经形态硬件上制造技术

技术编号:39717473 阅读:8 留言:0更新日期:2023-12-17 23:24
本发明专利技术公开了一种用于多核神经形态硬件上

【技术实现步骤摘要】
一种用于多核神经形态硬件上SNN的通用仿真器设计方法


[0001]本专利技术涉及仿真器设计领域,特别涉及一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法


技术介绍

[0002]神经形态计算是实现通用人工智能的一种颇具前景的方式

神经形态计算依赖于仿生神经网络来提供对生物神经系统中结构和功能的模拟,其中脉冲神经网络
(SNN)
是使用最广泛的一种仿生神经网络
。SNN
的高能效和生物可解释性使得其成为神经形态计算的重要组成部分,当前已经有多款使用
Network

on

Chip(NoC)
路由网络和海量的同质化神经核心的多核神经形态硬件被开发出来,如
TrueNorth、Loihi、Tianjic

Darwin


[0003]当前的多核神经形态硬件主要基于
ASIC
芯片设计方案,这种方案设计周期长

设计成本高

因此,使用通用的
CPU

GPU
处理器实现多核神经形态硬件的快速仿真很有必要

但是,当前的神经形态硬件仿真器都是专用于某个神经形态硬件,不能提供通用的仿真功能

此外,当前的神经形态硬件仿真器缺乏关键的硬件统计数据,例如,数据包传输延迟

数据包丢包率等,这些对于<br/>SNN
在多核神经形态硬件上的性能有着重要影响

当前的神经形态硬件没有考虑
NoC
相关的配置,这也限制了仿真的可拓展性

因此,实现一种通用的

支持
SNN
在多核神经形态硬件上运算仿真的仿真器变得十分必要

[0004]当前使用传统人工神经网络结构的
SNN
被广泛应用于目标检测

机器人控制等机器学习任务

在多核神经形态硬件上计算这些
SNN
模型时,使用了基于周期性
Tick
信号的同步机制,
Tick
信号到达时才开始神经核心内的计算

为了减少脉冲丢失,
Tick
信号的周期相对于硬件的系统时钟通常很大,计算核心为了等待
Tick
信号的到达浪费了大量空闲时间

因此,实现一种高效的
SNN
在多核神经形态硬件上的计算机制很有必要


技术实现思路

[0005]为了克服现有技术中的不足,本专利技术提供一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,提供对脉冲神经网络在多核神经形态硬件上快速仿真的能力,同时提供脉冲神经网络在多核神经形态硬件上执行的统计数据,用于给多核神经形态硬件的改进和脉冲神经网络算法的设计提供参考

[0006]为了达到上述专利技术目的,解决其技术问题所采用的技术方案如下:
[0007]一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,可以支持不同规模
SNN
的快速仿真,包括以下步骤:
[0008]步骤一:使用
SNN
训练框架训练针对具体任务的
SNN
模型,获取包含模型连接信息和连接权重的模型文件;
[0009]步骤二:使用模型信息提取模块从训练得到的
SNN
模型中提取神经元之间的连接结构和连接权重;
[0010]步骤三:使用神经元分块模块将
SNN
模型建模成图结构,并将神经元分配到神经元
块中,每个神经元块可以由多核神经形态硬件的一个核心来执行;
[0011]步骤四:使用神经元映射模块将划分后的神经元块映射到具体的物理核心上,分块映射使用静态或动态方法;
[0012]步骤五:配置仿真后端并仿真,仿真后端加载仿真前端编译产生的模型信息

分块信息

映射信息,配置仿真器后执行仿真,仿真完成后导出模型精度

模型仿真时间以及
NoC
相关的统计信息

[0013]进一步的,步骤一具体包括以下内容:
[0014]所述的
SNN
模型训练过程,
SNN
模型训练利用传统的
SNN
训练框架,包括传统的用于
SNN
训练的工具
Nengo、Brain2、Carlsim
,也包括使用深度学习训练框架训练后使用
ANN

SNN
转换框架
SnnToolbox

BindsNET
,得到的
SNN
模型

[0015]进一步的,步骤二具体包括以下内容:
[0016]所述的模型信息提取过程,从训练得到的
SNN
模型文件中提取神经元之间的连接结构以及连接权重;同时,根据后续的分块和映射流程中使用优化算法的需要,模型信息提取模块同时提取出测试样本试运行期间神经元的脉冲发放时间

[0017]进一步的,支持多种神经元之间的连接结构,包括全连接

卷积连接

池化连接

[0018]进一步的,步骤三具体包括以下内容:
[0019]所述的神经元分块过程,将
SNN
模型建模成图结构,每个节点代表一个神经元,每条边代表一个神经元之间的突触连接;神经元分块模块将对整个图进行划分,使得每个神经元块中的神经元数目以及分块内部的突触连接数目小于指定阈值;每个神经元块可以放到一个多核神经形态硬件的神经核心上

[0020]进一步的,步骤四具体包括以下内容:
[0021]所述的神经元分块映射过程,将划分后的神经元块映射到具体的物理神经核心上,分块映射可以使用静态的一维空间到二维空间的映射方法,可以使用希尔伯特曲线或
ZigZag
曲线的静态映射曲线;也可以使用粒子群算法

模拟退火算法的启发式算法计算映射方案,以实现
NoC
和芯片上的目标优化,优化核心之间总的通信消耗

最大吞吐量

能耗

脉冲传输平均时延

[0022]进一步的,步骤五具体包括以下内容:
[0023]所述的配置和仿真过程,仿真后端加载仿真前端导出的编译结果,配置仿真器后执行仿真,仿真完成后导出相关统计信息;仿真后端提供
NoC
和神经核心的实现,支持
SNN
在多核神经本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,其特征在于,可以支持不同规模
SNN
的快速仿真,包括以下步骤:步骤一:使用
SNN
训练框架训练针对具体任务的
SNN
模型,获取包含模型连接结构和连接权重的模型文件;步骤二:使用模型信息提取模块从训练得到的
SNN
模型中提取神经元之间的连接结构和连接权重;步骤三:使用神经元分块模块将
SNN
模型建模成图结构,并将神经元分配到神经元块中,每个神经元块可以由多核神经形态硬件的一个核心来执行;步骤四:使用神经元映射模块将划分后的神经元块映射到具体的物理核心上,分块映射使用静态或动态方法;步骤五:配置仿真后端并仿真,仿真后端加载仿真前端编译产生的模型信息

分块信息

映射信息,配置仿真器后执行仿真,仿真完成后导出模型精度

模型仿真时间以及
NoC
相关的统计信息
。2.
根据权利要求1所述的一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,其特征在于,步骤一具体包括以下内容:所述的
SNN
模型训练过程,
SNN
模型训练利用传统的
SNN
训练框架,包括传统的用于
SNN
训练的工具
Nengo、Brain2、Carlsim
,也包括使用深度学习训练框架训练后使用
ANN

SNN
转换框架
SnnToolbox

BindsNET
,得到的
SNN
模型
。3.
根据权利要求1所述的一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,其特征在于,步骤二具体包括以下内容:所述的模型信息提取过程,从训练得到的
SNN
模型文件中提取神经元之间的连接结构以及连接权重;同时,根据后续的分块和映射流程中使用优化算法的需要,模型信息提取模块同时提取出测试样本试运行期间神经元的脉冲发放时间
。4.
根据权利要求3所述的一种用于多核神经形态硬件上
SNN
的通用仿真器设计方法,其特征在于,支持多种神经元之间的连接结构,包括全连接

卷积连接

池化连接
。5.
根据权利要求1所述的...

【专利技术属性】
技术研发人员:谢李生薛建伟吴良顺陈发全田清扬周轶凡应忍冬刘佩林
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1