基于神经元指令编码的类脑计算系统和计算方法与流程

文档序号:29819769发布日期:2022-04-27 10:55阅读:89来源:国知局
基于神经元指令编码的类脑计算系统和计算方法与流程

1.本发明属于脉冲神经网络技术领域,具体涉及一种基于神经元指令编码的类脑计算系统和计算方法。


背景技术:

2.近年来“内存墙”与“功耗墙”效应日趋严重,传统计算机所遵循的冯诺依曼体系结构正在面临巨大的挑战。半导体行业迫切需要寻求新的架构与方法以满足电子产业对不断提高的计算性能和极低功耗的需求。随着脑科学的发展,人们逐渐了解到人脑是一部极高能效的计算机,类脑计算应运而生,如专利文献cn113222134a公开的一种类脑计算系统,在类脑计算系统中,内存与计算单元合二为一,从根本上去除了经典冯诺依曼体系架构的“内存墙”问题。类脑计算的基本思路是将生物神经网络的概念应用于计算机系统设计,针对智能信息处理的特定应用来提高性能与降低功耗。
3.脉冲神经网络作为第三代神经网络具有高度的生物真实性,由于在真实世界学习的任务中展现出独特优势,迅速成为类脑计算芯片研究热点,但目前类脑芯片和生物脑之间还有很大的差距,包括:大脑不同位置、不同类型神经元之间具有神经动力学异质性和计算功能的特异性,但是经典神经元模型一般难以表征多样性的神经元集群,即不能实现各神经元集群的计算功能特异性。
4.专利文献cn112270407a公开了一种支持亿级神经元的类脑计算机,包括层级拓展的体系架构和体系架构内部演算过程控制;体系架构包括层级化组织管理的多个用于实现计算任务的类脑计算芯片,每个类脑计算芯片包含计算神经元和突触资源并形成神经网络,体系架构内计算神经元之间的脉冲事件通过层级化传输模式实现传输;演算过程控制包括控制体系架构内计算任务的并行处理,控制体系架构内同步时间的管理,控制体系架构内神经网络的重构来实现计算神经元与突触资源的容错性和鲁棒性管理。虽然该类脑计算机能够支持亿级神经元的计算,但是并不能实现各神经元集群的计算功能特异性。


技术实现要素:

5.鉴于上述,本发明的目的是提供一种基于神经元指令编码的类脑计算系统和计算方法,通过编码神经元指令实现对不同神经元的计算控制,兼具各神经元集群的计算功能特异性和通用性,且能实现对不同神经元的扩展计算。
6.为实现上述发明目的,实施例提供的一种基于神经元指令编码的类脑计算系统,包括脉冲神经网络,所述脉冲神经网络包括多个神经元节点;还包括:神经元指令编码单元,用于通过编码方式指定神经元指令执行时需要的参数、参数排列方式以及参数使用方式中的至少一种;参与计算的神经元节点依据神经元指令编码单元形成的神经元指令并结合自身参数值执行计算。
7.在一个实施例中,所述神经元指令编码单元提供可视化编码接口,接收外部用户
通过可视化编码接口编码的参数、参数排列方式和参数使用方式中的至少一种,以形成满足特定应用需求的个性化神经元指令。
8.在一个实施例中,所述神经元指令编码单元嵌于底层,不同底层的神经元指令编码单元固定编码参数、参数排列方式和参数使用方式中的至少一种,以形成满足通用需求的通用神经元指令。
9.在一个实施例中,所述嵌于底层的神经元指令编码单元编码的参数包括底层硬件属性参数以及属性参数值,该属性参数值作为神经元节点的状态值,参与计算。
10.在一个实施例中,所述参数排列方式约束了参数被应用的先后顺序;在一个实施例中,所述参数使用方式约束了参数参与的计算操作。
11.在一个实施例中,所述类脑计算系统还包括参数值写入单元,用于写入神经元节点的自身参数值。
12.在一个实施例中,所述参数值写入单元提供可视化写入接口,接收外部用户通过可视化写入接口写入的参数值并赋值给神经元节点。
13.在一个实施例中,所述参数值写入单元嵌于底层,不同底层的参数值写入单元固定写入神经元节点的自身参数值。
14.在一个实施例中,根据神经元指令编码单元编码的同一神经元指令执行计算的神经元节点形成神经元集群,该神经元集群根据同一神经元指令执行同一计算任务,实现计算任务的全局统一性,每个神经元节点结合自身参数值执行计算,实现计算任务的局部差异化。
15.在一个实施例中,参与计算的神经元节点依据神经元指令编码单元编码的不同神经元指令形成不同的神经元节点集群,每个神经元节点集群依据对应的神经元指令实现不同计算任务,实现了脉冲神经网络的集群差异性。
16.为实现上述发明目的,实施例还提供了一种计算方法,所述计算方法应用所述基于神经元指令编码的类脑计算系统实现。
17.与现有技术相比,本发明具有的有益效果至少包括:通过神经元指令编码单元编码执行神经元指令时需要的参数、参数排列方式以及参数使用方式中的至少一种,这样形成的神经元指令在被应用时,不要传递参数实际值。神经元指令独立于神经元节点,可以由多个神经元共享使用,其差异部分通过神经元节点各自的参数值体现,参数值独立存在于每个神经元节点内部。这样通过调整参数值实现不同神经元节点的功能,而不需要调整神经元指令,实现神经元节点执行计算任务的全局统一,局部差异化。
18.神经元指令编码单元呈现的编码方式可以是显式给出也可以是隐式存在,参数值可以是显式写入也可以是隐式存在。显式方式面向用户,隐式方式面向底层实现,实现了神经元计算行为的扩展性。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根
据这些附图获得其他附图。
20.图1是实施例提供的类脑计算系统的结构示意图;图2是另一实施例提供的类脑计算系统的结构示意图;图3是再一实施例提供的类脑计算系统的结构示意图。
具体实施方式
21.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
22.图1是实施例提供的类脑计算系统的结构示意图。如图1所示,实施例提供的基于神经元指令编码的类脑计算系统包括:脉冲神经网络和神经元指令编码单元,其中,脉冲神经网络包括神经元节点,每个神经元节点内部独立存储有自身的参数值以体现神经元节点的差异性,每个神经元节点还执行计算操作,可用作类脑计算处理器。
23.如图1所示,神经元指令编码单元用于通过编码方式指定神经元指令执行时需要的参数、参数排列方式以及参数使用方式中的至少一种。即通过神经元指令编码单元可以指定形成神经元指令的参数、参数排列方式、参数使用方式,以形成不同的神经元指令。需要说明的是,通过编码不同的参数、参数排列方式以及参数使用方式,形成的不同神经元指令能够执行不同的计算任务。
24.基于神经元指令编码单元,参与计算的神经元节点依据神经元指令编码单元形成的神经元指令并结合自身参数值执行计算,以完成计算任务。
25.在一个实施方式中,神经元指令编码单元提供可视化编码接口,接收外部用户通过可视化编码接口编码的参数、参数排列方式和参数使用方式中的至少一种,以形成满足特定应用需求的个性化神经元指令。通过该可视化编码接口将指令编码方式面向用户,这样用户可以通过可视化编码接口显式地设计编码方式,即设计选用的参数、参数排列方式和参数使用方式,个性化定制约束神经元统一行为的神经元指令。例如,设计积分发射模型(integrate-and-fire models,简称if模型)对应的神经元指令包括:使用三个参数:膜电位v,权重和wgtsum,发放阈值vth;参数排列方式为(膜电位v,权重和wgtsum,发放阈值vth);参数使用方式为:先使用权重和更新膜电位:v=v+wgtsum,再使用发放阈值决定是否发放脉冲信号并更新膜电位:spike and v = 0 if v 》 vth;其中,符号“=”为赋值符号。
26.在另外一个实施方式中,神经元指令编码单元嵌于底层,不同底层的神经元指令编码单元固定编码参数、参数排列方式和参数使用方式中的至少一种,以形成满足通用需求的通用神经元指令。这种将指令编码方式面向底层实现,不同底层的神经元指令编码单元提供的编码方式是固定不变的,提供了针对大部分通用需求的通用神经元指令。例如,通用神经元指令包括:三种参数p1,p2,p3,参数排列方式为(p1,p2,p3),参数使用方式为:先进行p1=p1+p2,再进行p1=p1*p2+p3。
27.实施例中,嵌于底层的神经元指令编码单元编码的参数包括底层硬件属性参数以及属性参数值,该属性参数值作为神经元节点的状态值,参与计算。这些硬件属性参数可以是rram的电阻值,sram的存储值,这些硬件参数可以作为权重使用,也可以作为其他参数的衰减系数使用等。
28.实施例中,神经元指令编码单元的编码参数是指计算使用的状态和变量,包括膜电位,膜电流,权重,权重和,发放阈值,振荡电位,衰减系数,学习率,奖惩值,脉冲,脉冲轨迹等。
29.实施例中,参数排列方式约束了参数被应用的先后顺序,即约束了参数被用于计算的先后顺序。
30.实施例中,参数使用方式约束了参数参与的计算操作,也就是被选用参数参与的运算类型,该计算操作包括加、减、乘、比较、逻辑运算等,这些计算操作自带的运算优先级配合选用参数被应用的先后顺序,形成了神经元指令。
31.如图2所示,实施例提供的类脑计算系统还包括参数值写入单元,用于写入神经元节点的自身参数值。在一个实施方式中,参数值写入单元提供可视化写入接口,接收外部用户通过可视化写入接口写入的参数值并赋值给神经元节点。通过该可视化写入接口将参数值写入方式面向用户,这样用户可以通过可视化写入接口显式地写入参数值,个性化定制约束神经元节点的个性化计算行为。
32.在另一个实施方式中,参数值写入单元嵌于底层,不同底层的参数值写入单元固定写入神经元节点的自身参数值。这种将参数值写入方式面向底层实现,不同底层的参数值写入单元提供的参数值是固定不变的,提供了针对大部分通用需求计算的固定参数值。
33.在一个实施例中,根据神经元指令编码单元编码的同一神经元指令执行计算的神经元节点形成神经元集群,该神经元集群的多个神经元节点共享同一神经元指令,并根据同一神经元指令执行同一计算任务,实现计算任务的全局统一性,每个神经元节点结合独立于内部的自身参数值执行计算,实现计算任务的不同神经元节点的局部差异化。
34.在一个实施例中,如图3所示,计算的神经元节点依据神经元指令编码单元编码的不同神经元指令形成不同的神经元节点集群,每个神经元节点集群依据对应的神经元指令实现不同计算任务,实现了脉冲神经网络的集群差异性。在整个脉冲神经网络中,依据神经元指令将整个脉冲神经网络划分成不同的神经元节点集群,神经元节点集群由于执行不同的计算任务,实现了集群差异性,多种神经元节点集群可以同时实现多种主流神经元模型的计算行为,在现有脉冲神经网络中,添加新神经元节点集群,其行为针对需求自主设计,扩展整个网络的扩展能力。
35.上述实施例提供的基于神经元指令编码的类脑计算系统,通过神经元指令编码单元实现的编码方式可以将多种复杂神经元模型进行整合,实现主流神经元模型的计算行为。通过编码方式编码的神经元指令可以由多个神经元共享使用,其差异部分通过独立存在于每个神经元内部的各自参数值体现。通过调整参数值实现不同神经元节点的计算功能,而不需要调整神经元指令,这样可以实现神经元全局统一,局部差异化。
36.实施例还提供了一种计算方法,该计算方法应用上述基于神经元指令编码的类脑计算系统实现,包括以下步骤:利用神经元指令编码单元编码神经元指令;通过计算任务配置参与计算的神经元节点的个数;被配置的神经元节点依据神经元指令编码单元形成的神经元指令并结合自身参数值执行计算。
37.以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理
解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1