当前位置: 首页 > 专利查询>北京大学专利>正文

一种脉冲神经网络多播路由器及方法技术

技术编号:31494719 阅读:20 留言:0更新日期:2021-12-18 12:33
本发明专利技术公开了一种脉冲神经网络多播路由器及方法,所述的路由器包括输入缓存器组、交换阵列、输出缓冲器组、仲裁控制单元、两种防止环回转发单元、交换控制单元、多个输入/输出端口及一个连接本地计算单元的输入/输出端口,所述的路由器采用多播转发的方式即每个端口输入的脉冲数据包将分别向其他端口转发,如果脉冲数据包是由本节点的计算单元所产生,则向所有的端口发送,所述的脉冲数据包的基本帧结构包括脉冲源地址SID、数据载荷PL及转发次数N。本发明专利技术的优点在于:本申请技术方案可以有效降低脉冲神经网络中路由器的实现复杂度,同时提供一种简单有效的多播路由方法,减小神经元脉冲有效传递的时间周期。脉冲有效传递的时间周期。脉冲有效传递的时间周期。

【技术实现步骤摘要】
一种脉冲神经网络多播路由器及方法


[0001]本专利技术涉及类脑计算领域,具体是指一种脉冲神经网络多播路由器及方法。

技术介绍

[0002]生物神经尤其人脑神经的结构,呈现出一种复杂的网络架构。数万乃至数百亿个神经元成为神经网络的节点,而每个神经元经由自身成千上万个树突接收其它神经元的输入,其输出的脉冲则经由轴突传输至成千上万个神经元的树突。在生物神经网络中,各神经元以脉冲(spikes)作为信息进行传递。
[0003]在现代通用人工智能技术也即类脑计算技术研究中,通常采用基于脉冲神经元模型的脉冲神经网络(Spiking Neuron Networks)开展相应的脑科学仿真计算。而在脉冲神经网络的具体实现方案中,Mesh(网状网)/Torus(环网)是性能较优的拓扑结构。一般来说,网络由节点和连接它们之间的信道构成。而节点本身通常包含计算单元和路由单元,计算单元模拟神经元的运算,路由单元则进行神经脉冲(spikes)的传输和转发。
[0004]如前所述,生物神经网络中一个神经元的输出可能要经过轴突传输给上万个其它神经元,这天然具备多播传输的特性。但与生物神经网络中神经元轴突点到多点具备的多条独立传输通道不同,不同拓扑架构的人工脉冲神经网络(例如mesh/torus拓扑)中还需要仔细设计传输路由方案。由英国曼彻斯特大学研发的SpiNNaker系统和美国IBM公司研发的TrueNorth芯片是脉冲神经网络实现的两个典型例子。SpiNNaker采用源地址的多播方式进行传播,其节点上的路由器采用预先确定的路由表进行路由转发,这不仅需要预先规划路径而且路由器上需要不小的路由表存储空间。TrueNorth采用的是目的地址进行传播,每个神经元每个脉冲模拟需要发出上万个数据包,并且本地还需要保存相应数目的目的地址。
[0005]研究表明,生物神经元之间存在连接的概率随它们之间的距离的增加呈指数下降。换句话说,生物神经网络中各神经元之间的相互连接具有区域性的特点,即每个神经元与其周边的神经元之间连接紧密,而与远处的神经元则连接稀疏。结合这一特点,本专利技术方案考虑设计一种简单有效的多播路由方法,即一种路由器既防止环回重复的多播转发,其转发概率又随转发次数衰减的路由方法。
[0006]中国专利CN112673602A公开了一种避免广播风暴的方法和装置,通过时间和次数判断是否丢弃广播报文,可以在不改变路由之间的组网结构和不改变路由之间传递的广播包的情况下,避免广播风暴。但是,在类脑计算场景下,为每个脉冲存储时间、次数占用大量的存储空间,且此方法无法应对拥塞等问题导致的脉冲等待时间长等问题。
[0007]中国专利CN107567066A公开了一种基于自适应概率转发策略的FANETs路由协议,结合上一跳节点的邻居数量N来确定转发路由请求分组的概率P,通过自适应概率转发策略能有效抑制节点密集情况下FANETs网络中的广播风暴问题。但是,在类脑计算领域中,脉冲数量是一个关键的指标,依概率转发必然导致重复、回环等问题。
[0008]本专利技术专利提供一种可以有效降低脉冲神经网络中路由器的实现复杂度,同时提供一种简单有效的多播路由方法,减小神经元脉冲有效传递的时间周期。

技术实现思路

[0009]本专利技术要解决的技术问题是以上所述的技术问题,提供一种可以有效降低脉冲神经网络中路由器的实现复杂度,同时提供一种简单有效的多播路由方法,减小神经元脉冲有效传递的时间周期的脉冲神经网络多播路由器及方法。
[0010]为解决上述技术问题,本专利技术提供的技术方案为:一种脉冲神经网络多播路由器及方法,所述的路由器包括输入缓存器组、交换阵列、输出缓冲器组、仲裁控制单元、两种防止环回转发单元、交换控制单元、多个输入/输出端口及一个连接本地计算单元的输入/输出端口,其中:
[0011](1)输入缓存器用于缓存各端口输入的脉冲数据包;
[0012](2)输出缓冲器用户缓存各端口输出的脉冲数据包;
[0013](3)交换阵列用于连接输入到输出的通道;
[0014](4)仲裁控制单元接收本地产生脉冲数据包及各输入缓存器中脉冲数据包,判决进行路由计算处理先后顺序,同时判断各输入脉冲数据包的目的地之一是否是本地计算单元,如果是则通过本地端口同时输出至本地计算单元;
[0015](5)防止环回转发单元用于判断某个数据包是否是在一个生存周期内出现的环回数据包,如果是的话则丢弃,否则进行转发;
[0016](6)交换控制单元根据脉冲数据包的输入端口以及防止环回转发单元的判决结果来确定需要连接的输出端口,进行交换转发。
[0017]相应的路由方法采用多输出端口转发的多播传输方式,同时在每一个路由器判断数据包是否为近期曾转发过的数据包,以防止数据包环回重复转发,减少脉冲神经网络信道上的数据拥堵。
[0018]作为改进,其中一种所述的防止环回转发单元的实现方案如图5所示,主要包括一个地址存储单元组(L个)、比同器(L个)、地址重复判决逻辑、输入地址暂存单元、存储控制模块,该单元有一个输入数据包源地址和一个集中同步清零信号输入信号,一个地址重复指示信号输出信号。其中:
[0019](1)地址存储单元用于保存近期经由本路由器转发的脉冲数据包源地址,以比对最新输入数据包的地址;
[0020](2)比同器用于比较地址存储单元中的数值与输入地址暂存单元中的数值是否相同。如果相同则给出有效信号;
[0021](3)地址重复判决逻辑采用或逻辑,用于判决所有比同器的输出结果,并输出地址重复指示信号;
[0022](4)输入地址暂存单元用于暂存待分析处理的输入数据包源地址;
[0023](5)存储控制模块用于管理控制地址存储单元组。如果地址重复指示信号为无效,则说明该数据包是一个新的数据包,将输入地址暂存单元中的源地址保存入地址存储单元中的适当位置。如果输入到存储控制模块的集中同步清零信号有效,表示数据包的本轮生存周期到期,则对地址存储单元中的数据进行集中清零。
[0024]上述的防止环回转发单元适用于有全网同步清零信号的情形,另一种实现方案则采用分布式清零方式,如图6所示。其中最主要的改变是取消了集中同步清零信号输入,并且地址存储单元附加了一个生存计数部分,该生存计数值在存储控制模块的控制下以一定
频率进行减计数操作,当计数值为0时由存储控制模块对相应的地址存储单元进行清零操作。如果对于输入数据包源地址的比同操作最终输出的是无效信号,则存储控制模块会将输入地址暂存单元中的源地址保存入地址存储单元中的适当位置,同时根据数据包中的转发次数字段值N计算生存计数预置初值,并保存到对应地址存储单元的生存计数部分中。例如,一种可能的生存计数预置初值可表示为C
live
=(N
MAX

N)*C0,其中N
MAX
为系统设定的最大转发次数、C0为每次转发所需时间计数值。
[0025]如果基于系统最大转发次数N...

【技术保护点】

【技术特征摘要】
1.一种脉冲神经网络多播路由器及方法,其特征在于:所述的路由器包括输入缓存器组、交换阵列、输出缓冲器组、仲裁控制单元、两种防止环回转发单元、交换控制单元、多个输入/输出端口及一个连接本地计算单元的输入/输出端口,所述的路由器采用多播转发的方式即每个端口输入的脉冲数据包将分别向其他端口转发,如果脉冲数据包是由本节点的计算单元所产生,则向所有的端口发送,所述的脉冲数据包的基本帧结构包括脉冲源地址SID、数据载荷PL及转发次数N,当脉冲数据包从初始节点发出时,转发次数N=0。每经过一个路由器节点转发,则脉冲数据包中的转发次数字段数值增加1,所述的防止环回转发单元判断输入的脉冲数据包是否为近期曾转发过的数据包,并决定是否丢弃,以防止数据包环回重复转发,所述的仲裁控制单元判决本地计算单元产生的脉冲数据包及各输入缓存器中的脉冲数据包的路由计算处理先后顺序;判断各输入脉冲数据包的目的地之一是否是本地计算单元,如是则同时输出至本地计算单元,所述的交换控制单元根据脉冲数据包的输入端口以及防止环回转发单元的判决结果来确定需要连接的输出端口,进行交换转发。2.根据权利要求1所述的一种脉冲神经网络多播路由器及方法,其特征在于:其中一种所述的防止环回转发单元包括一个地址存储单元组、比同器组、地址重复判决逻辑、输入地址暂存单元、存储控制模块,一个输入数据包源地址和一个集中同步清零信号输入信号,一个地址重复指示信号输出信号,所述的地址存储单元用于保存近期经由本路由器转发的脉冲数据包源地址,以比对最新输入数据包的地址,所述的比同器用于比较地址存储单元中的数值与输入地址暂存单元中的数值是否相同,如果相同则给出有效指示信号,所述的地址重复判决逻辑采用或逻辑,用于判决所有比同器的输出结果,并输出地址重复指示信号,输入地址暂存单元用于暂存待分析处理的输入数据包源地址,存储控制模块用于管理控制地址存储单元组。如果地址重复指示信号为无效,则说明该数据包是一个新的数据包,将输入地址暂存单元中的源地址保存入地址存储单元中的适当位置。如果输入到存储控制模块的集中同步清零信号有效,表示数据包的本轮生存周期到期,则对地址存储单元中的数据进行集中清零。3.根据权利要求2所述的一种脉冲神经网络多播路由器及方法,其特征在于:另一种所述的防止环回转发单元包括一个地址存储单元组、比同器组、地址重复判决逻辑、输入数据包暂存单元、存储控制模块,一个输入数据包输入信号,一个地址重复指示信号输出信号,所述的地址存储单元用于保存近期经由本路由器转发的脉冲数据包源地址,以比对最新输入数据包的地址,地址存储单元增加了一个生存计数值部分,生存计数初始预置值是输入数据包转发次数的一个函数,生存计数预置初值对所有的输入数据包都设定为一个固定的常数数值,与其转发次数无关,比同器用于比较地址存储单元中的数值...

【专利技术属性】
技术研发人员:吴建军冯春徐开明万斌
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1