CN110213165A - 一种异构协同系统及其通信方法 - Google Patents
一种异构协同系统及其通信方法 Download PDFInfo
- Publication number
- CN110213165A CN110213165A CN201910487098.0A CN201910487098A CN110213165A CN 110213165 A CN110213165 A CN 110213165A CN 201910487098 A CN201910487098 A CN 201910487098A CN 110213165 A CN110213165 A CN 110213165A
- Authority
- CN
- China
- Prior art keywords
- information
- computing unit
- neural networks
- pulse
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种异构协同系统及其通信方法,根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种异构协同系统及其通信方法。
背景技术
神经网络是一种模仿生物大脑突触-神经元结构进行数据处理的计算系统,由分为多层的计算节点和层间的连接组成。神经网络具有强大的非线性和自适应数据处理能力。
目前典型的神经网络包括人工神经网络和脉冲神经网络。人工神经网络基于对神经元模型的简化和对大脑网络的高度抽象,将人工神经元按一定结构连接成网络,其输入输出均为数值量信息,借鉴大脑分层结构,可以构建较深的网络模型,在特征提取、模式识别等问题上展现出显著优势。但数值量信息在一定程度上丢失了时间信息,大规模网络消耗较多计算资源,能耗较高。
脉冲神经网络更贴近实际生物模型,利用微分方程对神经元建模,输入输出为用0/1表示的脉冲序列,通过膜电位累计与阈值发放完成计算任务,具有网络动力学特性,蕴含丰富的时间信息,在处理序列问题上具有一定优势,事件驱动的处理模式也带来低功耗特性。但其在运算精度、大规模数据和网络上有待提升。由此,单独采用人工神经网络或脉冲神经网络都无法处理复杂的人工通用智能的任务场景,例如同时需要精确数值和快速响应的任务场景。
发明内容
有鉴于此,本发明实施例提供了一种异构协同系统及其通信方法,以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
第一方面,发明实施例提供一种异构协同系统的通信方法,所述系统包括至少两个计算单元,所述方法包括:
周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息;
响应于所述第一地址信息与本计算单元的地址信息匹配,根据所述本计算单元的类型和所述第一数据载荷获取所述数值量信息或所述脉冲信息作为输入信息;
处理所述输入信息确定输出信息;
根据所述输出信息确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷包括所述输出信息对应的数值量信息和脉冲信息;
发送所述第二路由包。
本实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
进一步地,所述至少两个计算单元包括至少一个人工神经网络计算单元和至少一个脉冲神经网络计算单元;或者
所述至少两个计算单元包括至少两个同时支持人工神经网络计算和脉冲神经网络计算的混合神经网络计算单元;或者
所述至少两个计算单元包括至少一个人工神经网络计算单元、至少一个脉冲神经网络计算单元和至少一个混合神经网络计算单元。
进一步地,所述输出信息为数值量,根据所述输出信息确定第二路由包包括:
响应于所述数值量在阈值区间,确定所述第二路由包。
进一步地,所述输出信息为脉冲,根据所述输出信息确定第二路由包包括:
响应于脉冲神经元的膜电位到达电位阈值,确定所述第二路由包。
进一步地,所述脉冲信息包括脉冲状态信息,所述脉冲状态信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息;
所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生所述第二路由包。
进一步地,所述方法还包括:
根据待处理任务生成对应的路由表,所述路由表包括路由连接关系和所述脉冲状态信息。
进一步地,所述方法还包括:
更新所述第一路由表中的第一地址信息,发送更新后的所述第一路由包。
在本实施例中,在输出计算单元对应多个目标计算单元时,对于输出计算单元的同一个输出,只需要生成一个路由包即可,这减小了延时时间,提高了数据处理效率。同时,可以增加异构协同系统支持的算法的复杂性,提高了异构协同系统的实用性。
第二方面,本发明实施例提供一种异构协同系统,所述系统包括至少两个计算单元;
所述计算单元包括:
接收模块,被配置为接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络的数值量信息和用于脉冲神经网络计算的脉冲信息;
获取模块,被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述计算单元的类型和所述第一数据载荷获取所述数值量信息或所述脉冲信息作为输入信息;
处理模块,被配置为处理所述输入信息以确定输出信息;
确定模块,被配置为根据输出信息确定第二路由包,所述第二路由包包括第二地址和第二数据载荷,所述第二数据载荷包括所述输出信息对应的数值量信息和脉冲信息;
发送模块,被配置为发送所述第二数据包。
第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现如上所述的方法。
第四方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上所述的方法。
本发明实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的异构协同系统的示意图;
图2是本发明实施例的神经网络计算单元的示意图;
图3是本发明实施例的路由包的示意图;
图4是本发明实施例的异构协同系统的一种通信方法的流程图;
图5是本发明实施例的异构协同系统的通信方法的一种过程示意图;
图6是本发明实施例的异构协同系统的通信方法的另一种过程示意图;
图7是本发明实施例的神经网络计算单元的装置示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
单一的神经网络系统在进行数据处理时,无法满足同时需要精确数值处理和快速响应的场景的计算需求。由此,可以采用人工神经网络和脉冲神经网络的混合计算来满足上述计算需求,但是,目前在进行人工神经网络和脉冲神经网络的混合计算时,往往需要借助额外的通信及信号转换单元,这带来了额外的延时和硬件代价,降低了硬件系统的吞吐率。由此,本发明实施例提供了一种异构协同系统及其通信方法,以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
图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的输出为脉冲神经网络计算单元15的输入。
在本实施例中,异构协同系统1中的各个计算单元通过路由包的方式进行通信,其中,路由包中包括地址信息和数据载荷,数据载荷包括用于脉冲神经网络计算的脉冲信息和用于人工神经网络计算的数值量信息。其中,用于脉冲神经网络计算的脉冲信息和用于人工神经网络计算的数值量信息均用于表征神经网络计算单元的输出信息。例如,在一个给定的待处理任务对应的路由表中,人工神经网络计算单元11的输出为脉冲神经网络计算单元15的输入。假设人工神经网络计算单元11输出的路由包的传输路径为:人工神经网络计算单元11-人工神经网络计算单元12-脉冲神经网络计算单元15。人工神经网络计算单元11将包含地址信息和输出信息的路由包m发送至人工神经网络计算单元12,人工神经网络计算单元12判断路由包m中的地址信息与本计算单元的地址信息不匹配,根据地址信息将路由包m转发给脉冲神经网络计算单元15。脉冲神经网络计算单元15判断路由包m中的地址信息与本计算单元的地址信息匹配,从路由包m中获取对应的脉冲信息作为输入信息,并对该输入信息进行处理。
图3是本发明实施例的路由包的示意图。如图3所示,本实施例中的路由包的长度以40位为例,其中,数值量信息V位于0-7位,脉冲信息位于8-15位,地址信息位于16-39位。在本实施例中,脉冲信息包括脉冲状态信息。脉冲状态信息包括强抑制信号标志位IE、强制发放信息标志位FF和脉冲延时信息Delay。其中,脉冲延时信息Delay位于路由包中的8-13位,强制发放信息标志位FF位于14位,强抑制信号标志位IE位于15位。地址信息包括水平方向相对距离Dx、垂直方向相对距离Dy和对应的神经网络计算单元内的轴突存储地址A。其中,对应的神经网络计算单元内的轴突存储地址A位于路由包中的16-23位、垂直方向相对距离Dy位于24-31位、水平方向相对距离Dx位于32-39位。可选的,参与计算的神经元的轴突存储地址具有对应的脉冲状态信息。应理解,各信息在路由包中的长度及其在路由包中的位置仅仅是示例性的,本实施例并不对此进行限制。
其中,在神经网络计算单元中,每一个计算单元包括多个表示突触前神经元的轴突,并将多个表示突触前神经元的轴突作为输入,经过突触计算,得到此计算单元内对应所有神经元的树突输入值,传输给神经元计算,之后再将神经元的输出发送到另一个计算单元/自身的轴突中。因此,对于计算单元而言,轴突为输入装置,神经元产生输出信息,通过路由网络连接其他(或自身)计算单元中表示对应该神经元输出轴突的输入装置上。
在一种可选的实现方式中,脉冲状态信息预先存储在对应的路由表中,在神经网络计算单元确定路由包时,从路由表中获取该路由包中的轴突存储地址对应的脉冲状态信息。强抑制信号标志位用于对脉冲信息进行抑制,也即,当脉冲神经元接收到的脉冲信息中的强抑制信号标志位有效,则使得膜电位处于小于电位阈值的状态,例如,将膜电位拉低到最小值,以强制该神经元在该工作周期内不产生路由包。强制发放信息标志位用于强制产生所述第二路由包,也即,当脉冲神经元接收到的脉冲信息中的强制发放信息标志位有效,则使得膜电位处于大于电位阈值的状态,例如,将膜电位拉高到最大值,以强制该神经元在该工作周期内产生路由包。脉冲延时信息用于表征该脉冲信息的处理时间,例如,脉冲神经网络计算单元15获取的脉冲信息中的脉冲延时信息为2,则在两个处理周期后处理该脉冲信息。
下面以路由关系为人工神经网络计算单元12-脉冲神经网络计算单元15-混合神经网络计算单元18为例进行描述。其中,混合神经网络计算单元18的计算模式为:输入输出均为用于人工神经网络计算的数值量信息。在本实施例中,每个计算单元具有对应的数据处理周期,例如,在1us处理一次接收到的数据。
在一种可选的实现方式中,在将给定的待处理任务映射至异构协同系统中时,人工神经网络计算单元被预先配置一个发送上阈值和一个发送下阈值,当人工神经网络计算单元中的任一人工神经元输出的数值量在发送上阈值和发送下阈值确定的阈值区间内时,确定并输出一个路由包。其中,由发送上阈值和发送下阈值确定的阈值区间可以包括:1、发送下阈值到发送上阈值之间。2、发送下阈值到最小值和发送上阈值到最大值。3、发送下阈值到最小值。4、发送上阈值到最大值。由此,可以根据给定的待处理任务确定各人工神经网络计算单元对应的阈值区间。
人工神经网络计算单元12中的任一人工神经元输出的数值量在其对应的阈值区间(例如发送下阈值到发送上阈值之间)内,确定并输出一个路由包。其中,该路由包包括脉冲神经网络计算单元15的地址信息和第一数据载荷。地址信息包括人工神经网络计算单元12和脉冲神经网络计算单元15在水平方向和垂直方向的相对距离、以及对应的脉冲神经网络计算单元15中的轴突存储地址。第一数据载荷包括输出人工神经元对应的数值量信息以及轴突存储地址对应的脉冲状态信息。在一种可选的实现方式中,输出人工神经元对应的数值量信息可以为对应的输出人工神经元输出的数值量、或输出人工神经元在人工神经网络计算单元12中的逻辑标号。如图1所示,该路由包可以直接传输至目标神经网络计算单元(也即脉冲神经网络计算单元15),在脉冲神经网络计算单元15接收到路由包后,确定自身的地址信息与路由包中的地址信息匹配,则从路由包中获取脉冲信息并存储至对应的轴突存储地址中,以在以后的处理周期中对该脉冲信息进行处理。
在本实施例中,脉冲信息的接收采用地址时间表示法(AER,Address EventRepresentation),也即通过接收端有没有接收到路由包来表示接收端有没有脉冲输入。在本实施例中,在脉冲神经网络计算单元15接收到来自人工神经网络计算单元12的路由包时,表示一个脉冲输入到脉冲神经网络计算单元15中对应的轴突存储地址中。具体地,脉冲神经网络计算单元15每接收到一个发送到自己的路由包时,在对应的轴突存储地址存入1表示存在脉冲输入,并存储对应的脉冲状态信息,以在对应的处理周期进行脉冲神经网络计算,其中,没有存储1的轴突存储地址中的数据为0。
在脉冲神经网络计算单元15进行数据处理时,响应于脉冲神经网络计算单元15中的脉冲神经元的膜电位大于电位阈值,输出一个路由包,或在该脉冲神经元对应的脉冲状态信息中的强制发放信息标志位FF有效,输出一个路由包。其中,该路由包包括混合神经网络计算单元18的地址信息和第二数据载荷。地址信息包括脉冲神经网络计算单元15和混合神经网络计算单元18在水平方向和垂直方向的相对距离,以及混合神经网络计算单元18中的一个轴突存储地址。第二数据载荷包括混合神经网络计算单元18中的轴突存储地址对应的脉冲状态信息以及输出脉冲神经元的输出信息对应的数值量信息。在一种可选的实现方式中,该数值量信息可以为对应的输出脉冲神经元的内部状态信息,例如,输出脉冲神经元的膜电位或脉冲神经元的膜电位与电位阈值的差值。在选择输出神经元的膜电位作为数值量信息时,对输出神经元当前时刻的膜电位进行饱和截取得到的8bit数据作为数值量信息。如图1所示,该路由包可以直接传输到目标神经网络计算单元(也即混合神经网络计算单元18),在混合神经网络计算单元18接收到路由包后,确定自身的地址信息与路由包中的地址信息匹配,则从路由包中获取数值量信息并存储至对应的轴突存储地址中,在轴突存储地址没有对应的路由包时,该轴突存储地址中的数据保持为预先设置的默认值,混合神经网络计算单元18在处理周期中对参与处理的各神经元对应的轴突存储地址中的数据进行人工神经网络计算,以更新各神经元的状态,并输出处理结果。
本实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,不需要数据转换单元便可以实现不同类型的计算单元之间的通信,减少了不同类型的计算单元之间数据传输所需的代价,进而减小了延迟时间,提高了数据处理效率。
图4是本发明实施例的异构协同系统的通信方法的流程图。如图4所示,本实施例的异构协同系统的通信方法包括以下步骤:
步骤S100,周期性地接收第一路由包。其中,第一路由包包括第一地址信息和第一数据载荷,第一数据载荷包括用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息。
步骤S200,响应于第一地址信息与本计算单元的地址信息匹配,根据本计算单元的类型和第一数据载荷,在第一数据载荷中获取与本计算单元对应的数值量信息或脉冲信息作为输入信息。其中,第一地址信息包括第一路由包的输出计算单元与目标计算单元的相对位置信息以及在目标计算单元中对应的轴突存储地址。也即,在第一地址信息与本计算单元的地址信息匹配时,确定本计算单元为目标计算单元。脉冲信息包括脉冲状态信息,脉冲状态信息强抑制信号标志位、强制发放信息标志位和脉冲延时信息。
若本计算单元的类型为脉冲神经网络计算单元,或被配置为脉冲神经网络计算模式的混合神经网络计算单元,或被配置为第一混合神经网络计算模式的混合神经网络计算单元,则从第一数据载荷中获取脉冲信息,也即,将对应的轴突存储地址中存储1,并从第一数据载荷中获取并存储对应的脉冲状态信息。
若本计算单元的类型为人工神经网络计算单元,或被配置为人工神经网络计算模式的混合神经网络计算单元,或被配置为第二混合神经网络计算模式的混合神经网络计算单元,则从第一数据载荷中获取数值量信息,并将其存储至对应的轴突存储地址中。
步骤S300,处理输入信息确定输出信息。在处理周期中,本计算单元对轴突存储地址中存储的输入信息进行处理,以更新各个神经元的状态,并确定输出信息。其中,若本计算单元的类型为脉冲神经网络计算单元,则根据脉冲延时信息对当前处理周期能够处理的输入信息进行处理,以确定输出信息。
步骤S400,根据输出信息确定第二路由包。其中,第二路由包包括第二地址信息和第二数据载荷。第二数据载荷包括该输出信息对应的数值量信息和脉冲信息。
在一种可选的实现方式中,当给定的待处理任务需要在异构协同系统上执行时,通过预定的映射工具将该给定的待处理任务的参数等信息映射到异构协同系统的各计算单元的配置上,并生成对应的路由表。路由表包括各计算单元之间的路由连接关系以及各计算单元对应的脉冲状态信息。由此,在神经网络计算单元确定路由包时,可以从路由表中获取本计算单元与目标计算单元的位置信息、对应的轴突存储地址以及该轴突存储地址对应的脉冲状态信息。
若本计算单元为脉冲神经网络计算单元,或被配置为脉冲神经神经网络计算模式的混合神经网络计算单元,或被配置为第二混合神经网络计算模式的混合神经网络计算单元,在一种可选的实现方式中,在输出脉冲神经元的膜电位达到电位阈值,确定第二路由包。其中,对应的数值量信息可以为输出神经元对应的膜电位或输出神经元对应的膜电位与电位阈值的差值,对应的脉冲信息包括目标计算单元对应的脉冲状态信息。
若本计算单元为人工神经网络计算单元,或被配置为人工神经网络计算模式的混合神经网络计算单元,或被配置为第一混合神经网络计算模式的混合神经网络计算单元,在一种可选的实现方式中,在输出人工神经元的数值量在阈值区间(例如发送下阈值到发送上阈值之间)时,确定第二路由包。其中,对应的数值量信息可以为输出人工神经元的输出信息或输出人工神经元在人工神经网络计算单元或混合神经网络计算单元中的逻辑标号,对应的脉冲信息包括地址信息中的轴突存储地址对应的脉冲状态信息。
步骤S500,发送所述第二路由包。
本实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,不需要数据转换单元便可以实现不同类型的计算单元之间的通信,减少了不同类型的计算单元之间数据传输所需的代价,进而减小了延迟时间,提高了数据处理效率。
在一个可选的实现方式中,当一个计算单元的输出为多个计算单元的输入时,可以采用多播复制模式进行通信。本实施例的通信方法还包括:
根据路由表将第一路由包中的地址信息更新为第二目标计算单元的地址信息,并发送更新后的第一路由包。例如,本计算单元为脉冲神经网络计算单元14,目标计算单元为人工神经网络计算单元12和脉冲神经网络计算单元15。脉冲神经网络计算单元14输出第一路由包,其中,第一路由包中的地址信息与脉冲神经网络计算单元15的地址信息匹配。脉冲神经网络计算单元15接收第一路由包,从第一路由包中获取脉冲信息,然后第一路由包中的地址信息更新为人工神经网络计算单元12的地址信息,将更新后的第一路由包发送给人工神经网络计算单元12。由此,对于同一个输出,脉冲神经网络计算单元14只需要生成一个路由包即可,减小了延时时间,提高了数据处理效率。同时,可以增加异构协同系统支持的算法的复杂性,提高了异构协同系统的实用性。
在一种可选的实现方式中,本实施例的通信方法还包括:响应于第一地址信息与本计算单元的地址信息不匹配,根据路由表发送第一路由包。例如,如图1所示,假设本计算单元为脉冲神经网络计算单元14,目标计算单元为混合神经网络计算单元18,则脉冲神经网络计算单元14先将路由包发送给脉冲神经网络计算单元15(或混合神经网络极端单元17),脉冲神经网络计算单元15(或混合神经网络极端单元17)判断第一路由包中的地址信息与本计算单元的地址信息不匹配,根据地址信息转发该第一路由包至混合神经网络计算单元18。
图5是本发明实施例的异构协同系统的一种通信方法的过程示意图。如图5所示,在输出神经元为人工神经元,目标神经元也为人工神经元时(也即本计算单元的输出和目标计算单元的输入均为数值量信息),本计算单元的人工神经元51输出数值量信息,发送至本计算单元的发送模块,发送模块从路由表中获取对应的脉冲状态信息以确定路由包,将路由包发送至目标计算单元的接收模块,接收模块从路由包中获取数值量信息并将其存储至目标神经元(也即人工神经元52)对应的轴突存储地址中。
在输出神经元为人工神经元,目标神经元为脉冲神经元时(也即本计算单元的输出为数值量信息,目标计算单元的输入为脉冲信息),本计算单元的人工神经元53输出数值量信息,发送至本计算单元的发送模块,发送模块从路由表中获取对应的脉冲状态信息以确定路由包,将路由包发送至目标计算单元的接收模块,接收模块从路由包中获取脉冲信息并存储,也即将目标神经元(脉冲神经元54)对应的轴突存储地址中存储1,并存储对应的脉冲状态信息。
在输出神经元为脉冲神经元,目标神经元也为脉冲神经元时(也即本计算单元的输出和目标计算单元的输入均为脉冲信息),本计算单元的脉冲神经元55输出脉冲信息,发送至本计算单元的发送模块。其中,脉冲信息包括脉冲神经元的膜电位或膜电位与电位阈值的差值。发送模块从路由表中获取对应的脉冲状态信息以确定路由包,将路由包发送至目标计算单元的接收模块。其中,脉冲神经元的膜电位或膜电位与电位阈值的差值用于表征路由表中的数质量信息。接收模块从路由包中获取脉冲信息并存储,也即将目标神经元(脉冲神经元56)对应的轴突存储地址中存储1,并存储对应的脉冲状态信息。
在输出神经元为脉冲神经元,目标神经元为人工神经元时(也即本计算单元的输出为脉冲信息,目标计算单元的输入为数值量信息),本计算单元的脉冲神经元57输出脉冲信息,发送至本计算单元的发送模块。其中,脉冲信息包括脉冲神经元的膜电位或膜电位与电位阈值的差值。发送模块从路由表中获取对应的脉冲状态信息以确定路由包,将路由包发送至目标计算单元的接收模块。其中,脉冲神经元的膜电位或膜电位与电位阈值的差值用于表征路由表中的数质量信息。接收模块从路由包中数值量信息并将其存储至目标神经元(也即人工神经元58)对应的轴突存储地址中。
本实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
图6是本发明实施例的异构协同系统的通信方法的另一种过程示意图。如图6所示,异构协同系统包括计算单元61和计算单元62。其中计算单元61包括接收模块611、发送模块612和人工神经元613。计算单元62接收模块621、发送模块622和脉冲神经元623。计算单元61和计算单元62均为路由包a中的数据的目标计算单元。如图6所示,计算单元61中的接收模块611接收路由包a并获取其中的数值量发送给人工神经元613,接收模块611将路由包a发送给发送模块612。发送模块612从对应的路由表中获取计算单元62的地址信息,并将路由包a中的地址信息更新为计算单元62的地址信息,生成并发送路由包a'。容易理解,路由包a和路由包a'中的数据信息相同。计算单元62中的接收模块621接收路由包a',并获取路由包a'中的脉冲信息发送给脉冲神经元623。若还有其他路由包a的目标计算单元,计算单元62中的发送单元可以将路由包a'中的地址信息更新为其他目标计算单元的地址信息,并发送更新后的路由包。
在本实施例中,在输出计算单元对应多个目标计算单元时,对于输出计算单元的同一个输出,只需要生成一个路由包即可,这减小了延时时间,提高了数据处理效率。同时,可以增加异构协同系统支持的算法的复杂性,提高了异构协同系统的实用性。
图7是本发明实施例的计算单元的装置示意图。如图7所示,本实施例的计算单元7包括接收模块71、获取模块72、处理模块73、确定模块74以及发送模块75。
其中,接收模块71被配置为接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络的数值量信息和用于脉冲神经网络计算的脉冲信息。所述脉冲信息包括脉冲状态信息,所述脉冲状态信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息。所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生路由包。其中,脉冲状态信息预先存储在路由表中,所述路由表根据待处理任务获取。
获取模块72被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述计算单元的类型和所述第一数据载荷获取脉冲信息或数值量信息作为输入信息。
处理模块73被配置为处理所述输入信息以确定输出信息。其中,在计算单元7为人工神经网络计算单元时,处理模块73包括多个人工神经元。在计算单元7为脉冲神经网络计算单元时,处理模块73包括多个脉冲神经元。在计算单元7为混合神经网络计算单元时,处理模块73包括多个人工神经元和多个脉冲神经元。
确定模块74被配置为根据输出信息确定第二路由包,所述第二路由包包括第二地址和第二数据载荷,所述第二数据载荷包括所述输出信息对应的数值量信息和脉冲信息。
发送模块75被配置为发送所述第二数据包。
在一种可选的实现方式中,所述输出信息为数值量,确定模块74进一步被配置为响应于所述数值量在阈值区间,确定所述第二路由包。
在一种可选的实现方式中,所述输出信息为脉冲,确定模块74进一步被配置为响应于脉冲神经元的膜电位到达电位阈值,确定所述第二路由包。
在一种可选的实现方式中,计算单元7还包括更新单元76。更新单元76被配置为更新所述第一地址信息,发送更新后的所述第一路由包。
本实施例根据计算单元的输出信息确定包含有用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息的路由包,以传输给下一个计算单元,由此,可以减少不同类型的计算单元之间数据传输所需的代价,从而减小延迟时间,提高数据处理效率。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种异构协同系统的通信方法,其特征在于,所述系统包括至少两个计算单元,所述方法包括:
周期性地接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络计算的数值量信息和用于脉冲神经网络计算的脉冲信息;
响应于所述第一地址信息与本计算单元的地址信息匹配,根据所述本计算单元的类型和所述第一数据载荷获取所述数值量信息或所述脉冲信息作为输入信息;
处理所述输入信息确定输出信息;
根据所述输出信息确定第二路由包,所述第二路由包包括第二地址信息和第二数据载荷,所述第二数据载荷包括所述输出信息对应的数值量信息和脉冲信息;
发送所述第二路由包。
2.根据权利要求1所述的方法,其特征在于,所述至少两个计算单元包括至少一个人工神经网络计算单元和至少一个脉冲神经网络计算单元;或者
所述至少两个计算单元包括至少两个同时支持人工神经网络计算和脉冲神经网络计算的混合神经网络计算单元;或者
所述至少两个计算单元包括至少一个人工神经网络计算单元、至少一个脉冲神经网络计算单元和至少一个混合神经网络计算单元。
3.根据权利要求1或2所述的方法,其特征在于,所述输出信息为数值量,根据所述输出信息确定第二路由包包括:
响应于所述数值量在阈值区间内,确定所述第二路由包。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述输出信息为脉冲,根据所述输出信息确定第二路由包包括:
响应于脉冲神经元的膜电位达到电位阈值,确定所述第二路由包。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述脉冲信息包括脉冲状态信息,所述脉冲状态信息包括强抑制信号标志位、强制发放信息标志位和脉冲延时信息;
所述强抑制信号标志位用于对脉冲信息进行抑制,所述强制发放信息标志位用于强制产生所述第二路由包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据待处理任务生成对应的路由表,所述路由表包括路由连接关系和所述脉冲状态信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
更新所述第一路由包中的第一地址信息,发送更新后的所述第一路由包。
8.一种异构协同系统,其特征在于,所述系统包括至少两个计算单元;
所述计算单元包括:
接收模块,被配置为接收第一路由包,所述第一路由包包括第一地址信息和第一数据载荷,所述第一数据载荷包括用于人工神经网络的数值量信息和用于脉冲神经网络计算的脉冲信息;
获取模块,被配置为响应于所述第一地址信息与所述计算单元的地址信息匹配,根据所述计算单元的类型和所述第一数据载荷获取所述数值量信息或所述脉冲信息作为输入信息;
处理模块,被配置为处理所述输入信息以确定输出信息;
确定模块,被配置为根据输出信息确定第二路由包,所述第二路由包包括第二地址和第二数据载荷,所述第二数据载荷包括所述输出信息对应的数值量信息和脉冲信息;
发送模块,被配置为发送所述第二数据包。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行以实现权利要求1-7中任一项所述的方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487098.0A CN110213165B (zh) | 2019-06-05 | 2019-06-05 | 一种异构协同系统及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487098.0A CN110213165B (zh) | 2019-06-05 | 2019-06-05 | 一种异构协同系统及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213165A true CN110213165A (zh) | 2019-09-06 |
CN110213165B CN110213165B (zh) | 2021-04-13 |
Family
ID=67791062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487098.0A Active CN110213165B (zh) | 2019-06-05 | 2019-06-05 | 一种异构协同系统及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213165B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565152A (zh) * | 2020-03-27 | 2020-08-21 | 中国人民解放军国防科技大学 | 一种基于路由域划分的类脑芯片路由系统数据通信方法 |
CN112215338A (zh) * | 2020-10-12 | 2021-01-12 | 北京灵汐科技有限公司 | 神经网络计算方法和装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313195A1 (en) * | 2008-06-17 | 2009-12-17 | University Of Ulster | Artificial neural network architecture |
US20130297541A1 (en) * | 2012-05-07 | 2013-11-07 | Filip Piekniewski | Spiking neural network feedback apparatus and methods |
CN103428090A (zh) * | 2012-05-15 | 2013-12-04 | 深圳中兴力维技术有限公司 | 一种用于异构网络的动态路由方法、路由服务器及系统 |
CN103455843A (zh) * | 2013-08-16 | 2013-12-18 | 华中科技大学 | 一种反馈型人工神经网络训练方法及计算系统 |
CN105095965A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 人工神经网络和脉冲神经网络神经的混合通信方法 |
CN105095961A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 一种人工神经网络和脉冲神经网络的混合系统 |
CN106104674A (zh) * | 2014-03-24 | 2016-11-09 | 微软技术许可有限责任公司 | 混合语音识别 |
US20180075344A1 (en) * | 2016-09-09 | 2018-03-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
CN109491956A (zh) * | 2018-11-09 | 2019-03-19 | 北京灵汐科技有限公司 | 一种异构协同计算系统 |
CN109542830A (zh) * | 2018-11-21 | 2019-03-29 | 北京灵汐科技有限公司 | 一种数据处理系统及数据处理方法 |
-
2019
- 2019-06-05 CN CN201910487098.0A patent/CN110213165B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313195A1 (en) * | 2008-06-17 | 2009-12-17 | University Of Ulster | Artificial neural network architecture |
US20130297541A1 (en) * | 2012-05-07 | 2013-11-07 | Filip Piekniewski | Spiking neural network feedback apparatus and methods |
CN103428090A (zh) * | 2012-05-15 | 2013-12-04 | 深圳中兴力维技术有限公司 | 一种用于异构网络的动态路由方法、路由服务器及系统 |
CN103455843A (zh) * | 2013-08-16 | 2013-12-18 | 华中科技大学 | 一种反馈型人工神经网络训练方法及计算系统 |
CN106104674A (zh) * | 2014-03-24 | 2016-11-09 | 微软技术许可有限责任公司 | 混合语音识别 |
CN105095965A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 人工神经网络和脉冲神经网络神经的混合通信方法 |
CN105095961A (zh) * | 2015-07-16 | 2015-11-25 | 清华大学 | 一种人工神经网络和脉冲神经网络的混合系统 |
US20180075344A1 (en) * | 2016-09-09 | 2018-03-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
CN109491956A (zh) * | 2018-11-09 | 2019-03-19 | 北京灵汐科技有限公司 | 一种异构协同计算系统 |
CN109542830A (zh) * | 2018-11-21 | 2019-03-29 | 北京灵汐科技有限公司 | 一种数据处理系统及数据处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565152A (zh) * | 2020-03-27 | 2020-08-21 | 中国人民解放军国防科技大学 | 一种基于路由域划分的类脑芯片路由系统数据通信方法 |
CN112215338A (zh) * | 2020-10-12 | 2021-01-12 | 北京灵汐科技有限公司 | 神经网络计算方法和装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110213165B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188872A (zh) | 一种异构协同系统及其通信方法 | |
CN106056211B (zh) | 神经元计算单元、神经元计算模块及人工神经网络计算核 | |
Toledo et al. | Estimation of dynamic origin–destination matrices using linear assignment matrix approximations | |
CN110213165A (zh) | 一种异构协同系统及其通信方法 | |
Wang et al. | Measuring container port accessibility: An application of the Principal Eigenvector Method (PEM) | |
CN104363104B (zh) | 一种面向用户需求的海量多元数据态势显示系统与方法 | |
CN105302858B (zh) | 一种分布式数据库系统的跨节点查询优化方法及系统 | |
CN108171998A (zh) | 一种基于电警数据的交叉口自适应交通信号控制系统及其工作方法 | |
CN110570656B (zh) | 定制公共交通线路方法及装置 | |
CN110460608A (zh) | 一种包含关联分析的态势感知方法和系统 | |
CN109039886A (zh) | 网络动态路由计算方法、装置及设备 | |
CN110502517A (zh) | 一种用于存储电网实时运行数据的分布式存储系统 | |
CN105913654B (zh) | 一种智能交通管理系统 | |
CN116865952A (zh) | 一种数据的加密管理方法及系统 | |
WO2010080284A2 (en) | Search engine design and computational cost analysis | |
Lin et al. | An optimal routing strategy for transport networks with minimal transmission cost and high network capacity | |
CN106104527A (zh) | 流式查询资源控制 | |
RU2012148411A (ru) | Технология поддержки деятельности организационной системы | |
CN112785770B (zh) | 一种基于时间序列的动态实体排队模型构建方法 | |
Liu et al. | Dynamic aspects of commuter decisions under advanced traveler information systems: Modeling framework and experimental results | |
Amer et al. | Prediction of vehicle fuel consumption model based on artificial neural network | |
CN110222876A (zh) | 一种基于资源均衡效益的旅游交通路网优化方法 | |
CN109379058A (zh) | 基于平方根容积信息一致的分布式非线性状态估计方法 | |
CN113673696B (zh) | 一种基于强化联邦学习的电力行业起重作业违章检测方法 | |
CN110348681A (zh) | 一种电力cps动态负荷分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |