包括多个核心处理模块的人工神经网络的处理系统及方法技术方案

技术编号:18895721 阅读:18 留言:0更新日期:2018-09-08 11:32
本公开提供了一种包括多个核心处理模块的人工神经网络的处理系统及方法,其中,所述人工神经网络的处理系统,包括:多核心处理模块,其包括多个核心处理模块;其中,该多个核心处理模块共同复用输入神经元和/或权值。本公开包括多个核心处理模块的人工神经网络的处理系统及方法,其在神经网络处理系统中引入多核设计,从而提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。

Processing system and method of artificial neural network including multiple core processing modules

The present disclosure provides a processing system and a method of an artificial neural network comprising a plurality of core processing modules, wherein the processing system of the artificial neural network comprises a plurality of core processing modules including a plurality of core processing modules, wherein the plurality of core processing modules jointly reuse input neurons and/or weights. . The present disclosure includes a processing system and a method of an artificial neural network comprising a plurality of core processing modules, in which a multi-core design is introduced into the neural network processing system, thereby improving the operation speed of the neural network processing system and making the neural network processing system performance higher and more efficient.

【技术实现步骤摘要】
包括多个核心处理模块的人工神经网络的处理系统及方法本公开是2016年4月18日所提出的申请号为201610240416.X、专利技术名称为《一种神经网络的处理方法、系统》的专利技术专利申请的分案申请。
本公开涉及计算机
,尤其涉及一种人工神经网络的处理系统及方法。
技术介绍
在大数据时代,越来越多的设备需要对于真实世界的实时输入进行越来越复杂的处理,如工业机器人、自动驾驶无人汽车以及移动设备等等。这些任务大多数偏向于机器学习领域,其中大部分运算为向量运算或者矩阵运算,具有极高的并行度。相较于传统通用的GPU/CPU加速方案,硬件ASIC加速器是目前最受欢迎的加速方案,一方面可以提供极高的并行度可以实现极高的性能,另外一方面具有极高的能效性。常见的神经网络算法中,包括最为流行的多层感知神经网络(Multi-LayerPerceptron,MLP)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)和深度神经网络(DeepNeuralNetwork,DNN),通常包含多层神经元而每层神经元常常通过特定方式进行组织,如卷积神经网络中按照特征图(FeatureMap)进行组织。每个输出特征图的处理常常独立于彼此。神经网络的绝大部分运算为输入神经元到输出神经元的处理,少量运算为不需要输出神经元参与的运算,如非线性运算。神经网络中每层的运算速度深切的影响了神经网络加速器的性能。神经网络加速器中,提升这些运算的并行度,也即加速器的吞吐量,为提升神经网络加速器的性能的主要手段。现有技术中,执行输入神经元到输出神经元的处理的模块通常为单核设计,难以满足神经网络加速器的性能要求。综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本公开的目的在于提供一种神经网络的处理系统及方法,其在神经网络处理系统中引入多核设计,从而提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。根据本公开的一个方面,提供了一种人工神经网络的处理系统,包括:多核心处理模块,其包括多个核心处理模块;其中,该多个核心处理模块共同复用输入神经元和/或权值。在一些实施例中,所述神经网络的处理系统进行处理时,将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。在一些实施例中,所述多个核心处理模块共同处理同一特征图时,共同复用权值。在一些实施例中,所述多核心处理模块用于执行神经网络运算中的向量乘加操作。在一些实施例中,所述的处理系统还包括:至少一片上存储介质,用于存储由神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据;以及至少一ALU模块,用于从所述多核心处理模块或所述片上存储介质获取输入数据执行所述多核心处理模块无法完成的非线性运算;其中,所述多个核心处理模块共享所述片上存储介质以及ALU模块,或者所述多个核心处理模块具有独立的所述片上存储介质以及ALU模块。在一些实施例中,所述的处理系统还包括:至少一片内地址索引模块,用于执行运算时根据输入的索引映射至正确的存储地址。在一些实施例中,所述处理过程中产生的数据包括处理结果或中间结算结果。在一些实施例中,所述神经网络根据多核处理模式进行神经网络划分,包括:从输入神经元划分、输出神经元划分和权值连接划分。在一些实施例中,所述神经网络的处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理一层输出特征图;或所述神经网络的处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理同一输出特征图的不同区域;或所述神经网络的处理系统在执行一维运算时,将同一输入分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理不同的输出神经元,所述多个核心处理模块均分别完成当前输出神经元的处理后,所述多核心处理模块再执行新的输入的处理。在一些实施例中,所述多个核心处理模块均分别完成当前输出特征图的处理后,所述多核心处理模块再执行新的输出特征图处理。在一些实施例中,所述多核心处理模块的多个核心处理模块之间为同构设计或异构设计。根据本公开的另一个方面,提供了一种人工神经网络的处理方法,包括:将同一输入神经元分别发送至多个核心处理模块,将不同的输入权值分配至不同的核心处理模块;以及多个核心处理模块分别将输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。在一些实施例中,所述的处理方法还包括:将输入数据发送至多个核心处理模块,多个核心处理模块执行神经网络运算中的向量乘加操作;以及将输入数据发送至ALU模块,ALU模块根据所述多个核心处理模块的处理结果或者获取的输入数据执行所述多个核心处理模块无法完成的非线性运算。在一些实施例中,在将输入数据发送至多个核心处理模块或ALU模块之前,还包括:片内地址索引模块根据输入的索引映射至正确的存储地址;根据所述存储地址从片上存储介质中获取输入数据;在多个核心处理模块执行向量乘加操作及ALU模块执行非线性运算之后,还包括:将处理过程中产生的数据缓存至所述片上存储介质。根据本公开的另一个方面,提供了一种神经网络的处理系统,包括:至少一片上存储介质、用于存储由神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据;至少一片内地址索引模块、用于执行运算时根据输入的索引映射至正确的存储地址;由多个核心处理模块组成的多核心处理模块,用于执行神经网络运算中的向量乘加操作;至少一ALU模块,用于从所述多核心处理模块或所述片上存储介质获取输入数据执行所述多核心处理模块无法完成的非线性运算,其中,所述多个核心处理模块共享所述片上存储介质以及ALU模块,或者所述多个核心处理模块具有独立的所述片上存储介质以及ALU模块。根据本公开的处理系统,所述处理过程中产生的数据包括处理结果或中间结算结果。根据本公开的处理系统,所述神经网络处理系统进行处理时,将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。根据本公开的处理系统,所述神经网络处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理一层输出特征图。根据本公开的处理系统,所述神经网络处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理同一输出特征图的不同区域。根据本公开的处理系统,所述多个核心处理模块均分别完成当前输出特征图的处理后,所述多核心处理模块再执行新的输出特征图处理。根据本公开的处理系统,所述神经网络处理系统在执行一维运算时,将同一输入分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理不同的输出神经元,所述多个核心处理模块均分别完成当前输出神经元的处理后,所述多核心处理模块再执行新的输入的处理。根据本公开的处理系统,所述多核心处理模块的多个核心处理模块之间为同构设计或异构设计本文档来自技高网
...

【技术保护点】
1.一种人工神经网络的处理系统,包括:多核心处理模块,其包括多个核心处理模块;其中,该多个核心处理模块共同复用输入神经元和/或权值。

【技术特征摘要】
1.一种人工神经网络的处理系统,包括:多核心处理模块,其包括多个核心处理模块;其中,该多个核心处理模块共同复用输入神经元和/或权值。2.根据权利要求1所述的处理系统,其中,所述神经网络的处理系统进行处理时,将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。3.根据权利要求1所述的处理系统,其中,所述多个核心处理模块共同处理同一特征图时,共同复用权值。4.根据权利要求1至3中任一项所述的处理系统,其中,所述多核心处理模块用于执行神经网络运算中的向量乘加操作。5.根据权利要求1至4中任一项所述的处理系统,还包括:至少一片上存储介质,用于存储由神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据;以及至少一ALU模块,用于从所述多核心处理模块或所述片上存储介质获取输入数据执行所述多核心处理模块无法完成的非线性运算;其中,所述多个核心处理模块共享所述片上存储介质以及ALU模块,或者所述多个核心处理模块具有独立的所述片上存储介质以及ALU模块。6.根据权利要求5所述的处理系统,还包括:至少一片内地址索引模块,用于执行运算时根据输入的索引映射至正确的存储地址。7.根据权利要求5或6所述的处理系统,其中,所述处理过程中产生的数据包括处理结果或中间结算结果。8.根据权利要求1至7中任一项所述的处理系统,其中,所述神经网络根据多核处理模式进行神经网络划分,包括:从输入神经元划分、输出神经元划分和权值连接划分。9.根据权利要求8所述的处理系统,其中,所述神经网络的处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块...

【专利技术属性】
技术研发人员:杜子东郭崎陈天石陈云霁
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1