买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种异构协同系统及其通信方法_北京灵汐科技有限公司_201910488020.0 

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

申请日:2019-06-05

公开(公告)日:2021-04-13

公开(公告)号:CN110188872B

主分类号:G06N3/063(20060101)

分类号:G06N3/063(20060101);G06N3/04(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.13#授权;2019.09.24#实质审查的生效;2019.08.30#公开

摘要:本发明实施例公开了一种异构协同系统及其通信方法,根据路由表获取目标计算单元的输入类型,并根据本计算单元的输出信息确定包含有与目标计算单元的输入类型匹配的数据类型的路由包,以传输给目标计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。

主权项:1.一种异构协同系统的通信方法,其特征在于,所述系统包括至少两个计算单元,所述方法包括:第一计算单元周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷与所述第一计算单元的输入类型相匹配,所述第一数据载荷为用于人工神经网络计算的数值量信息或用于脉冲神经网络计算的脉冲信息;响应于所述第一地址信息与所述第一计算单元的地址信息匹配,所述第一计算单元根据所述第一数据载荷确定输入信息;处理所述输入信息并确定输出信息;根据所述输出信息和路由表确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的第二计算单元的输入类型匹配;其中,所述路由表包括计算单元的输入类型、地址信息和路由连接关系;发送所述第二路由包。

全文数据:一种异构协同系统及其通信方法技术领域本发明涉及计算机技术领域,更具体地,涉及一种异构协同系统及其通信方法。背景技术神经网络是一种模仿生物大脑突触-神经元结构进行数据处理的计算系统,由分为多层的计算节点和层间的连接组成。神经网络具有强大的非线性和自适应数据处理能力。目前典型的神经网络包括人工神经网络和脉冲神经网络。人工神经网络基于对神经元模型的简化和对大脑网络的高度抽象,将人工神经元按一定结构连接成网络,其输入输出均为数值量信息,借鉴大脑分层结构,可以构建较深的网络模型,在特征提取、模式识别等问题上展现出显著优势。但数值量信息在一定程度上丢失了时间信息,大规模网络消耗较多计算资源,能耗较高。脉冲神经网络更贴近实际生物模型,利用微分方程对神经元建模,输入输出为用01表示的脉冲序列,通过膜电位累计与阈值发放完成计算任务,具有网络动力学特性,蕴含丰富的时间信息,在处理序列问题上具有一定优势,事件驱动的处理模式也带来低功耗特性。但其在运算精度、大规模数据和网络上有待提升。由此,单独采用人工神经网络或脉冲神经网络都无法处理复杂的人工通用智能的任务场景,例如同时需要精确数值和快速响应的任务场景。发明内容有鉴于此,本发明实施例提供了一种异构协同系统及其通信方法,以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。第一方面,本发明实施例提供一种异构协同系统的通信方法,所述系统包括至少两个计算单元,所述方法包括:第一计算单元周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷与所述第一计算单元的输入类型相匹配,所述第一数据载荷为用于人工神经网络计算的数值量信息或用于脉冲神经网络计算的脉冲信息;响应于所述第一地址信息与所述第一计算单元的地址信息匹配,所述第一计算单元根据所述第一数据载荷确定输入信息;处理所述输入信息并确定输出信息;根据所述输出信息和路由表确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的第二计算单元的输入类型匹配;其中,所述路由表包括计算单元的输入类型、地址信息和路由连接关系;发送所述第二路由包。进一步地,所述至少两个计算单元包括至少一个人工神经网络计算单元和至少一个脉冲神经网络计算单元;或者所述至少两个计算单元包括至少两个同时支持人工神经网络计算和脉冲神经网络计算的混合神经网络计算单元;或者所述至少两个计算单元包括至少一个人工神经网络计算单元、至少一个脉冲神经网络计算单元和至少一个混合神经网络计算单元。进一步地,所述第一计算单元的输出信息为数值量,根据所述输出信息和路由表确定第二路由包包括:响应于所述数值量在阈值区间内,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括所述脉冲状态信息。进一步地,所述第一计算单元的输出信息为数值量,根据所述输出信息和路由表确定第二路由包还包括:响应于所述数值量信息在阈值区间内,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为数值量信息,根据所述第二地址信息和所述数值量确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。进一步地,所述第一计算单元的输出信息为脉冲,根据所述输出信息和路由表确定第二路由包包括:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括脉冲状态信息。进一步地,所述第一计算单元的输出信息为脉冲,所述根据所述输出信息和路由表确定第二路由包还包括:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为数值量信息,根据所述脉冲神经元的膜电位获取对应的数值量信息,所述数值量信息为所述脉冲神经元的膜电位、或所述脉冲神经元的膜电位与所述电位阈值的差值;根据所述第二地址信息和所述数值量信息确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。进一步地,所述脉冲信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息;所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生所述第二路由包。第二方面,本发明实施例提供一种异构协同系统,所述系统包括至少两个计算单元;所述计算单元包括:接收模块,被配置为周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷为用于人工神经网络的数值量信息或用于脉冲神经网络计算的脉冲信息;获取模块,被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述第一数据载荷确定输入信息;处理模块,被配置为处理所述输入信息并确定输出信息;确定模块,被配置为根据所述输出信息和路由表确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的计算单元的输入类型匹配;其中,所述路由表包括计算单元的输入类型、地址和路由连接关系;发送模块,被配置为发送所述第二数据包。第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现如上所述的方法。第四方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上所述的方法。本发明实施例根据路由表获取目标计算单元的输入类型,并根据本计算单元的输出信息确定包含有与目标计算单元的输入类型匹配的数据类型的路由包,以传输给目标计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。附图说明通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是本发明实施例的异构协同系统的示意图;图2是本发明实施例的神经网络计算单元的示意图;图3是本发明实施例的一种路由包的示意图;图4是本发明实施例的另一种路由包的示意图;图5是本发明实施例的异构协同系统的一种通信方法的流程图;图6是本发明实施例的异构协同系统的通信方法的一种过程示意图;图7是本发明实施例的异构协同系统的通信方法的另一种过程示意图;图8是本发明实施例的神经网络计算单元的装置示意图。具体实施方式以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。单一的神经网络系统在进行数据处理时,无法满足同时需要精确数值处理和快速响应的场景的计算需求。由此,可以采用人工神经网络和脉冲神经网络的混合计算来满足上述计算需求,但是,目前在进行人工神经网络和脉冲神经网络的混合计算时,往往需要借助额外的通信及信号转换单元,这带来了额外的延时和硬件代价,降低了硬件系统的吞吐率。由此,本发明实施例提供了一种异构协同系统及其通信方法,以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。图1是本发明实施例的异构协同系统的示意图。如图1所示,本实施例的异构协同系统1包括人工神经网络计算单元11-13、脉冲神经网络计算单元14-16以及混合神经网络计算单元17-19。应理解,本发明实施例的异构协同系统包括至少两个计算单元,其中,至少两个计算单元包括至少一个人工神经网络计算单元和至少一个脉冲神经网络计算单元,或包括至少两个混合神经网络计算单元,或包括至少一个人工神经网络计算单元、至少一个脉冲神经网络计算单元以及至少一个混合神经网络计算单元。本发明实施例以异构协同系统1包括三个人工神经网络计算单元、三个脉冲神经网络计算单元以及三个混合神经网络计算单元为例进行说明,应理解,本实施例并不对此进行限制。人工神经网络计算单元11-13的输入和输出均为用于人工神经网络计算的数值量信息。脉冲神经网络计算单元14-16的输入和输出均为用于脉冲神经网络计算的脉冲信息。混合神经网络计算单元17-19具有以下四种模式:1、脉冲神经网络计算模式,也即,在该模式下,混合神经网络计算单元的输入和输出均为用于脉冲神经网络计算的脉冲信息。2、人工神经网络计算模式,也即,在该模式下,混合神经网络计算单元的输入和输出均为用于人工神经网络计算的数值量信息。3、第一混合神经网络计算模式,在该模式下,混合神经网络计算单元的输入为用于脉冲神经网络计算的脉冲信息,输出为用于人工神经网络计算的数值量信息。4、第二混合神经网络计算模式,在该模式下,混合神经网络计算单元的输入为用于人工神经网络计算的数值量信息,输出为用于脉冲神经网络计算的脉冲信息。图2是本实施例的神经网络计算单元的示意图。如图2所示,神经网络计算单元2包括多个神经元21,多个神经元21通过突触22连接,组成单层或多层结构。突触22具有突触权重,其中,突触权重表征突触后神经元接收突触前神经元输出的加权值。在本实施例中,若神经网络计算单元2为人工神经网络计算单元,则神经元21为人工神经元。若神经网络计算单元2为脉冲神经网络计算单元,则神经元21为脉冲神经元。若神经网络计算单元2为混合神经网络计算单元,则神经元21为人工神经元或脉冲神经元,也即混合神经网络计算单元中包括人工神经元和脉冲神经元。其中,脉冲神经元的膜电位具有时间累积效应,其输出为0或1以表征是否有脉冲信息产生。可选的,在脉冲神经元的膜电位到达电位阈值时输出为1,在脉冲神经元的膜电位小于电位阈值时输出为0。人工神经元的输出依据当前突触计算结果经过非线性变换后产生。在一种可选的实现方式中,当给定的待处理任务需要在异构协同系统上执行时,通过预定的映射工具将该给定的待处理任务的参数等信息映射到异构协同系统的各计算单元的配置上,并获取对应的路由表。其中,计算单元的配置包括计算单元内存储的用于突触计算的突触权重,每个计算单元实际可以接收的输入数量和实际需要计算的神经元数量,以及混合神经网络计算单元的计算模式。路由表包括各计算单元的输入类型、地址信息及各计算单元之间的路由连接关系。例如,人工神经网络计算单元11的输入类型为数值量信息,人工神经网络计算单元11的输出为脉冲神经网络计算单元15的输入。在本实施例中,异构协同系统1中的各个计算单元通过路由包的方式进行通信,其中,路由包中包括地址信息和数据载荷,数据载荷包括用于脉冲神经网络计算的脉冲信息或用于人工神经网络计算的数值量信息。其中,用于脉冲神经网络计算的脉冲信息或用于人工神经网络计算的数值量信息均用于表征神经网络计算单元的输出信息。例如,在一个给定的待处理任务对应的路由表中,人工神经网络计算单元11的输出为脉冲神经网络计算单元15的输入。假设人工神经网络计算单元11输出的路由包的传输路径为:人工神经网络计算单元11-人工神经网络计算单元12-脉冲神经网络计算单元15。首先,人工神经网络计算单元11通过查询路由表获取脉冲神经网络计算单元15的地址信息和输入类型也即脉冲信息。然后,人工神经网络计算单元11将包含地址信息和输出信息脉冲信息的路由包m发送至人工神经网络计算单元12,人工神经网络计算单元12判断路由包m中的地址信息与本计算单元的地址信息不匹配,根据地址信息将路由包m转发给脉冲神经网络计算单元15。脉冲神经网络计算单元15判断路由包m中的地址信息与本计算单元的地址信息匹配,从路由包m中获取对应的脉冲信息作为输入信息,并对该输入信息进行处理。图3是本发明实施例的一种路由包的示意图。如图3所示,本实施例的路由包中的数据载荷为脉冲信息。以路由包的长度为32位为例,其中,脉冲信息位于0-7位,地址信息位于8-31位。在本实施例中,脉冲信息包括脉冲状态信息。脉冲状态信息包括强抑制信号标志位IE、强制发放信息标志位FF和脉冲延时信息Delay。其中,脉冲延时信息Delay位于路由包中的0-7位,强制发放信息标志位FF位于第6位,强抑制信号标志位IE位于第7位。地址信息包括水平方向相对距离Dx、垂直方向相对距离Dy和对应的神经网络计算单元内的轴突存储地址A。其中,对应的神经网络计算单元内的轴突存储地址A位于路由包中的8-15位、垂直方向相对距离Dy位于16-23位、水平方向相对距离Dx位于24-31位。可选的,参与计算的神经元的轴突存储地址具有对应的脉冲状态信息,预先存储于路由表中。应理解,各信息在路由包中的长度及其在路由包中的位置仅仅是示例性的,本实施例并不对此进行限制。其中,在神经网络计算单元中,每一个计算单元包括多个表示突触前神经元的轴突,并将多个表示突触前神经元的轴突作为输入,经过突触计算,得到此计算单元内对应所有神经元的树突输入值,传输给神经元计算,之后再将神经元的输出发送到另一个计算单元自身的轴突中。因此,对于计算单元而言,轴突为输入装置,神经元产生输出信息,通过路由网络连接其他或自身计算单元中表示对应该神经元输出轴突的输入装置上。在一种可选的实现方式中,脉冲状态信息预先存储在对应的路由表中,在神经网络计算单元确定路由包时,从路由表中获取该路由包中的轴突存储地址对应的脉冲状态信息。脉冲状态信息中的强抑制信号标志位用于对脉冲信息进行抑制,也即,当脉冲神经元接收到的脉冲信息中的强抑制信号标志位有效,则使得膜电位处于小于电位阈值的状态,例如,将膜电位拉低到最小值,以强制该神经元在该工作周期内不产生路由包。脉冲状态信息中的强制发放信息标志位用于强制产生所述第二路由包,也即,当脉冲神经元接收到的脉冲信息中的强制发放信息标志位有效,则使得膜电位处于大于电位阈值的状态,例如,将膜电位拉高到最大值,以强制该神经元在该工作周期内产生路由包。脉冲状态信息中的脉冲延时信息用于表征该脉冲信息的处理时间,例如,脉冲神经网络计算单元15获取的脉冲信息中的脉冲延时信息为2,则在两个处理周期后处理该脉冲信息。图4是本发明实施例的另一种路由包的示意图。如图4所示,本实施例的路由包中的数据载荷为数值量信息。以路由包的长度为32位为例,其中,数值量信息V位于0-7位,地址信息位于8-31位。在一种可选的实现方式中,数值量信息可以来源于:1对应的输出人工神经元的输出信息。2输出人工神经元在人工神经网络计算单元中的逻辑标号。3输出脉冲神经元的膜电位。4输出脉冲神经元的膜电位与电位阈值之间的差值。5输出脉冲神经元发放的持续时间。地址信息包括水平方向相对距离Dx、垂直方向相对距离Dy和对应的神经网络计算单元内的轴突存储地址A。其中,对应的神经网络计算单元内的轴突存储地址A位于路由包中的16-23位、垂直方向相对距离Dy位于24-31位、水平方向相对距离Dx位于32-39位。应理解,各信息在路由包中的长度及其在路由包中的位置仅仅是示例性的,本实施例并不对此进行限制。下面以路由关系为人工神经网络计算单元12-脉冲神经网络计算单元15-混合神经网络计算单元18为例进行描述。其中,混合神经网络计算单元18的计算模式为:输入输出均为用于人工神经网络计算的数值量信息。在本实施例中,每个计算单元具有对应的数据处理周期,例如,在1us处理一次接收到的数据。在一种可选的实现方式中,在将给定的待处理任务映射至异构协同系统中时,人工神经网络计算单元被预先配置一个发送上阈值和一个发送下阈值,当人工神经网络计算单元中的任一人工神经元输出的数值量在发送上阈值和发送下阈值确定的阈值区间内时,确定并输出一个路由包。其中,由发送上阈值和发送下阈值确定的阈值区间可以包括:1、发送下阈值到发送上阈值之间。2、发送下阈值到最小值和发送上阈值到最大值。3、发送下阈值到最小值。4、发送上阈值到最大值。由此,可以根据给定的待处理任务确定各人工神经网络计算单元对应的阈值区间。人工神经网络计算单元12中的任一人工神经元输出的数值量在其对应的阈值区间例如发送下阈值到发送上阈值之间内,根据输出信息和对应的路由表确定并输出一个路由包。具体地,响应于人工神经元输出的数值量在对应的阈值区间内,从路由表中获取脉冲神经网络计算单元15的地址信息和输入类型。可选的,地址信息包括人工神经网络计算单元12和脉冲神经网络计算单元15在水平方向和垂直方向的相对距离、以及脉冲神经网络计算单元15中的轴突存储地址。响应于脉冲神经网络计算单元15的输入类型为脉冲信息,从路由表中获取脉冲神经网络计算单元15中的轴突存储地址对应的脉冲状态信息。上述输出的路由包包括脉冲神经网络计算单元15的地址信息和第一数据载荷。第一数据载荷包括脉冲神经网络计算单元15中的轴突存储地址对应的脉冲状态信息。如图1所示,该路由包可以直接传输至目标神经网络计算单元也即脉冲神经网络计算单元15,在脉冲神经网络计算单元15接收到路由包后,确定自身的地址信息与路由包中的地址信息匹配,则从路由包中获取脉冲信息并存储至对应的轴突存储地址中,以在以后处理周期开始后对该脉冲信息进行处理。在本实施例中,脉冲信息的接收采用地址时间表示法AER,AddressEventRepresentation,也即通过接收端有无接收到路由包来表示接收端有无脉冲输入。在本实施例中,在脉冲神经网络计算单元15接收到来自人工神经网络计算单元12的路由包时,表示一个脉冲输入到脉冲神经网络计算单元15中的轴突存储地址中。具体地,脉冲神经网络计算单元15每接收到一个发送到自己的路由包时,在对应的轴突存储地址存入1表示存在脉冲输入,并存储对应的脉冲状态信息,以在对应的处理周期进行脉冲神经网络计算,其中,没有存储1的轴突存储地址中的数据为0。在脉冲神经网络计算单元15进行数据处理时,响应于脉冲神经网络计算单元15中的脉冲神经元的膜电位大于电位阈值,输出一个路由包,或在该脉冲神经元对应的脉冲状态信息中的强制发放信息标志位FF有效,根据输出信息和对应的路由表输出一个路由包。在一种可选的实现方式中,响应于脉冲神经元的膜电位达到电位阈值,从路由表中获取混合神经网络计算单元18的地址信息和输入类型。响应于混合神经网络计算单元18的输入类型为数值量信息,根据脉冲神经元的膜电位确定一个包含数值量信息的路由包。也即,上述输出的路由包包括混合神经网络计算单元18的地址信息和第二数据载荷,第二数据载荷包括脉冲神经网络计算单元15的输出信息对应的数值量信息。在一种可选的实现方式中,该数值量信息为对应的输出脉冲神经元的内部状态信息,例如,输出脉冲神经元的膜电位、脉冲神经元的膜电位与电位阈值的差值或脉冲神经元发放的持续时间等。在选择输出神经元的膜电位作为数值量信息时,对输出神经元当前时刻的膜电位进行饱和截取得到的8bit数据作为数值量信息。可选的,地址信息包括脉冲神经网络计算单元15和混合神经网络计算单元18在水平方向和垂直方向的相对距离,以及混合神经网络计算单元18的轴突存储地址。如图1所示,该路由包可以直接传输到目标神经网络计算单元也即混合神经网络计算单元18,在混合神经网络计算单元18接收到路由包后,确定自身的地址信息与路由包中的地址信息匹配,则从路由包中获取数值量信息并存储至对应的轴突存储地址中。在轴突存储地址没有对应的路由包时,该轴突存储地址中的数据保持为预先设置的默认值,混合神经网络计算单元18在处理周期中对参与处理的各神经元对应的轴突存储地址中的数据进行人工神经网络计算,以更新各神经元的状态,并输出处理结果。本实施例根据计算单元的输出信息和路由表确定包含有用于人工神经网络计算的数值量信息或用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。图5是本发明实施例的异构协同系统的通信方法的流程图。如图5所示,本实施例的异构协同系统的通信方法包括以下步骤:步骤S100,第一计算单元周期性地接收第一路由包。其中,第一路由包包括第一地址信息和第一数据载荷,第一数据载荷包括用于人工神经网络计算的数值量信息或用于脉冲神经网络计算的脉冲信息。步骤S200,响应于第一地址信息与第一计算单元的地址信息匹配,第一计算单元根据第一数据载荷确定输入信息。其中,第一地址信息包括第一路由包的输出计算单元与目标计算单元的相对位置信息以及在目标计算单元中对应的轴突存储地址。也即,在第一地址信息与第一计算单元的地址信息匹配时,确定第一计算单元为目标计算单元。脉冲信息包括脉冲状态信息,脉冲状态信息强抑制信号标志位、强制发放信息标志位和脉冲延时信息。若第一计算单元的类型为脉冲神经网络计算单元,或被配置为脉冲神经网络计算模式的混合神经网络计算单元,或被配置为第一混合神经网络计算模式的混合神经网络计算单元,则第一数据载荷为脉冲信息。其中,从第一数据载荷中获取脉冲信息,将对应的轴突存储地址中存储1,并从第一数据载荷中获取并存储对应的脉冲状态信息。若第一计算单元的类型为人工神经网络计算单元,或被配置为人工神经网络计算模式的混合神经网络计算单元,或被配置为第二混合神经网络计算模式的混合神经网络计算单元,则第一数据载荷为数值量信息。其中,从第一数据载荷中获取数值量信息,并将其存储至对应的轴突存储地址中。步骤S300,处理输入信息并确定输出信息。在处理周期中,第一计算单元对轴突存储地址中存储的输入信息进行处理,以更新各个神经元的状态,并确定输出信息。其中,若第一计算单元的类型为脉冲神经网络计算单元,则根据脉冲延时信息对当前处理周期能够处理的输入信息进行处理,以确定输出信息。步骤S400,根据输出信息和路由表确定第二路由包。其中,第二路由包包括第二地址信息和第二数据载荷,第二数据载荷的类型与第二地址信息对应的第二计算单元的输入类型匹配。例如,第二地址信息对应的第二计算单元的输入类型为脉冲信息,则第二数据载荷为脉冲信息。路由表包括参与数据处理的计算单元的输入类型、地址信息和路由连接关系。在一种可选的实现方式中,当给定的待处理任务需要在异构协同系统上执行时,通过预定的映射工具将该给定的待处理任务的参数等信息映射到异构协同系统的各计算单元的配置上,并生成对应的路由表。路由表包括参与数据处理的各计算单元的地址信息、输入类型、各计算单元之间的路由连接关系以及各计算单元中的轴突存储地址对应的脉冲状态信息。由此,在神经网络计算单元确定路由包时,可以从路由表中获取本计算单元与目标计算单元也即第一计算单元和第二计算单元的位置信息、对应的轴突存储地址以及目标计算单元的输入类型。若本计算单元为脉冲神经网络计算单元,或被配置为脉冲神经网络计算模式的混合神经网络计算单元,或被配置为第一混合神经网络计算模式的混合神经网络计算单元,在一种可选的实现方式中,在输出脉冲神经元的膜电位达到电位阈值,根据输出信息和路由表确定第二路由包。具体地,首先从路由表中获取对应的目标计算单元的输入类型,在目标计算单元的输入类型为数值量信息时,上述确定的第二路由包包括目标计算单元的地址信息和输出信息对应的数值量信息,其中,数值量信息可以为输出脉冲神经元的膜电位、输出脉冲神经元的膜电位与电位阈值之间的差值或输出脉冲神经元发放的持续时间等。在目标计算单元的输入类型为脉冲信息时,上述确定的第二路由包包括目标计算单元的地址信息和脉冲信息,其中,脉冲信息包括从路由表中获取的目标计算单元的地址信息中的轴突存储地址对应的脉冲状态信息。若本计算单元为人工神经网络计算单元或被配置为人工神经网络计算模式的混合神经网络计算单元,或被配置为第一混合神经网络计算模式的混合神经网络计算单元,在一种可选的实现方式中,在输出人工神经元的数值量在阈值区间例如发送下阈值到发送上阈值之间时,根据输出信息和路由表确定第二路由包。具体地,首先从路由表中获取对应的目标计算单元的输入类型,在目标计算单元的输入类型为数值量信息时,上述确定的第二路由包包括目标计算单元的地址信息和输出信息对应的数值量信息,其中,数值量信息可以为输出人工神经元的输出信息或输出人工神经元在本计算单元中的逻辑标号等。在目标计算单元的输入类型为脉冲信息时,上述确定的第二路由包包括目标计算单元的地址信息和脉冲信息,其中,脉冲信息包括从路由表中获取的目标计算单元的地址信息中的轴突存储地址对应的脉冲状态信息。步骤S500,发送所述第二路由包。本实施例根据路由表获取目标计算单元的输入类型,并根据本计算单元的输出信息确定包含有与目标计算单元的输入类型匹配的数据类型的路由包,以传输给目标计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。在一个可选的实现方式中,当一个计算单元的输出为多个计算单元的输入时,可以采用多播复制模式进行通信。本实施例的通信方法还包括:根据路由表将第一路由包中的地址信息更新为第二目标计算单元的地址信息,并发送更新后的第一路由包。例如,本计算单元为脉冲神经网络计算单元14,目标计算单元为人工神经网络计算单元12和脉冲神经网络计算单元15。脉冲神经网络计算单元14输出第一路由包,其中,第一路由包中的地址信息为脉冲神经网络计算单元15。脉冲神经网络计算单元15接收第一路由包,从第一路由包中获取脉冲信息,然后第一路由包中的地址信息更新为人工神经网络计算单元12的地址信息,并将第一路由包中的数据载荷更新为脉冲信息对应的数值量信息,将更新后的第一路由包发送给人工神经网络计算单元12。由此,对于同一个输出,脉冲神经网络计算单元14只需要生成一个路由包即可,减小了延时时间,提高了数据处理效率。同时,可以增加异构协同系统支持的算法的复杂性,提高了异构协同系统的实用性。在一种可选的实现方式中,本实施例的通信方法还包括:响应于第一地址信息与本计算单元的地址信息不匹配,根据路由表发送第一路由包。例如,如图1所示,假设本计算单元为脉冲神经网络计算单元14,目标计算单元为混合神经网络计算单元18,则脉冲神经网络计算单元14先将路由包发送给脉冲神经网络计算单元15或混合神经网络极端单元17,脉冲神经网络计算单元15或混合神经网络极端单元17判断第一路由包中的地址信息与本计算单元的地址信息不匹配,根据地址信息转发该第一路由包至混合神经网络计算单元18。图6是本发明实施例的异构协同系统的一种通信方法的过程示意图。如图6所示,计算单元的输入输出包括以下方式:1输出神经元为人工神经元,目标神经元也为人工神经元也即本计算单元的输出和目标计算单元的输入均为数值量信息。本计算单元从路由表中获取目标计算单元的地址信息和输入类型也即数值量信息。本计算单元的人工神经元61输出数值量信息并发送至本计算单元的发送模块,在满足预定条件时确定路由包a,将路由包a发送至目标计算单元的接收模块,接收模块从路由包a中获取数值量信息并将其存储至目标神经元也即人工神经元62对应的轴突存储地址中。其中,路由包a包括目标计算单元的地址信息和包含数值量信息的数据载荷。2输出神经元为人工神经元,目标神经元为脉冲神经元也即本计算单元的输出为数值量信息,目标计算单元的输入为脉冲信息。本计算单元从路由表中获取目标计算单元的地址信息和输入类型也即脉冲信息。本计算单元的人工神经元63输出数值量信息并发送至本计算单元的发送模块,在满足条件时从路由表中获取目标计算单元对应的脉冲状态信息以确定路由包b,将路由包b发送至目标计算单元的接收模块,接收模块从路由包b中获取脉冲信息并存储,也即将目标神经元脉冲神经元64对应的轴突存储地址中存储1,并存储对应的脉冲状态信息。3输出神经元为脉冲神经元,目标神经元也为脉冲神经元也即本计算单元的输出和目标计算单元的输入均为脉冲信息。本计算单元从路由表中获取目标计算单元的地址信息和输入类型也即脉冲信息。本计算单元的脉冲神经元65输出脉冲信息并发送至本计算单元的发送模块,在满足条件时从路由表中获取目标计算单元对应的脉冲状态信息以确定路由包c,将路由包c发送至目标计算单元的接收模块,接收模块从路由包c中获取脉冲信息并存储也即将目标神经元脉冲神经元66对应的轴突存储地址中存储1,并存储对应的脉冲状态信息。4输出神经元为脉冲神经元,目标神经元为人工神经元也即本计算单元的输出为脉冲信息,目标计算单元的输入为数值量信息。本计算单元从路由表中获取目标计算单元的地址信息和输入类型也即数值量信息。本计算单元的脉冲神经元67输出脉冲信息并发送至本计算单元的发送模块,在满足条件时获取脉冲神经元67的膜电位或膜电位与电位阈值的差值以确定路由包d,将路由包d发送至目标计算单元的接收模块,接收模块从路由包d中获取数值量信息并将其存储至目标神经元也即人工神经元68对应的轴突存储地址中。其中,路由包a包括目标计算单元的地址信息和包含数值量信息的数据载荷。本实施例根据路由表获取目标计算单元的输入类型,并根据本计算单元的输出信息确定包含有与目标计算单元的输入类型匹配的数据类型的路由包,以传输给目标计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。图7是本发明实施例的异构协同系统的通信方法的另一种过程示意图。如图7所示,异构协同系统包括计算单元71和计算单元72。其中计算单元71包括接收模块711、发送模块712和人工神经元713。计算单元72接收模块721、发送模块722和脉冲神经元723。计算单元71和计算单元72均为路由包X中的数据的目标计算单元。如图7所示,计算单元71中的接收模块711接收路由包X并获取其中的数值量信息发送给人工神经元713,接收模块711将路由包X发送给发送模块712。发送模块712从对应的路由表中获取计算单元72的地址信息和计算单元72的输入类型也即脉冲信息,并将路由包X中的地址信息更新为计算单元72的地址信息,将数据载荷中的数值量信息更新为对应的脉冲信息,生成并发送路由包X'。其中,脉冲信息包括从路由表中获取的计算单元72对应的脉冲状态信息。容易理解,路由包X和路由包X'中的数据信息相同。计算单元72中的接收模块721接收路由包X',并获取路由包X'中的脉冲信息发送给脉冲神经元723。若还有其他路由包X的目标计算单元,计算单元72中的发送单元可以将路由包X'中的地址信息更新为其他目标计算单元的地址信息,将数据载荷中的信息更新为其他目标计算单元的输入类型对应的输入信息,并发送更新后的路由包X'。在本实施例中,在输出计算单元对应多个目标计算单元时,对于输出计算单元的同一个输出,只需要生成一个路由包即可,这减小了延时时间,提高了数据处理效率。同时,可以增加异构协同系统支持的算法的复杂性,提高了异构协同系统的实用性。图8是本发明实施例的计算单元的装置示意图。如图8所示,本实施例的计算单元8包括接收模块81、获取模块82、处理模块83、确定模块84以及发送模块85。其中,接收模块81被配置为接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络的数值量信息或用于脉冲神经网络计算的脉冲信息。所述脉冲信息包括脉冲状态信息,所述脉冲状态信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息。所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生路由包。其中,脉冲状态信息预先存储在路由表中,所述路由表根据待处理任务获取。获取模块82被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述第一数据载荷确定输入信息。处理模块83被配置为处理所述输入信息并确定输出信息。其中,在计算单元为人工神经网络计算单元时,处理模块83包括多个人工神经元。在计算单元8为脉冲神经网络计算单元时,处理模块83包括多个脉冲神经元。在计算单元8为混合神经网络计算单元时,处理模块83包括多个人工神经元和多个脉冲神经元。确定模块84被配置为根据输出信息和路由表确定第二路由包,所述第二路由包包括第二地址和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的计算单元的输入类型匹配。其中,所述路由表包括计算单元的输入类型、地址和路由连接关系。发送模块85被配置为发送所述第二数据包。在一种可选的实现方式中,所述计算单元的输出信息为数值量,确定模块84进一步被配置为:响应于所述数值量在阈值区间内,从所述路由表中获取第二地址信息和对应的计算单元的输入类型;响应于所述对应的计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括所述脉冲状态信息。在一种可选的实现方式中,所述计算单元的输出信息为数值量,确定模块84进一步被配置为:响应于所述数值量信息在阈值区间内,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为数值量信息,根据所述第二地址信息和所述数值量确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。在一种可选的实现方式中,所述计算单元的输出信息为脉冲,确定模块84进一步被配置为:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和对应的计算单元的输入类型;响应于所述对应的计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括脉冲状态信息。在一种可选的实现方式中,所述计算单元的输出信息为脉冲,确定模块84进一步被配置为:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;根据所述脉冲神经元的膜电位获取对应的数值量信息,所述数值量信息为所述脉冲神经元的膜电位、或所述脉冲神经元的膜电位与所述电位阈值的差值;根据所述第二地址信息和所述数值量信息确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。在一种可选的实现方式中,计算单元8还包括更新单元86。更新单元86被配置为更新所述第一地址信息和数据载荷的数据类型,发送更新后的所述第一路由包。本实施例根据路由表获取目标计算单元的输入类型,并根据本计算单元的输出信息确定包含有与目标计算单元的输入类型匹配的数据类型的路由包,以传输给目标计算单元,由此,可以使得传递不同的数据类型复用统一格式的路由包,减少了不同类型的计算单元之间数据传输所需的代价,进而减少延迟时间,提高数据处理效率,同时提高异构协同系统的通用性和灵活性。以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种异构协同系统的通信方法,其特征在于,所述系统包括至少两个计算单元,所述方法包括:第一计算单元周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷与所述第一计算单元的输入类型相匹配,所述第一数据载荷为用于人工神经网络计算的数值量信息或用于脉冲神经网络计算的脉冲信息;响应于所述第一地址信息与所述第一计算单元的地址信息匹配,所述第一计算单元根据所述第一数据载荷确定输入信息;处理所述输入信息并确定输出信息;根据所述输出信息和路由表确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的第二计算单元的输入类型匹配;其中,所述路由表包括计算单元的输入类型、地址信息和路由连接关系;发送所述第二路由包。2.根据权利要求1所述的方法,其特征在于,所述至少两个计算单元包括至少一个人工神经网络计算单元和至少一个脉冲神经网络计算单元;或者所述至少两个计算单元包括至少两个同时支持人工神经网络计算和脉冲神经网络计算的混合神经网络计算单元;或者所述至少两个计算单元包括至少一个人工神经网络计算单元、至少一个脉冲神经网络计算单元和至少一个混合神经网络计算单元。3.根据权利要求1所述的方法,其特征在于,所述第一计算单元的输出信息为数值量,根据所述输出信息和路由表确定第二路由包包括:响应于所述数值量在阈值区间内,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括所述脉冲状态信息。4.根据权利要求1所述的方法,其特征在于,所述第一计算单元的输出信息为数值量,根据所述输出信息和路由表确定第二路由包还包括:响应于所述数值量信息在阈值区间内,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为数值量信息,根据所述第二地址信息和所述数值量确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。5.根据权利要求1所述的方法,其特征在于,所述第一计算单元的输出信息为脉冲,根据所述输出信息和路由表确定第二路由包包括:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为脉冲信息,从所述路由表中获取对应的脉冲状态信息;根据所述第二地址信息和所述对应的脉冲状态信息确定所述第二路由包,所述第二路由包中的第二数据载荷为脉冲信息;其中,所述脉冲信息包括脉冲状态信息。6.根据权利要求1所述的方法,其特征在于,所述第一计算单元的输出信息为脉冲,所述根据所述输出信息和路由表确定第二路由包还包括:响应于脉冲神经元的膜电位达到电位阈值,从所述路由表中获取第二地址信息和所述第二计算单元的输入类型;响应于所述第二计算单元的输入类型为数值量信息,根据所述脉冲神经元的膜电位获取对应的数值量信息,所述数值量信息为所述脉冲神经元的膜电位、或所述脉冲神经元的膜电位与所述电位阈值的差值;根据所述第二地址信息和所述数值量信息确定所述第二路由包,所述第二路由包中的第二数据载荷为数值量信息。7.根据权利要求3或5中任一项所述的方法,其特征在于,所述脉冲信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息;所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生所述第二路由包。8.一种异构协同系统,其特征在于,所述系统包括至少两个计算单元;所述计算单元包括:接收模块,被配置为周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷为用于人工神经网络的数值量信息或用于脉冲神经网络计算的脉冲信息;获取模块,被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述第一数据载荷确定输入信息;处理模块,被配置为处理所述输入信息并确定输出信息;确定模块,被配置为根据所述输出信息和路由表确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷的类型与所述第二地址信息对应的计算单元的输入类型匹配;其中,所述路由表包括计算单元的输入类型、地址和路由连接关系;发送模块,被配置为发送所述第二数据包。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行以实现权利要求1-7中任一项所述的方法。10.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的方法。

百度查询: 北京灵汐科技有限公司 一种异构协同系统及其通信方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术