会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 人工智能 / 人工神经网络 / 一种人工神经网络计算核

一种人工神经网络计算核

阅读:1128发布:2020-05-19

IPRDB可以提供一种人工神经网络计算核专利检索,专利查询,专利分析的服务。并且本发明涉及一种人工神经网络计算核,包括:一路由器模块、至少一神经元计算模块、至少一核控制器,所述神经元计算模块与所述核控制器一一对应。所述路由器模块接收并解析外部输入数据,并将解析后的地址信息和轴突值信息送入对应的神经元计算模块;以及将所述神经元计算模块输出的神经元计算结果发送至目标地址,并向该神经元计算模块对应的核控制器发送本帧数据处理完成标志。所述神经元计算模块用于进行神经元计算,并将神经元计算结果发送至所述路由器模块。所述核控制器在接收到所述本帧数据处理完成标志后进入下一神经元周期。利用本发明提供的人工神经网络计算核可以实现多个人工神经网络计算核的组网。,下面是一种人工神经网络计算核专利的具体信息内容。

1.一种人工神经网络计算系统,其特征在于,包括:一路由器模块、至少一神经元计算模块、至少一核控制器,所述神经元计算模块与所述核控制器一一对应;

所述路由器模块,用于接收并解析外部输入数据,并将解析后的地址信息和轴突值信息送入对应的神经元计算模块;

所述神经元计算模块,用于进行神经元计算,并将神经元计算结果发送至所述路由器模块;

所述路由器模块,还用于将所述神经元计算模块输出的神经元计算结果发送至目标地址,并向该神经元计算模块对应的核控制器发送本帧数据处理完成标志;

所述核控制器,用于在接收到所述本帧数据处理完成标志后进入下一神经元周期。

2.如权利要求1所述的人工神经网络计算系统,其特征在于,该人工神经网络计算核系统包括一路由器模块、N个神经元计算模块、N个核控制器,所述N个神经元计算模块与所述N个核控制器一一对应,N为大于1的整数。

3.如权利要求1所述的人工神经网络计算系统,其特征在于,所述核控制器,还用于向自身对应的神经元计算模块发出神经元周期和比较脉冲;

所述神经元计算模块,还用于在接收到自身对应的核控制器发出的比较脉冲后,读取地址数值与当前神经元周期相同的神经元地址有效标志,若为有效则将该神经元计算结果进行转换,若为无效则向自身对应的核控制器发出数据无效标志;

所述神经元计算模块,还用于判断转换后的神经元计算结果是否有效,若为有效则将该换后的神经元计算结果发送至所述路由器模块,若为无效则向自身对应的核控制器发出数据无效标志;

所述核控制器,还用于在接收到自身对应的神经元计算模块发送的数据无效标志后进入下一神经元周期。

4.如权利要求3所述的人工神经网络计算系统,其特征在于,所述神经元计算模块包括多个神经元计算单元、发送缓存及接口、函数信息表;

所述多个神经元计算单元,接收并解析所述路由器模块发送的地址信息和轴突值信息,若接收到的地址信息与神经元计算单元自身存储的地址信息匹配,则该神经元计算单元对该接收到的信息进行神经网络计算,并将计算结果及地址有效标志发送至所述发送缓存及接口,若接收到的地址信息与神经元计算单元自身存储的地址信息不匹配,则不对该接收到的信息进行神经网络计算;

所述发送缓存及接口,用于在外部全局时钟触发时将所述多个神经元计算单元的计算结果及地址有效标志进行锁存,并清零所述多个神经元计算单元的地址有效标志;以及在接收到自身对应的核控制器发出的比较脉冲后,读取序号与当前神经元周期相同的神经元地址有效标志,若为有效,所述发送缓存及接口将该神经元计算结果送入所述函数信息表并获取转换结果,若为无效,所述发送缓存及接口向自身对应的核控制器发出数据无效标志;

所述函数信息表,将所述神经元计算结果转换为对应的函数值;

所述发送缓存及接口,还用于判断所述转换结果是否有效,若为有效,所述发送缓存及接口将该转换结果输出,若为无效,所述发送缓存及接口向自身对应的核控制器发出数据无效标志。

5.如权利要求4所述的人工神经网络计算系统,其特征在于,所述路由器模块进一步包括:神经元-路由器接口、路由控制器、路由信息表、核间交互缓存及接口;

所述神经元-路由器接口,用于接收所述神经元计算模块输出的神经元计算结果;

所述路由控制器,用于读取所述神经元-路由器接口输出的的神经元计算结果,以及将与该神经元计算模块对应的核控制器输出的当前神经元周期发送至所述路由信息表;

所述路由信息表,用于存储不同神经元的目标地址,将所述路由控制器输入的当前神经元周期转换为对应的目标地址;

所述路由控制器,还用于将所述路由信息表输出的目标地址与所述神经元计算结果组成第一数据帧,并将该第一数据帧送入所述核间交互缓存及接口;

所述核间交互缓存及接口,用于发送所述第一数据帧。

6.如权利要求5所述的人工神经网络计算系统,其特征在于,所述第一数据帧包括:目标核地址字段,存储目标人工神经网络计算系统地址;

核内神经元计算模块地址字段,存储目标人工神经网络计算系统内目标神经元计算模块地址;

轴突地址字段,存储目标神经元计算模块内目标神经元计算单元地址;

神经元输出字段,存储神经元计算结果。

7.如权利要求6所述的人工神经网络计算系统,其特征在于,所述核间交互缓存及接口,还用于接收外部神经网络数据包;

所述路由控制器,还用于解析所述外部神经网络数据包,若所述外部神经网络数据包为发送至本地的数据包,则将该外部神经网络数据包中的轴突地址和轴突值送入目标神经元计算模块,若所述外部神经网络数据包不为发送至本地的数据包,则对该外部神经网络数据包中的目标核地址进行更新,并将该更新后的外部神经网络数据包送入所述核间交互缓存及接口。

8.如权利要求7所述的人工神经网络计算系统,其特征在于,所述神经元-路由器接口采用串行外设接口,该串行外设接口作为发送方时工作于从模式,作为接收方时工作于主模式。

9.如权利要求8所述的人工神经网络计算系统,其特征在于,所述核间交互缓存及接口采用串行外设接口,该串行外设接口作为发送方时工作于从模式,作为接收方时工作于主模式。

10.一种如权利要求9所述的人工神经网络计算系统的数据接收方法,其特征在于,包括以下步骤:S101,所述路由器模块等待接收神经网络数据包;

S102,所述路由器模块接收到神经网络数据包并解析;

S103,所述路由器模判断接收到的神经网络数据包是否发往本地,若是则执行S105,若否则执行S104;

S104,按先左右后上下的顺序将该神经网络数据包中目标核地址减1后送入发送缓存,返回S101;

S105,将该神经网络数据包中的轴突地址和轴突值送入神经元计算模块,该神经网络数据包被传递至每个神经元计算单元;

S106,每个神经元计算单元判断所述轴突地址是否与自身存储地址匹配,若是则执行S107,若否则返回S101;

S107,神经元计算单元输出与所述轴突地址对应的权重值,将该权重值与所述轴突值相乘后送入累加器,返回S101。

11.一种如权利要求9所述的人工神经网络计算系统的数据发送方法,其特征在于,包括以下步骤:S201,等待全局时钟触发生效;

S202,判断全局时钟触发是否生效,若是则执行S203,若否则返回S201;

S203,将各神经元计算模块累加器结果锁存至对应的发送缓存及接口;

S204,判断各发送缓存及接口是否接收到对应的核控制器发出的比较脉冲,若是则执行S205,若否则返回S204;

S205,读取地址数值与当前神经元周期相同的神经元计算模块发送缓存中及接口中的数据;

S206,判断该数据是否有效,若是则执行S207,若否则执行S215;

S207,将该数据输入函数查找表并输出结果;

S208,判断该输出结果是否有效,若是则执行S209,若否则执行S215;

S209,将该输出结果送至缓存等待路由器接收,清零对应神经元累加器;

S210,等待路由器空闲,若路由器空闲则执行S211,若路由器不空闲则返回S210;

S211,路由器模块启动一次神经元计算模块缓存数据接收;

S212,判断神经元计算模块发出信息是否处理完成,若是则执行S213,若否则返回S212;

S213,路由器模块向核控制器发信息处理完成脉冲;

S214,核控制器判断是否最后一个神经元周期,若是则返回S201,若否则执行S216;

S215,向核控制器发信息数据无效脉冲;

S216,核控制器驱动神经元周期更替,发出比较脉冲,返回S204。

说明书全文

一种人工神经网络计算核

技术领域

[0001] 本发明属于人工神经网络计算领域,特别涉及一种神经元计算单元。

背景技术

[0002] 人工神经网络是借鉴生物大脑突触-神经元结构演化而成的计算模型,能并行地进行大规模复杂运算,并具有高度非线性、自适应性的特点。与生物大脑神经网络结构类似,人工神经网络可定义为由神经元计算单元、轴突单元、树突单元、突触单元等基本结构组成。神经元计算单元是最基本的计算单元,能进行简单的数学运算;轴突单元负责输出神经元计算结果,一个神经元有一个轴突;树突单元是神经元计算的输入,一个神经元可有多个树突;突触单元表示上一神经元轴突和下一神经元树突联接的权重;神经元与神经元间通过轴突、突触、树突形成分层联接从而构成神经网络。
[0003] 人工神经网络由多层神经元计算单元联接而成,通过大量分布式的简单运算单元相互作用实现并行复杂非线性计算,具有强大的信息处理能力。在研究人工神经网络计算模型时,常用的计算设备如通用计算机往往会出现计算效能低,耗时长,能耗高等缺点。近年来,部分研究机构针对人工神经网络的特点研发出通用的神经网络计算芯片,如IBM的TrueNorth,初步达到了芯片中进行人工神经网络运算的目的。然而,目前多数神经网络计算芯片采用的是将计算单元(神经元)和联接单元(突触矩阵)分离的设计思路,由于采用了固定规模全联接的布局方式,从而限制了单核中神经元的联接数,同时在非全联接神经网络的应用中,也会造成未联接突触点位存储资源的浪费。

发明内容

[0004] 有鉴于此,确有必要提供一种可以实现灵活组网的神经网络计算芯片。
[0005] 一种人工神经网络计算核,包括:一路由器模块、至少一神经元计算模块、至少一核控制器,所述神经元计算模块与所述核控制器一一对应;所述路由器模块,用于接收并解析外部输入数据,并将解析后的地址信息和轴突值信息送入对应的神经元计算模块;所述神经元计算模块,用于进行神经元计算,并将神经元计算结果发送至所述路由器模块;所述路由器模块,还用于将所述神经元计算模块输出的神经元计算结果发送至目标地址,并向该神经元计算模块对应的核控制器发送本帧数据处理完成标志;所述核控制器,用于在接收到所述本帧数据处理完成标志后进入下一神经元周期。
[0006] 与现有技术相比较,利用本发明提供的人工神经网络计算核可以实现多个人工神经网络计算核的组网,实现计算核的柔性拓展以及存储资源的有效利用,增强了计算核的适应性,避免额外的资源开销。

附图说明

[0007] 图1为本发明第一实施例提供的神经元计算单元示意图。
[0008] 图2为本发明第二实施例提供的神经元计算模块示意图。
[0009] 图3为本发明第三实施例提供的人工神经网络计算核示意图。
[0010] 图4为本发明第四实施例提供的人工神经网络计算核示意图。
[0011] 图5为本发明第四实施例提供的人工神经网络计算核核间传输数据帧格式。
[0012] 图6为本发明提供的人工神经网络计算核路由器数据收发流程图。
[0013] 图7为本发明提供的人工神经网络计算核神经元计算模块计算结果发送流程图。
[0014] 图8为本发明第五实施例提供的人工神经网络计算核示意图。
[0015] 图9为本发明提供的人工神经网络计算核组网示意图。
[0016] 主要元件符号说明
[0017]人工神经网络计算核 10、20、30、40
路由器模块 100、400
路由控制器 110、410
上发送接收缓存及接口 120
左发送接收缓存及接口 130
下发送接收缓存及接口 140
右发送接收缓存及接口 150
路由信息表 160
神经元-路由器接口 170
第一神经元-路由器接口 471
第二神经元-路由器接口 472
第三神经元-路由器接口 473
第四神经元-路由器接口 474
神经元计算模块 200
第一神经元计算模块 200a
第二神经元计算模块 200b
第三神经元计算模块 200c
第四神经元计算模块 200d
神经元计算单元 210
解码模块 211
地址权重模块 212
乘法器 213
累加器 214
发送缓存及接口 220
函数信息表 230
核控制器 300
第一核控制器 300a
第二核控制器 300b
第三核控制器 300c
第四核控制器 300d
[0018] 如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

[0019] 下面将结合附图及具体实施例,对本发明提供的人工神经网络计算核作进一步的详细说明。
[0020] 请参见图1,本发明第一实施例提供一种神经元计算单元210,包括解码模块211、地址权重模块212、乘法器213、累加器214。
[0021] 所述解码模块211用于接收神经网络信息并解析。所述神经网络信息包括地址信息和轴突值信息,所述解码模块211将其中的地址信息送入所述地址权重模块212,将轴突值信息送入所述乘法器213。
[0022] 所述地址权重模块212中存储地址权重对列表,实现对输入到该地址权重模块212的地址信息进行匹配。若输入地址与地址权重模块212中已存储的地址信息匹配,则地址权重模块212向乘法器213输出相对应的权重值,输出的权重值为一定范围内变化的数值;若输入地址与已存储的地址信息不匹配,则地址权重模块212向乘法器213输出零值。此外,所述地址权重模块212还可以根据匹配判断结果设置地址有效标志状态。具体为,若输入地址与地址权重模块212中已存储的地址信息匹配,所述地址权重模块212发出地址有效标志,若输入地址与地址权重模块212中已存储的地址信息不匹配,所述地址权重模块212不改变地址有效标志状态。
[0023] 所述乘法器213接收所述地址权重模块212输出的权重值以及所述解码模块211输出的轴突值,将所述权重值与轴突值相乘,并将乘积送入累加器214。
[0024] 所述累加器214实现将乘法器213输出的计算结果进行累加并输出。
[0025] 本发明第一实施例提供的神经元计算单元210实现了寻址与计算一体化,通过采用寻址与计算一体化设计,突破了固定规模全联接的布局方式对神经元计算单元数目的限制,同时由于采取了地址匹配的联接方式,避免了无用联接造成的资源浪费,从而实现柔性拓展以及存储资源的有效利用,增强了神经网络计算效率。
[0026] 本发明第二实施例进一步提供一种神经元计算模块,用于建立神经元间联接关系及进行神经元计算。请参见图2,所述神经元计算模块200包括:多个神经元计算单元210、发送缓存及接口220、函数信息表230。
[0027] 所述多个神经元计算单元210接收来自外部的地址信息和轴突值信息,并对所述地址信息进行判断,若接收到的地址信息与自身存储的地址信息匹配,则对该接收到的信息进行神经网络计算,并将计算结果及地址有效标志发送至所述发送缓存及接口220,若接收到的地址信息与自身存储的地址信息不匹配,则不对该接收到的信息进行神经网络计算。
[0028] 本实施例中所述多个神经元计算单元中每一神经元计算单元进一步包括:解码模块211、地址权重模块212、乘法器213、累加器214。本实施例中的神经元计算单元与本发明第一实施例提供的神经元计算单元210结构与功能基本相同,本实施例中所述地址权重模块212还用于当输入地址与地址权重模块212中已存储的地址信息匹配,则地址权重模块212向乘法器213输出相对应的权重值,并向发送缓存及接口220发出地址有效标志;若输入地址与已存储的地址信息不匹配,则地址权重模块212向乘法器213输出零值,且不改变地址有效标志状态。
[0029] 所述发送缓存及接口220用于在外部全局时钟gclk触发时将所述多个神经元计算单元210的计算结果及地址有效标志进行锁存,并清零各神经元计算单元210的地址有效标志,以及将指定的神经元计算结果输出至所述函数信息表230并获取转换结果。
[0030] 所述函数信息表230将所述神经元计算结果转换为对应的函数值。
[0031] 本发明第二实施例提供的神经元计算模块中单个神经元计算单元将寻址与计算合二为一,可同时进行神经元寻址与计算,通过采用寻址与计算一体化设计,突破了固定规模全联接的布局方式对神经元计算单元数目的限制,同时由于采取了地址匹配的联接方式,避免了无用联接造成的资源浪费,从而实现柔性拓展以及存储资源的有效利用,增强了神经网络计算效率。
[0032] 本发明第三实施例提供一种人工神经网络计算核,包括:神经元计算模块、核控制器。所述神经元计算模块用于进行神经元计算,并在所述核控制器的控制下进入不同神经元计算结果的发送流程。所述神经元计算模块可以为现有的各种神经元计算模块,本实施例中以本发明第二实施例提供的神经元计算模块200为例进行说明。具体请参见图3,人工神经网络计算核10包括神经元计算模块200、核控制器300。
[0033] 所述核控制器300通过发出神经元周期N_peri和比较脉冲N_data_comp控制人工神经网络计算核10进入不同神经元计算结果的发送流程。当进入新的神经元周期时,通过输出比较脉冲N_data_comp触发神经元计算结果的比较、输出,并等待数据处理结果标志R_N_data_done或N_data_null有效以进入新的神经元周期。所述核控制器300在全局时钟gclk触发下进入新一轮神经元计算结果的发送周期。
[0034] 所述神经元计算模块200用于建立神经元间联接关系及进行神经元计算,与本发明第二实施例提供的神经元计算模块结构与功能基本相同,本实施例中所述发送缓存及接口220在全局时钟gclk触发时将各神经元计算单元210的计算结果及地址有效标志进行锁存,并清零各神经元计算单元210的地址有效标志,此后所述核控制器300发出比较脉冲N_data_comp,神经元计算模块200接收到所述比较脉冲N_data_comp后,读取序号与当前神经元周期N_peri相同的神经元地址有效标志,若为有效,则将该神经元计算结果送入函数信息表230并获取转换结果,若为无效,则向核控制器300发出数据无效标志N_data_null,驱动核控制器300进入下一神经元周期。所述发送缓存及接口220当判断地址有效标志为有效时,将函数信息表230的转换结果通过SPI接口输出,同时清零对应神经元计算单元210的累加器214,当判断地址有效标志为无效时,不对累加器214进行处理,同时发出数据无效标志N_data_null,驱动核控制器300进入下一神经元周期。
[0035] 本发明第三实施例提供的人工神经网络计算核10通过采用寻址与计算一体化设计思路,可动态配置核中神经元计算单元数目,也可改变单个神经元计算单元的联接数。
[0036] 本发明第四实施例提供一种人工神经网络计算核,包括路由器模块、神经元计算模块、核控制器。所述神经元计算模块用于进行神经元计算,并将神经元计算结果发送至所述路由器模块。所述神经元计算模块可以为现有的各种神经元计算模块,本实施例中以本发明第二实施例提供的神经元计算模块200为例进行说明。具体请参见图4,人工神经网络计算核20包括路由器模块100、神经元计算模块200、核控制器300。
[0037] 本实施例与第三实施例区别在于增加了路由器模块100,现对该路由器模块100进行详细说明。
[0038] 所述路由器模块100用于接收并解析外部输入数据,并将解析后的地址信息和轴突值信息送入对应的神经元计算模块200;以及将所述神经元计算模块200输出的神经元计算结果发送至目标地址,并向核控制器300发送本帧数据处理完成标志。
[0039] 所述路由器模块100进一步包括:路由控制器110、核间交互缓存及接口、路由信息表160、神经元-路由器接口170。其中所述核间交互缓存及接口进一步包括上左下右四个发送接收缓存及接口,即上发送接收缓存及接口120、左发送接收缓存及接口130、下发送接收缓存及接口140、右发送接收缓存及接口150。实际应用中发送接收缓存及其数据接口的数目可以根据具体需求而做适当的变化。所述路由器模块100与外部数据交互采用串行外设接口 (Serial Peripheral Interface,SPI)。上左下右四个发送接收缓存为核间交互缓存区。所述神经元-路由器接口170用于接收神经元计算模块200输出的神经元计算结果,本实施例中采用SPI接口,仅能存储一帧计算结果。
[0040] 所述路由器模块100接收数据时,外部接口(包括相邻路由器模块的核间交互缓存及接口以及本地神经元接口)向该路由器模块100发送缓存非空标志,提示本地路由器模块100进行数据接收。此时外部接口工作于从模式,本地接口工作于主模式。若本地路由器模块100中对应方向接收缓存未满,则按照先入先出规则发动一帧数据接收,并向路由控制器
110发出接收缓存非空标志,提示路由控制器110对接收缓存中数据帧进行处理;若本地路由器模块100中对应方向接收缓存已满,则不进行数据接收,外部发送缓存等待数据发送。
[0041] 所述路由器模块100发送数据时,路由控制器110先读取发送缓存状态。若发送缓存未满,则将待发送数据帧按照先入先出规则写入发送缓存,同时向外部接口送出发送缓存非空标志,等待外部接收;若发送缓存已满,则路由控制器110跳过此帧数据发送,读取下一帧数据并解析。
[0042] 所述路由控制器110是路由数据解析及传输控制的核心。其按照上发送接收缓存及接口120,左发送接收缓存及接口130,下发送接收缓存及接口140,右发送接收缓存及接口150,神经元-路由器接口170的顺序依次读取各接收缓存是否为空。若为非空,则读取一帧数据进行解析;若为空,则跳至下一方向接收缓存。
[0043] 请参见图5,该图为人工神经网络计算核核间传输数据帧格式,即核间交互缓存中存储的一帧数据格式,该数据帧包括:目标核地址字段、核内神经元计算模块地址字段、轴突地址字段、神经元输出字段。具体在本实施例中,所述目标核地址字段进一步包括:左右方向目标核地址字段、上下方向目标核地址字段。其中,左右方向目标核地址字段、上下方向目标核地址字段分别为8比特有符号数,最高位为0代表向左或向上,最高位为1代表向右或向下;核内神经元计算模块地址字段为4比特无符号数,代表某个核内神经元计算模块;轴突地址字段为8比特无符号数,用于神经元计算模块内神经元计算单元进行地址匹配;神经元输出字段分为8比特无符号数。所述神经元-路由器接口170存储的数据帧格式仅包括图5数据帧中的神经元输出字段。单个人工神经网络计算核发出数据帧所能到达的网络位置、核中神经元计算模块数目及单个神经元计算单元所能联接的轴突地址数目上限由该核间传输数据帧确定。需要说明的是,本实施例只是给出了一种具体的数据帧形式,实际应用中数据帧中各字段的顺序及比特数可做适当调整。
[0044] 所述路由控制器110读取核间交互缓存一帧数据后进行数据解析。若为发送至本地的数据帧,即数据帧的左右方向目标核地址、上下方向目标核地址均为0,则去掉数据帧中的目标核地址字段,同时解析核内神经元计算模块地址并将轴突地址和神经元输出两字段送入目标神经元计算模块中,而后清除接收缓存中被解析数据帧;若不为发送至本地的数据帧,则按照先左右,后上下的顺序将目标核地址减1,而后检测目标发送缓存是否为满,若为满则不作处理同时跳至读取下一方向接收缓存,若不为满则将处理后的数据帧送入发送缓存中等待发送,同时清除接收缓存中被解析数据帧。
[0045] 所述路由控制器110读取神经元-路由器接口170接收缓存一帧数据后,以核控制器300输出的当前神经元周期N_peri作路由信息表160的输入,提取路由信息表160中存储的不同神经元目标地址,并将地址与读取的神经元输出进行组帧,同时检测目标发送缓存是否为满,若为满则不作处理同时跳至读取下一方向接收缓存,若不为满则将处理后的数据帧送入发送缓存中等待发送,同时清除神经元-路由器接口170接收缓存中被解析数据帧并向核控制器300发送本帧数据处理完成标志R_N_data_done,驱动核控制器300进入下一神经元周期。所述神经元-路由器接口170在神经元计算模块200发出数据有效标志N_data_en后,若接收缓存未满则启动接收一帧数据,若接收缓存已满则保持接收等待。神经元计算模块200在向神经元-路由器接口170成功发送一帧数据后清空数据有效标志N_data_en。
[0046] 所述路由信息表160中存储的是不同神经元的目标地址,输入为当前神经元周期,输出为对应的目标地址。
[0047] 所述人工神经网络计算核20运行流程包括路由器数据收发和神经元计算模块计算结果发送两个部分,请参见图6,所述路由器数据收发包含以下步骤:
[0048] S101,路由器模块100等待接收神经网络数据包;
[0049] S102,路由器模块100接收到神经网络数据包并解析;
[0050] S103,路由器模块100判断接收到的神经网络数据包是否发往本地,若是则执行S105,若否则执行S104;
[0051] S104,按先左右后上下的顺序将该神经网络数据包中目标核地址减1后送入发送缓存,返回S101;
[0052] S105,将该神经网络数据包中的轴突地址和轴突值送入神经元计算模块200,该神经网络数据包被传递至每个神经元计算单元;
[0053] S106,每个神经元计算单元判断所述轴突地址是否与自身存储地址匹配,若是则执行S107,若否则返回S101;
[0054] S107,神经元计算单元输出与所述轴突地址对应的权重值,将该权重值与所述轴突值相乘后送入累加器,返回S101。
[0055] 请参见图7,所述神经元计算模块200计算结果发送包含以下步骤:
[0056] S201,等待全局时钟触发生效;
[0057] S202,判断全局时钟触发是否生效,若是则执行S203,若否则返回S201;
[0058] S203,将各神经元计算模块累加器结果锁存至对应的发送缓存及接口;
[0059] S204,判断各发送缓存及接口是否接收到对应的核控制器发出的比较脉冲,若是则执行S205,若否则返回S204;
[0060] S205,读取地址数值与当前神经元周期相同的神经元计算模块发送缓存中及接口中的数据;
[0061] S206,判断该数据是否有效,若是则执行S207,若否则执行S215;
[0062] S207,将该数据输入函数查找表并输出结果;
[0063] S208,判断该输出结果是否有效,若是则执行S209,若否则执行S215;
[0064] S209, 将该输出结果送至缓存等待路由器接收,清零对应神经元累加器;
[0065] S210,等待路由器空闲,若路由器空闲则执行S211,若路由器不空闲则返回S210;
[0066] S211,路由器模块启动一次神经元计算模块缓存数据接收;
[0067] S212,判断神经元计算模块发出信息是否处理完成,若是则执行S213,若否则返回S212;
[0068] S213,路由器模块向核控制器发信息处理完成脉冲;
[0069] S214,核控制器判断是否最后一个神经元周期,若是则返回S201,若否则执行S216;
[0070] S215,向核控制器发信息数据无效脉冲;
[0071] S216,核控制器驱动神经元周期更替,发出比较脉冲,返回S204。
[0072] 本发明第四实施例提供的人工神经网络计算核20采用单路由器单神经元计算模块的工作方式,通过路由器模块100实现多个人工神经网络计算核20的组网。
[0073] 本发明第五实施例提供一种人工神经网络计算核,包括一路由器模块、多个神经元计算模块、多个核控制器,所述多个神经元计算模块与所述多个核控制器一一对应。本实施例与第三实施例区别在于,第三实施例为单路由单神经元计算模块的配置,而本实施例为单路由多神经元计算模块的配置,即单一路由器模块可与多个神经元计算模块建立联接。
[0074] 本实施例具体以单路由四神经元计算模块为例进行说明,实际应用中经元计算模块的数量可以根据具体需求而做适当的变化。请参见图8,一种人工神经网络计算核30,包括路由器模块400、第一神经元计算模块200a、第一核控制器300a、第二神经元计算模块200b、第二核控制器300b、第三神经元计算模块200c、第三核控制器300c、第四神经元计算模块200d、第四核控制器300d。
[0075] 所述路由器模块400与第三实施例中的路由器模块100区别在于,路由器模块400包括了多个神经元-路由器接口,即第一神经元-路由器接口471、第二神经元-路由器接口472、第三神经元-路由器接口473、第四神经元-路由器接口474。每组核控制器、神经元计算模块、神经元-路由器接口分别同路由控制器410按实施例三中单路由单神经元计算模块的配置方式建立联接。
[0076] 本发明第四实施例提供的人工神经网络计算核30中一个路由器模块对应多个神经元计算模块,若该多个神经元计算模块具有相同或相近的功能,可以实现聚类计算,可降低路由器节点数、提高传输带宽。实现计算核的柔性拓展以及存储资源的有效利用,以增强计算核的适应性,避免额外的资源开销。
[0077] 请参见图9,本发明进一步提供一种人工神经网络计算系统,包括多个人工神经网络计算核40,该多个人工神经网络计算核40通过路由器模块100实现多个方向的相互联接。实施例中仅给出了包含有9个人工神经网络计算核40的情形,且每一人工神经网络计算核
40包含有4个发送接收缓存及接口,实现上下左右4个方向的相互联接。可以理解,实际应用中人工神经网络计算核的数目及每一人工神经网络计算核中包含的发送接收缓存及接口数目可以依据实际的应用情形而改变。
[0078] 本实施例提供了一种通过将多个人工神经网络计算核40组网形成的人工神经网络计算系统,实现了多人工神经网络计算核40的网络连接。
[0079] 另外,本领域技术人员还可以在本发明精神内做其它变化,当然,这些依据本发明精神所做的变化,都应包含在本发明所要求保护的范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用