路由地址的获取方法及装置、电子设备和可读存储介质与流程

文档序号:25088812发布日期:2021-05-18 21:17阅读:94来源:国知局
路由地址的获取方法及装置、电子设备和可读存储介质与流程

1.本发明涉及计算机领域,具体涉及一种路由地址的获取方法及装置、电子设备和可读存储介质。


背景技术:

2.近几年来,随着深度学习的快速发展,大规模人工神经网络广泛应用在诸多领域当中。脉冲神经网络(snn,spiking neuron networks)被誉为“第三代神经网络”,相比于目前广为流行的数值深度学习神经网络,脉冲神经网络更具仿生特性,具体体现在信息处理机制和学习机制方面。
3.目前,在面向本地学习或者snn学习时,路由路径是预编译的,也即各核神经元的传输路径固定,导致在没有预编译路径时则无法实现数据传输以及权重学习。


技术实现要素:

4.本申请实施例提供了一种路由地址的获取方法及装置、电子设备和可读存储介质,以解决现有技术中在没有预编译的路由路径的情况下,无法进行数据传输以及权重学习的问题。
5.为了解决上述技术问题,本申请是这样实现的:
6.第一方面,提供了一种路由地址的获取方法,包括:确定众核系统中神经元被激活的时刻;确定与第一神经元满足预设条件的第二神经元,其中,所述预设条件是指第一权重值之和大于第一预设阈值,在第一预设时间段内每一次所述第一神经元被激活的时刻与所述第二神经元被激活的时刻之间的差值小于第二预设阈值的情况下,记录一次所述第一权重值;获取所述第二神经元的路由地址,并将所述路由地址添加到所述第一神经元的路由清单上。
7.第二方面,提供了一种路由地址的获取装置,包括:第一确定模块,用于确定众核系统中神经元被激活的时刻;第二确定模块,用于确定与第一神经元满足预设条件的第二神经元,其中,所述预设条件是指第一权重值之和大于第一预设阈值,在第一预设时间段内每一次所述第一神经元被激活的时刻与所述第二神经元被激活的时刻之间的差值小于第二预设阈值的情况下,记录一次所述第一权重值;获取模块,用于获取所述第二神经元的路由地址,并将所述路由地址添加到所述第一神经元的路由清单上。
8.第三方面,本申请实施例还提供了一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
9.第四方面,本申请实施例还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
10.通过本申请,在众核系统中各个神经元被激活的时刻差值小于第二预设阈值的情况下,会记录一次第一权重值,如果第一预设时间段内,记录了多个第一权重值,且该多个
第一权重值之和大于第一预设阈值,则可以将第二神经元的路由地址添加到所述第一神经元的路由清单上,也即使得后被激活的神经元(第二神经元)向先被激活的神经元(第一神经元)发送路由地址,并更新到第一神经元的路由清单,从而实现了动态路由建立机制,即使没有预编码的路由路径,也可以实现数据传输以及权重学习,解决了现有技术中在没有预编译的路由路径的情况下,无法进行数据传输以及权重学习的问题。
附图说明
11.图1是本申请实施例的路由地址的获取方法流程图;
12.图2是本申请实施例的众核系统结构示意图一;
13.图3是本申请实施例的众核系统结构示意图二;
14.图4是本申请实施例的路由地址的获取装置的结构示意图。
具体实施方式
15.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
16.在本申请的描述中,需要理解的是,术语“第一”、“第二”仅由于描述目的,且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
17.下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的路由地址的获取方法进行详细地说明。
18.本申请实施例提供了一种路由地址的获取方法,图1是本申请实施例的路由地址的获取方法流程图,如图1所示,该方法的步骤包括:
19.步骤s102,确定众核系统中神经元被激活的时刻;
20.步骤s104,确定与第一神经元满足预设条件的第二神经元,其中,预设条件是指第一权重值之和大于第一预设阈值,在第一预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值小于第二预设阈值的情况下,记录一次第一权重值;
21.步骤s106,获取第二神经元的路由地址,并将路由地址添加到第一神经元的路由清单上。
22.通过本申请实施例的步骤s102至步骤s106,在众核系统中各个神经元被激活的时刻差值小于第二预设阈值的情况下,会记录一次第一权重值,如果第一预设时间段内,记录了至少一个第一权重值,且该至少一个第一权重值之和大于第一预设阈值,则可以将第二神经元的路由地址添加到第一神经元的路由清单上,也即使得后被激活的神经元(第二神经元)向先被激活的神经元(第一神经元)发送路由地址,并更新到第一神经元的路由清单中,从而实现了动态路由建立机制,可见,通过本申请,即使没有预编码的路由路径,也可以实现数据传输以及权重学习,解决了现有技术中在没有预编译的路由路径的情况下,无法进行数据传输以及权重学习的问题。
23.需要说明的是,本申请实施例中的每次记录的第一权重值在第一预设时间段内可以相同,也可以是按照时间轴递减。第一权重值还可以是根据第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值确定的,与差值成反比,例如,可以是差值越大、第一权重值越小,本公开对第一权重值的取值方式不做限制。
24.在本申请实施例中的可选实施方式中,该众核系统可以包括一个或多个处理器,处理器包括多个内核;内核包括一个或多个神经元。基于此,本申请实施例中的第一神经元和第二神经元在同一内核,如图2所示,众核系统包括5个内核:内核a、内核b、内核c、内核d、内核e;其中,每一个内核均包括多个神经元,第一神经元和第二神经元均在内核c中,第一神经元为神经元c1,第二神经元为神经元c3。当然,上述众核系统中的内核数量仅仅是举例说明,也可以是3个内核,8个内核等,在本申请中并不限制其数量,可以根据实际情况确定。或者,还是以图2中的内核为例,不同的是第一神经元所在的内核不同于第二神经元所在的内核,如图3所示,第一神经元在内核a中,第二神经元在内核d中,且第一神经元为内核a中的a1,第二神经元为内核d中的d1。
25.也就是说,在本申请实施例中,在将路由地址添加到第一神经元的路由清单上之后,方法还包括:将第一神经元和第二神经元映射在同一内核;将第一神经元和第二神经元映射在不同的两个核上,其中,不同的两个核之间的路由步长小于第四预设阈值。
26.需要说明的是,众核系统中一条路由上有多个内核,两个相邻内核之间为一个路由步长,基于此,本申请实施例中的第四预设阈值可以根据实际情况进行相应的设置。
27.基于此,对本申请实施例中步骤s104中涉及到的确定与第一神经元满足预设条件的第二神经元的方式,进一步可以包括:
28.步骤s104

11,在第一预设时间段内确定每一次第一神经元被激活的第一时刻;
29.步骤s104

12,确定第一时刻与众核系统中多个神经元被激活的时刻之间的多个第一时间差;
30.步骤s104

13,从多个第一时间差中确定出小于第二预设阈值的第二时间差,并记录一次第一权重值;其中,与第一时刻具有第二时间差的时刻为第二时刻;
31.步骤s104

14,在第一预设时间段内,在第三神经元的每一次记录的第一权重值之和大于第一预设阈值的情况下,确定在第三神经元为第二神经元。
32.通过上述步骤s104

11至步骤s104

14,在第一神经元在第一时刻被激活后,可能存在多个其他神经元也被激活,相应的多个其他神经元具有对应的激活时刻,进而需要确定与第一时刻之间的差值,从中确定出差值小于第二预设阈值的时刻,则记录一次第一权重值,如果第一预设时间段内记录一次的第一权重值就大于第一预设阈值,则表明该第三神经元与第一神经元具有逻辑关系的,如果第一预设时间段内记录了多次第一权重值,且该多个第一权重值大于第一预设阈值,则表明该第三神经元与第一神经元具有逻辑关系的,也就是说,该第二时刻被激活的神经元为第二神经元。该第二神经元的数量可能存在一个或多个,此外,该第一预设阈值可以根据实际情况进行相应的取值,第一预设阈值设置的越大,则第二神经元与第一神经元具有的逻辑关系更紧密。第二预设阈值可以根据实际需求或具体应用场景的需求进行相应的设置,例如,是3ns,5ns,7ns等等。
33.在本申请实施例的另一个可选实施方式中,在将路由地址添加到第一神经元的路由清单上之后,本申请实施例的方法还可以包括:
34.步骤s108,在第一神经元在第三时刻被激活后,确定第二神经元被激活的时刻,其中,第二神经元被激活的时刻为第四时刻;
35.步骤s110,在第三时刻与第四时刻的时间差大于第二预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
36.通过上述步骤s108和步骤s110,在第一神经元的路由清单中已经存在得让神经元的路由地址后,如果接下来第一神经元被激活的第三时刻与第二神经元被激活的第四时刻之间的差值大于第二预设阈值,则说明第一神经元与第二神经元之间不具有前后逻辑,即第一神经元不会向第二神经元发放,则可以从第一神经元的路由清单中删除该第二神经元的路由地址。也就是说,通过本申请,不仅可以实现路由地址的添加还可以实现路由地址的删除,使得动态路由机制更加全面。
37.在本申请实施例的另一个可选实施方式中,在将路由地址添加到第一神经元的路由清单上之后,本申请实施例的方法还可以包括:
38.步骤s112,判断在第二预设时间段内记录的所有第一权重值之和是否小于或等于第一预设阈值;
39.步骤s116,在第一权重值之和小于或等于第一预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
40.可见,在本申请实施例中不仅可以通过第一神经元的被激活时刻与第二神经元被激活时刻之间的差值大于预设阈值的情况下,从路由清单中删除第二神经元的路由地址,还可以是在第二预设时间段内,统计在第二预设时间段内的第一权重值之和是否小于或等于第一预设阈值,若小于或等于第一预设阈值,则表明第一神经元与第二神经元之间不具有前后逻辑,即第一神经元不会向第二神经元发放,则可以从第一神经元的路由清单中删除该第二神经元的路由地址。
41.在本申请实施例的另一个可选实施方式中,在将路由地址添加到第一神经元的路由清单上之后,本申请实施例的方法还可以包括:
42.步骤s118,判断在第二预设时间段内记录的所有第二权重值之和是否大于第三预设阈值,其中,在第二预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值大于或等于第二预设阈值的情况下,记录一次第二权重值;
43.步骤s120,在第二权重值之和大于第三预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
44.可见,在本申请实施例中不仅可以通过第一神经元的被激活时刻与第二神经元被激活时刻之间的差值大于预设阈值的情况下,从路由清单中删除第二神经元的路由地址,还可以是在第二预设时间段内第一神经元被激活的时刻,如果第二神经元未被激活,统计在第二预设时间段内的第二权重值之和,如果第二权重大于第三预设阈值,例如,在第二预设时间段内,在第一神经元激活4次后,第二神经元4次都未被激活的次数,每一次未被激活会被记录一次第二权重值,该4次的第二权重值之和大于第三预设阈值,则表明第一神经元与第二神经元之间不具有前后逻辑,即第一神经元不会向第二神经元发放,则可以从第一神经元的路由清单中删除该第二神经元的路由地址。
45.需要说明的是,本申请实施例中的第二权重值在第一预设时间段内可以相同,也可以是按照时间轴递增。第二权重值还可以是根据第一神经元被激活的时刻与第二神经元
被激活的时刻之间的差值确定的,与差值成正比,例如,可以是差值越大、第二权重值越大,本公开对第二权重值的取值方式不做限制。在本申请实施例的另一个可选实施方式中,在将路由地址添加到第一神经元的路由清单上之后,本申请实施例的方法还可以包括:
46.步骤s122,在将所述路由地址添加到所述第一神经元的路由清单上之后,在所述第一神经元在第二预设时间段内的第五时刻被激活后,确定所述第二神经元是否被激活;
47.步骤s124,判断第一目标值是否小于或等于第一预设阈值,其中,第一目标值为在第二预设时间段内第二目标值减去依次记录的一个或多个第二权重值的结果;在第二预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值大于或等于第二预设阈值的情况下,记录一次第二权重值;第二目标值包括以下之一:第一权重之和、预设的固定值;
48.步骤s126,在第一目标值小于或等于第一预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
49.可见,在本申请实施例中不仅可以通过第一神经元的被激活时刻与第二神经元被激活时刻之间的差值大于预设阈值的情况下,从路由清单中删除第二神经元的路由地址,还可以是在第二预设时间段内第一神经元被激活的时刻,如果第二神经元未被激活,统计在第二预设时间段内的一个或多个第二权重值,在第一次记录第二权重值后,则将第一权重之和或预设固定值减去第一次记录的第二权重值,在第二次记录第二权重值后,则将第一权重之和或预设固定值减去两次第二权重值之和,依次类推,在第二预设时间段内每统计一次后都要在上一次求减结果之后再减去一次第二权重值。如果在第二预设时间段内,得到的求减结果(第一目标值)小于或等于第一预设阈值,则表明第一神经元与第二神经元之间不具有前后逻辑,即第一神经元不会向第二神经元发放,则可以从第一神经元的路由清单中删除该第二神经元的路由地址。
50.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
51.本申请实施例提供了一种路由地址的获取装置,图4是本申请实施例的路由地址的获取装置的结构示意图,如图4所示,该装置包括:
52.第一确定模块42,用于确定众核系统中神经元被激活的时刻;
53.第二确定模块44,用于确定与第一神经元满足预设条件的第二神经元,其中,预设条件是指第一权重值之和大于第一预设阈值,在第一预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值小于第二预设阈值的情况下,记录一次第一权重值;
54.获取模块46,用于获取第二神经元的路由地址,并将路由地址添加到第一神经元的路由清单上。
55.通过本申请实施例中的装置,在众核系统中各个神经元被激活的时刻差值小于预设阈值的情况下,会记录一次第一权重值,如果第一预设时间段内,记录了多个第一权重
值,且该多个第一权重值之和大于第一预设阈值,则可以将第二神经元的路由地址添加到第一神经元的路由清单上,即使得后被激活的神经元(第二神经元)向先被激活的神经元(第一神经元)发送路由地址,并更新到第一神经元的路由清单,从而实现了动态路由建立机制,即使没有预编码的路由路径,也可以实现数据传输以及权重学习,解决了现有技术中在没有预编译的路由路径的情况下,无法进行数据传输以及权重学习的问题。
56.可选地,本申请实施例中的第二确定模块44进一步可以包括:第一确定单元,用于在第一预设时间段内确定每一次第一神经元被激活的第一时刻;第二确定单元,用于确定第一时刻与众核系统中多个神经元被激活的时刻之间的多个第一时间差;第三确定单元,用于从多个第一时间差中确定出小于第二预设阈值的第二时间差,并记录一次第一权重值;其中,与第一时刻具有第二时间差的时刻为第二时刻;第四确定单元,用于在第一预设时间段内,在每一次记录的第一权重值之和大于第一预设阈值的情况下,确定在第二时刻被激活的神经元为第二神经元。
57.可选地,本申请实施例中的装置还可以进一步包括:第三确定模块,用于在将路由地址添加到第一神经元的路由清单上之后,在第一神经元在第三时刻被激活后,确定第二神经元被激活的时刻,其中,第二神经元被激活的时刻为第四时刻;第一删除模块,用于在第三时刻与第四时刻的时间差大于第二预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
58.可选地,本申请实施例中的装置还可以进一步包括:第一判断模块,用于在将路由地址添加到第一神经元的路由清单上之后,判断在第二预设时间段内记录的所有第一权重值之和是否小于或等于第一预设阈值;第二删除模块,用于在第第一权重值之和小于或等于第一预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
59.可选地,本申请实施例中的装置还可以进一步包括:第二判断模块,用于在将路由地址添加到第一神经元的路由清单上之后,判断在第二预设时间段内记录的所有第二权重值之和是否大于第三预设阈值,其中,在第二预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值大于或等于第二预设阈值的情况下,记录一次第二权重值;第三删除模块,用于在第二权重值之和大于第三预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
60.可选地,本申请实施例中的众核系统包括一个或多个处理器,处理器包括多个内核;内核包括一个或多个神经元。基于此,本申请实施例中的装置还可以包括以下至少一项:第一映射模块,用于在将路由地址添加到第一神经元的路由清单上之后,将第一神经元和第二神经元映射在同一内核;第二映射模块,用于在将路由地址添加到第一神经元的路由清单上之后,将第一神经元和第二神经元映射在不同的两个核上,其中,不同的两个核之间的路由步长小于第四预设阈值。
61.可选地,本申请实施例中的装置还可以包括:第四确定模块,用于在将路由地址添加到所述第一神经元的路由清单上之后,在第一神经元在第二预设时间段内的第五时刻被激活后,确定第二神经元是否被激活;第三判断模块,用于判断第一目标值是否小于或等于第一预设阈值,其中,第一目标值为在第二预设时间段内第二目标值减去依次记录的一个或多个第二权重值的结果;在第二预设时间段内每一次第一神经元被激活的时刻与第二神经元被激活的时刻之间的差值大于或等于第二预设阈值的情况下,记录一次第二权重值;
第二目标值包括以下之一:第一权重之和、预设的固定值;第四删除模块,用于在第一目标值小于或等于第一预设阈值的情况下,从路由清单中删除第二神经元的路由地址。
62.可选的,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述路由地址的获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
63.需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
64.本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述路由地址的获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
65.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
66.显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
67.以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1