首页> 中国专利> 数据处理方法、处理核、众核系统、计算机可读介质

数据处理方法、处理核、众核系统、计算机可读介质

摘要

本公开提供一种数据处理方法,包括:根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值,所述目标神经元为至少一个第二神经元中的一者,所述第一神经元为所述第二神经元的前继神经元;任意神经元的权重数据包括索引部分和权重部分,所述权重部分包括所述神经元与所述神经元的至少一个前继神经元或至少一个后继神经元间的非零连接权重值,所述索引部分表征所述权重部分中的各非零连接权重值对应的所述神经元的前继神经元或后继神经元;根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位。本公开还提供一种处理核、一种众核系统、一种计算机可读介质。

著录项

  • 公开/公告号CN114861894A

    专利类型发明专利

  • 公开/公告日2022-08-05

    原文格式PDF

  • 申请/专利权人 北京灵汐科技有限公司;

    申请/专利号CN202210468773.7

  • 发明设计人 何伟;祝夭龙;沈杨书;

    申请日2022-04-29

  • 分类号G06N3/06(2006.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构北京天昊联合知识产权代理有限公司 11112;北京天昊联合知识产权代理有限公司 11112;

  • 代理人彭瑞欣;姜春咸

  • 地址 100080 北京市海淀区北四环西路67号8层801

  • 入库时间 2023-06-19 16:17:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-23

    实质审查的生效 IPC(主分类):G06N 3/06 专利申请号:2022104687737 申请日:20220429

    实质审查的生效

  • 2022-08-05

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及计算机技术领域,特别涉及一种数据处理方法、一种处理核、一种众核系统、一种计算机可读介质。

背景技术

脉冲神经网络(SNN,Spiking Neural Network)被看作是第三代神经网络,旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。脉冲神经网络中,用权重表示两个神经元之间的连接强度,根据权重计算神经元的膜电位以判定是否发放脉冲。

在一些相关技术中,大量权重会占用过多的资源。

发明内容

本公开提供一种数据处理方法、一种处理核、一种众核系统、一种计算机可读介质。

第一方面,本公开提供了一种数据处理方法,包括:

根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值,所述目标神经元为至少一个第二神经元中的一者,所述第一神经元为所述第二神经元的前继神经元;任意神经元的权重数据包括索引部分和权重部分,所述权重部分包括所述神经元与所述神经元的至少一个前继神经元或至少一个后继神经元间的非零连接权重值,所述索引部分表征所述权重部分中的各非零连接权重值对应的所述神经元的前继神经元或后继神经元;

根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位。

在一些实施例中,所述权重数据为所述第一神经元的权重数据,所述权重数据的权重部分包括所述第一神经元与各个所述第二神经元间的非零连接权重值;所述索引部分包括由各个所述第二神经元的标识信息按照第一预定顺序组成的标识序列,所述标识信息表征其对应的第二神经元与所述第一神经元间的连接权重值是否为非零权重值;所述权重数据的权重部分中的非零连接权重值与所述权重数据的标识序列中表征非零连接权重值的标识信息一一对应;根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值的步骤包括:

根据至少一个所述第一神经元的权重数据中的标识序列,确定与至少一个所述第一神经元间的连接权重值为非零连接权重值的第二神经元,作为所述目标神经元;

根据所述权重数据的权重部分中的非零连接权重值与所述权重数据的标识序列中表征非零连接权重值的标识信息的对应关系,确定所述目标神经元与所述第一神经元间的连接权重值。

在一些实施例中,根据至少一个所述第一神经元的权重数据中的标识序列,确定与至少一个所述第一神经元间的连接权重值为非零连接权重值的第二神经元,作为所述目标神经元的步骤包括:

根据各个时间区间各个所述第一神经元的第一发放信息确定目标时间区间对应的目标前继神经元,所述第一发放信息表征各个时间区间各个所述第一神经元是否发放,所述目标前继神经元为所述目标时间区间进行发放的第一神经元;

根据至少一个所述目标前继神经元的权重数据中的标识序列,确定与至少一个所述目标前继神经元间的连接权重值为非零连接权重值的第二神经元,作为所述目标神经元。

在一些实施例中,根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位的步骤包括:

根据所述目标神经元与各个发放的第一神经元间的连接权重值,确定所述目标神经元的目标权重数据,其中,所述目标权重数据包括目标索引部分和目标权重部分,所述目标权重部分包括所述目标神经元与各个发放的第一神经元间的非零连接权重值;所述目标索引部分包括由各个所述第一神经元的目标标识信息按照第二预定顺序组成的目标标识序列,所述目标标识信息表征其对应的第一神经元是否发放、以及其对应的第一神经元与所述目标神经元间的连接权重值是否为非零权重值;

根据所述目标权重数据,计算所述目标神经元的膜电位。

在一些实施例中,所述第二神经元为当前处理核对应的神经元,其中,众核系统包括多个处理核,一个所述处理核对应神经网络的至少一个神经元;所述权重数据为所述第一神经元的权重数据,所述权重数据的权重部分包括所述第一神经元与各个所述第二神经元间的非零连接权重值;在根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值的步骤之前,所述数据处理方法还包括:

接收所述至少一个第一神经元的权重数据。

在一些实施例中,在根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位的步骤之后,所述数据处理方法还包括:

当任意一个所述目标神经元的膜电位大于发放阈值时,发放所述目标神经元的权重数据。

在一些实施例中,所述第二神经元为当前处理核对应的神经元,其中,众核系统包括多个处理核,一个所述处理核对应神经网络的至少一个神经元;所述权重数据为所述第二神经元的权重数据,所述权重数据的权重部分包括所述第二神经元与各个所述第一神经元间的非零连接权重值;在根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值的步骤之前,所述数据处理方法还包括:

响应于所述至少一个第一神经元发放,从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据。

在一些实施例中,当前处理核的片上存储中存储有各个所述第二神经元的权重数据在片外存储中的索引信息;从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据的步骤包括:

根据所述索引信息从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据。

在一些实施例中,在根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位的步骤之后,所述数据处理方法还包括:

当至少一个所述目标神经元的膜电位大于发放阈值时,发放第二发放信息,所述第二发放信息表征膜电位大于所述发放阈值的至少一个所述目标神经元的信息。

在一些实施例中,对于任意一个所述目标神经元,根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位的步骤包括:

根据所述目标神经元的历史膜电位与所述目标神经元与所述至少一个第一神经元的连接权重值,计算所述目标神经元的膜电位。

第二方面,本公开实施例提供一种处理核,包括计算单元和缓存;

所述计算单元能够实现本公开实施例第一方面所述的任意一种数据处理方法。

第三方面,本公开实施例提供一种众核系统,包括:

多个处理核;以及

片上网络,被配置为交互所述多个处理核间的数据和外部数据;

一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够实现本公开实施例第一方面所述的任意一种数据处理方法。

第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现本公开实施例第一方面所述的任意一种数据处理方法。

本公开实施例提供的数据处理方法中,能够对神经网络中神经元的权重数据进行处理,权重数据的格式满足:包括索引部分和权重部分,权重部分包括神经元与该神经元的至少一个前继神经元或至少一个后继神经元间的非零连接权重值,索引部分表征权重部分中的各非零连接权重值对应的神经元的前继神经元或后继神经元。从而有助于实现基于上述权重数据的格式存储神经网络中神经元间的连接权重值,有利于对连接权重值的存储进行优化,特别是在区分片上存储和片外存储的处理器中,有利于提高片上存储的利用效率、提升处理器的运算速率。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1是本公开实施例中一种数据处理方法的流程图;

图2是本公开实施例中部分神经元的连接关系的示意图;

图3是本公开实施例中一种神经形态芯片的示意图;

图4是本公开实施例中一种神经元与处理核的对应关系的示意图;

图5是本公开实施例中一种神经形态芯片的处理核的示意图;

图6是本公开实施例中一种权重数据的格式示意图;

图7是本公开实施例中另一种数据处理方法中部分步骤的流程图;

图8是本公开实施例中另一种权重数据的格式示意图;

图9是本公开实施例中又一种数据处理方法中部分步骤的流程图;

图10本公开实施例中根据时间轴执行神经网络运算的示意图;

图11本公开实施例中根据时间轴执行神经网络运算的示意图;

图12是本公开实施例中再一种数据处理方法中部分步骤的流程图;

图13是本公开实施例中一种确定目标权重数据的实施方式的示意图;

图14是本公开实施例中再一种数据处理方法中部分步骤的流程图;

图15是本公开实施例中再一种数据处理方法中部分步骤的流程图;

图16是本公开实施例中一种处理核的组成框图;

图17是本公开实施例中一种众核系统的组成框图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。

如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。

本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。

本公开的发明人研究发现,在一些相关技术中,用具有片上存储的处理器运行脉冲神经网络时,通常将所有神经元的连接权重值都存储在片上存储中。连接权重值通常为整型(int)8或半精度浮点数(fp,floating-point)16,其精度通常较高,会占用过多的片上存储资源。特别是在脉冲神经网络的神经元为稀疏发放时,会导致片上存储的利用率急剧下降。其中,神经元稀疏发放是指神经元的发放频率较低。

有鉴于此,本公开实施例提出了一种能够用于存储神经元间的连接权重值的权重数据的格式,并且,作为本公开实施例的第一方面,参照图1,提出了能够对该格式的权重数据进行处理的数据处理方法,包括:

在步骤S100中,根据至少一个权重数据,确定至少一个目标神经元与至少一个第一神经元间的连接权重值,所述目标神经元为至少一个第二神经元中的一者,所述第一神经元为所述第二神经元的前继神经元;任意神经元的权重数据包括索引部分和权重部分,所述权重部分包括所述神经元与所述神经元的至少一个前继神经元或至少一个后继神经元间的非零连接权重值,所述索引部分表征所述权重部分中的各非零连接权重值对应的所述神经元的前继神经元或后继神经元;

在步骤S200中,根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位。

图2为本公开实施例中部分神经元的连接关系的示意图。如图2所示,神经元A1、A2、A3为第一神经元,神经元C1、C2、C3、C4为第二神经元;神经元A1、A2、A3与神经元C1、C2、C3、C4为全连接关系。其中,对于神经元C1,神经元A1、A2、A3为其前继神经元;对于神经元A1,神经元C1、C2、C3、C4为其后继神经元。其他神经元的前继、后继关系可同理得出。

在一些实施例中,在神经形态芯片上运行神经网络。在一些实施例中,神经形态芯片为众核系统。如图3所示,神经形态芯片包括多个处理核10。每一个处理核具有独立的计算能力和片上存储。在本公开实施中,每一个处理核对应至少一个神经元。此外,众核系统还包括片外存储,神经元的权重数据可以存储在对应处理核的片上存储中,也可以存储在众核系统的片外存储中。权重数据可以在处理核的片上存储和片外存储之间进行传输,例如,处理核可以读取其片上存储中的权重数据并写入片外存储,也可以读取片外存储中的权重数据写入其片外存储;处理核还可以从其片上存储或片外存储中读取权重数据并传输到其他处理核。

如图4所示,神经元A1、A2、A3、A4对应处理核1,神经元C1、C2、C3、C4对应处理核2,神经元B1、B2、B3对应处理核3。

为了进一步说明本公开实施例中神经元与神经心态芯片的对应关系,图5为图3中一种处理核的结构示意图。如图5所示,每个处理核通常包括一组(多个)神经元、一组轴突、一组树突和突触阵列,可以模拟一个生物神经元簇的行为,神经形态芯片中的各处理核均可以完成对应的一组神经元的树突积分计算过程以及胞体运算过程。其中,树突是用于接收外界的刺激并产生输入电流的结构,轴突是用于将脉冲传递到后继神经元的突触的结构,突触是用于连接神经元的结构,突触阵列是由突触构成的阵列,连接一组轴突和一组树突。

对于处理核内的各神经元,树突积分计算过程用于描述将与该神经元的树突连接的所有输入轴突的脉冲数据进行积分操作的过程,树突积分计算过程在本公开实施例中也称为膜电位积分运算。胞体运算过程负责神经元的膜电位的更新和脉冲的发放判断,胞体运算过程在本公开实施例中也称为发放运算,如果任一神经元的膜电位满足发放条件,则该神经元的轴突会向与该神经元连接的后继神经元发放用1表示的脉冲;否则,该神经元的轴突会向与该神经元连接的后继神经元发放用0表示的脉冲。这使得神经形态芯片作为一种电子模拟电路的超大规模集成系统能够较为准确地模拟神经系统中的神经生物结构。

在相关技术中,突触阵列通常用于模拟一个处理核的一组神经元与另一个处理核的一组神经元之间的连接关系,作为用于存储一个处理核的一组神经元与另一个处理核的一组神经元之间的连接拓扑与连接权重(也称为突触权重)的阵列式存储结构。

本公开实施例中权重数据的格式如图6所示,每一个神经元的权重数据包括索引部分和权重部分。

在本公开实施例中,权重数据可以用于存储神经元与其全部或部分后继神经元的连接权重值;此时,一个权重数据对应一个第一神经元,该权重数据的权重部分包括其对应的第一神经元与各个第二神经元的连接权重值中的非零连接权重值。权重数据还可以用于存储神经元与其全部或部分前继神经元的连接权重值;此时,一个权重数据对应一个第二神经元,该权重数据的权重部分包括其对应的第二神经元与各个第一神经元的连接权重值中的非零连接权重值。

在一些实施例中,目标神经元是需要进行发放判断的第二神经元。在本公开实施例中,目标神经元的膜电位大于发放阈值时发放;目标神经元需要进行发放判断是指需要计算目标神经元的膜电位,通过判断膜电位是否大于发放阈值确定目标神经元是否发放。在一些实施例中,目标神经元响应于其前继神经元发放进行发放判断。

在一些实施例中,目标神经元可以是其前继神经元发放的第二神经元。在一些实施例中,目标神经元可以是其前继神经元发放,且其与该发放的前继神经元具有非零连接权重值的第二神经元。在一些实施例中,可以将各个第二神经元都作为目标神经元。本公开实施例对此不做特殊限定。

在本公开实施例中,通过步骤S100至步骤S200可以对全部第二神经元进行发放判断,也可以对部分第二神经元进行发放判断。本公开实施例对此不做特殊限定。

本公开实施例提供的数据处理方法中,能够对神经网络中神经元的权重数据进行处理,权重数据的格式满足:包括索引部分和权重部分,权重部分包括神经元与该神经元的至少一个前继神经元或至少一个后继神经元间的非零连接权重值,索引部分表征权重部分中的各非零连接权重值对应的神经元的前继神经元或后继神经元。从而有助于实现基于上述权重数据的格式存储神经网络中神经元间的连接权重值,有利于对连接权重值的存储进行优化,特别是在区分片上存储和片外存储的处理器中,有利于提高片上存储的利用效率、提升处理器的运算速率。

本公开实施例对权重数据索引部分和权重部分的具体格式不做特殊限定。

在本公开实施例中,权重数据可以包括神经元与至少一个后继神经元间的非零连接权重值。

相应地,在一些实施例中,所述权重数据为所述第一神经元的权重数据,所述权重数据的权重部分包括所述第一神经元与各个所述第二神经元间的非零连接权重值;所述索引部分包括由各个所述第二神经元的标识信息按照第一预定顺序组成的标识序列,所述标识信息表征其对应的第二神经元与所述第一神经元间的连接权重值是否为非零权重值;所述权重数据的权重部分中的非零连接权重值与所述权重数据的标识序列中表征非零连接权重值的标识信息一一对应;参照图7,步骤S100包括:

在步骤S110中,根据至少一个所述第一神经元的权重数据中的标识序列,确定与至少一个所述第一神经元间的连接权重值为非零连接权重值的第二神经元,作为所述目标神经元;

在步骤S120中,根据所述权重数据的权重部分中的非零连接权重值与所述权重数据的标识序列中表征非零连接权重值的标识信息的对应关系,确定所述目标神经元与所述第一神经元间的连接权重值。

在一些实施例中,标识信息包括1和0,其中,1表示第一神经元与第二神经元间的连接权重值为非零连接权重值;0表示第一神经元与第二神经元间的连接权重值为零。相应地,标识序列为由1和0组成的序列,其中的每一个标识位对应一个第二神经元。在步骤S110中,根据标识序列中是0或1即可确定目标神经元。在一些实施例中,权重数据的权重部分中非零连接权重值按照第一预定顺序排列,非零连接权重值与标识序列中值为1的标识位一一对应。在步骤S120中,根据上述一一对应关系即可确定目标神经元与第一神经元间的连接权重值。

例如,参照图2和图8,神经元A1、A2、A3为第一神经元,神经元C1、C2、C3、C4为第二神经元。神经元A1的权重数据中索引部分的标识序列为1001,表示神经元C1、C4与神经元A1间的连接权重值为非零连接权重值、神经元C2、C3与神经元A1间的连接权重值为零;权重部分包括顺序排列的连接权重值a和连接权重值b,表示神经元C1与神经元A1间的连接权重值为a、神经元C4与神经元A1间的权重值为b。神经元A2的权重数据中索引部分的标识序列为1000,表示神经元C1与神经元A2间的连接权重值为非零连接权重值、神经元C2、C3、C4与神经元A2间的连接权重值为零;权重部分包括连接权重值c,表示神经元C1与神经元A1间的连接权重值为c。当只有神经元A1发放时,在步骤S110中,将神经元C1、C4确定为目标神经元,在步骤S120中,能够确定神经元C1与神经元A1间的连接权重值为a,神经元C4与神经元A1间的权重值为b。当神经元A1和神经元A2发放时,在步骤S110中,将神经元C1、C4确定为目标神经元,在步骤S120中,能够确定神经元C1与神经元A1间的连接权重值为a,神经元C1与神经元A2间的连接权重值为c,神经元C4与神经元A1间的权重值为b。

在本公开实施例中,同一时间区间,多个第一神经元可以全部发放,也可以部分发放,还可以都不发放。本公开实施例对此不做特殊限定。在一些实施例中,对于任意一个第二神经元,只根据同一时间区间发放的第一神经元的权重数据对该第二神经元进行发放判断。在本公开实施例中,一个时间区间可以为一段时长、一个时刻、或一个运行周期。本公开实施例对此不做特殊限定。

相应地,在一些实施例中,参照图9,步骤S110包括:

在步骤S111中,根据各个时间区间各个所述第一神经元的第一发放信息确定目标时间区间对应的目标前继神经元,所述第一发放信息表征各个时间区间各个所述第一神经元是否发放,所述目标前继神经元为所述目标时间区间进行发放的第一神经元;

在步骤S112中,根据至少一个所述目标前继神经元的权重数据中的标识序列,确定与至少一个所述目标前继神经元间的连接权重值为非零连接权重值的第二神经元,作为所述目标神经元。

图10和图11为本公开实施例中根据时间轴执行神经网络运算的示意图。在时间区间t1至t6,神经元A1、A2、A3的发放脉冲和神经元A1、A2、A3的权重数据如图10所示。在时间区间t1至t6,神经元C1、C2、C3、C4计算膜电位时对应的连接权重值如图11所示。以神经元C1为例,在时间区间t1,神经元A1、A2发放,A3不发放,神经元A1与神经元C1间的连接权重值为非零连接权重值a,神经元A2与神经元C1间的连接权重值为非零连接权重值c;时间区间t1,神经元C1的膜电位等于时间区间t1的历史膜电位加上连接权重值a和c。在时间区间t2,神经元A1、A2、A3均不发放,无需进行发放判断;在时间区间t3,神经元A1、A3发放,A2不发放,神经元A1与神经元C1间的连接权重值为非零连接权重值a,神经元A3与神经元C1间的连接权重值为零;时间区间t3,神经元C1的膜电位等于时间区间t3的历史膜电位加上连接权重值a。

本公开实施例对于如何计算目标神经元的膜电位,对目标神经元进行发放判断不做特殊限定。

在一些实施例中,参照图12,步骤S200包括:

在步骤S210中,根据所述目标神经元与各个发放的第一神经元间的连接权重值,确定所述目标神经元的目标权重数据,其中,所述目标权重数据包括目标索引部分和目标权重部分,所述目标权重部分包括所述目标神经元与各个发放的第一神经元间的非零连接权重值;所述目标索引部分包括由各个所述第一神经元的目标标识信息按照第二预定顺序组成的目标标识序列,所述目标标识信息表征其对应的第一神经元是否发放、以及其对应的第一神经元与所述目标神经元间的连接权重值是否为非零权重值;

在步骤S220中,根据所述目标权重数据,计算所述目标神经元的膜电位。

需要说明的是,在执行步骤S210至步骤S220时,目标神经元可以是其前继神经元发放的第二神经元;目标神经元也可以是其前继神经元发放,且其与该发放的前继神经元具有非零连接权重值的第二神经元;还可以将各个第二神经元都作为目标神经元。本公开实施例对此不做特殊限定。

还需要说明的是,在执行步骤S210至步骤S220时,用于确定目标神经元与第一神经元间的连接权重值的权重数据,是第一神经元的权重数据。其中,第一神经元的权重数据的权重部分包括第一神经元与各个第二神经元间的非零连接权重值;索引部分包括由各个第二神经元的标识信息按照第一预定顺序组成的标识序列,标识信息表征其对应的第二神经元与第一神经元间的连接权重值是否为非零权重值;权重数据的权重部分中的非零连接权重值与权重数据的标识序列中表征非零连接权重值的标识信息一一对应。

以图13为例,神经元A1、A2、A3为第一神经元,神经元C1、C2、C3、C4为第二神经元。神经元A1的权重数据中索引部分的标识序列为1001,表示神经元C1、C4与神经元A1间的连接权重值为非零连接权重值、神经元C2、C3与神经元A1间的连接权重值为零;权重部分包括顺序排列的连接权重值a和连接权重值b,表示神经元C1与神经元A1间的连接权重值为a、神经元C4与神经元A1间的权重值为b。神经元A2的权重数据中索引部分的标识序列为1000,表示神经元C1与神经元A2间的连接权重值为非零连接权重值、神经元C2、C3、C4与神经元A2间的连接权重值为零;权重部分包括连接权重值c,表示神经元C1与神经元A1间的连接权重值为c;神经元A3的权重数据中索引部分的标识序列为0110,表示神经元C2、C3与神经元A3间的连接权重值为非零连接权重值、神经元C1、C4与神经元A3间的连接权重值为零;权重部分包括顺序排列的连接权重值d和连接权重值e,表示神经元C2与神经元A3间的连接权重值为d、神经元C3与神经元A3间的权重值为e。

在图13中,假设神经元A1和神经元A2发放、神经元A3不发放。由于神经元A3不发放,神经元C1与神经元A3间的连接权重值默认为0,通过执行步骤S210,确定的神经元C1的目标权重数据的目标索引部分中的目标标识序列表示为110,神经元C1的目标权重数据的目标权重部分包括顺序排列的连接权重值a和连接权重值c;由于神经元A3不发放,神经元C2与神经元A3间的连接权重值默认为0,而且神经元C2与神经元A1、神经元A2间的连接权重都为0,通过执行步骤S210,确定的神经元C2的目标权重数据的目标索引部分中的目标标识序列表示为000,神经元C2的目标权重数据的目标权重部分为空;由于神经元A3不发放,神经元C3与神经元A3间的连接权重值默认为0,而且神经元C3与神经元A1、神经元A2间的连接权重都为0,通过执行步骤S210,确定的神经元C3的目标权重数据的目标索引部分中的目标标识序列表示为000,神经元C3的目标权重数据的目标权重部分为空;由于神经元A3不发放,神经元C4与神经元A3间的连接权重值默认为0,通过执行步骤S210,确定的神经元C4的目标权重数据的目标索引部分中的目标标识序列表示为100,神经元C1的目标权重数据的目标权重部分包括连接权重值b。

需要说明的是,图13是将各个第二神经元都作为目标神经元时,确定目标神经元的目标权重数据的示例性说明。在本公开实施例中,也可以只确定与至少一个前继神经元有非零连接权重值的第二神经元的目标权重数据,即,在图13中只确定神经元C1和神经元C4的目标权重数据,以节约计算资源,提升计算效率。本公开实施例对此不做特殊限定。

在一些实施例中,在众核系统中采用本公开实施例提供的权重数据的格式存储神经网络中神经元间的连接权重值。其中,众核系统的一个处理核对应神经网络的至少一个神经元。在一些实施例中,一个权重数据对应一个第一神经元,该权重数据的权重部分包括其对应的第一神经元与各个第二神经元的连接权重值中的非零连接权重值,并且第一神经元的权重数据存储在众核系统的片外存储中。当任意一个第一神经元发放时,从片外存储中获取该神经元的权重数据,并将该神经元的权重数据一并发放给第二神经元。

相应地,在一些实施例中,所述第二神经元为当前处理核对应的神经元,其中,众核系统包括多个处理核,一个所述处理核对应神经网络的至少一个神经元;所述权重数据为所述第一神经元的权重数据,所述权重数据的权重部分包括所述第一神经元与各个所述第二神经元间的非零连接权重值;参照图14,在步骤S100之前,所述数据处理方法还包括:

在步骤S300中,接收所述至少一个第一神经元的权重数据。

在本公开实施例中,当第一神经元发放时,可以是由发放的第一神经元对应的处理核从片外存储中读取发放的第一神经元的权重数据,并传输到目标神经元对应的处理核,存储到目标神经元对应的片上存储中;也可以是由调度器从片外存储中读取发放的第一神经元的权重数据,并传输到目标神经元对应的处理核,存储到目标神经元对应的处理核的片上存储中。本公开实施例对此不做特殊限定。

相应地,在一些实施例中,参照图14,在步骤S200之后,所述数据处理方法还包括:

在步骤S400中,当任意一个所述目标神经元的膜电位大于发放阈值时,发放所述目标神经元的权重数据。

在一些实施例中,发放目标神经元的权重数据是指,当前处理核从片外存储中读取发放的目标神经元的权重数据,并传输到目标神经元的后继神经元对应的处理核,存储到目标神经元的后继神经元对应的处理核的片上存储中。

在本公开实施例中,权重数据还可以包括神经元与至少一个前继神经元间的非零连接权重值。

相应地,在一些实施例中,一个权重数据对应一个第二神经元,该权重数据的权重部分包括其对应的第二神经元与各个第一神经元的连接权重值中的非零连接权重值,并且第二神经元的权重数据存储在众核系统的片外存储中。当任意一个第一神经元发放时,当前处理核从片外存储中获取对应的第二神经元的权重数据。

相应地,所述第二神经元为当前处理核对应的神经元,其中,众核系统包括多个处理核,一个所述处理核对应神经网络的至少一个神经元;所述权重数据为所述第二神经元的权重数据,所述权重数据的权重部分包括所述第二神经元与各个所述第一神经元间的非零连接权重值;参照图15,在步骤S100之前,所述数据处理方法还包括:

在步骤S500中,响应于所述至少一个第一神经元发放,从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据。

在一些实施例中,当前处理核从片外存储中获取的目标神经元的权重数据,包括该目标神经元与其所有前继神经元的连接权重值。

在一些实施例中,当前处理核的片上存储中存储有各个所述第二神经元的权重数据在片外存储中的索引信息;从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据的步骤包括:根据所述索引信息从所述众核系统的片外存储中获取所述至少一个目标神经元的权重数据。

相应地,在一些实施例中,参照图15,在步骤S200之后,所述数据处理方法还包括:

在步骤S600中,当至少一个所述目标神经元的膜电位大于发放阈值时,发放第二发放信息,所述第二发放信息表征膜电位大于所述发放阈值的至少一个所述目标神经元的信息。

本公开实施例对于第二发放信息的格式不做特殊限定。在一些实施例中,第二发放信息为膜电位大于发放阈值的各个目标神经元的标识信息。在一些实施例中,第二发放信息为0和1组成的序列,每一个目标神经元对应序列中的一位,其中,0表示对应的目标神经元不发放,1标识对应的神经元发放。

在本公开实施例中,众核系统可以是单个芯片构成的,芯片具有多个处理核,处理核是众核系统中可独立调度并拥有完整计算能力的最小计算单元;众核系统还可以是由多个芯片构成的,每个芯片可以具有多个处理核。本公开实施例对此不做特殊限定。在本公开实施例中,众核系统还包括片外存储。本公开实施例对众核系统的片外存储不做特殊限定,例如,片外存储可以是双倍速率同步动态随机存储器(DDR,Double Data Rate)、非易失存储器(NVM,Non-volatile Memory)、闪存(flash)等中的任意一种。

在本公开实施例中,众核系统中的多个处理核可以分别独立运行程序指令,也可以联合工作,利用并行计算的能力加快程序的运行速度,并提供多任务处理能力。众核系统中的每个处理核都具有独立的片上存储,能够存储处理核执行运算得到的计算结果等数据。

在一些实施例中,对于任意一个所述目标神经元,根据所述至少一个目标神经元与所述至少一个第一神经元间的连接权重值,计算各个所述目标神经元的膜电位的步骤包括:根据所述目标神经元的历史膜电位与所述目标神经元与所述至少一个第一神经元的连接权重值,计算所述目标神经元的膜电位。

需要说明的是,本公开实施例提供的数据处理方法可以是用于执行图像处理任务、语音处理任务、文本处理任务等中的一者或几者的过程中。本公开实施例对此不做特殊限定。

第二方面,参照图16,本公开实施例提供一种处理核,包括计算单元101和缓存102;

所述计算单元101能够实现本公开实施例第一方面所述的任意一种数据处理方法。

第三方面,参照图17,本公开实施例提供一种众核系统,包括:多个处理核201以及片上网络202,其中,多个处理核201均与片上网络202连接,片上网络202用于交互多个处理核间的数据和外部数据。

其中,一个或多个处理核201中存储有一个或多个指令,一个或多个指令被一个或多个处理核201执行,以使一个或多个处理核201能够实现本公开实施例第一方面所述的任意一种数据处理方法。

此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时能够实现本公开实施例第一方面所述的任意一种数据处理方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。

如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号