神经网络计算处理模型制造技术

技术编号:19965269 阅读:32 留言:0更新日期:2019-01-03 13:21
本发明专利技术涉及类脑计算技术领域,具体提供了一种神经网络计算处理模型,旨在解决在不增加新网络结构的情况下,如何扩展人工神经网络可执行算法的技术问题。为此目的,本发明专利技术中的向量计算模块可以对操作数据进行多级乘累加计算,来模拟不同的神经网络结构。标量计算模块可以基于预设的数据运算方法,对操作数据进行相应计算。激活函数模块可以根据预设的激活函数计算策略、向量计算模块的计算结果和标量计算模块的计算结果,模拟相应激活函数计算,来实现相应神经网络的计算(如卷积神经网络、全连接神经网络或脉冲神经网络)。基于上述结构,本发明专利技术无需对神经网络计算处理模型进行网络拓展,即可实现不同类型神经网络的计算。

Neural Network Computational Processing Model

The invention relates to the field of brain-like computing technology, and specifically provides a computing processing model of neural network, aiming at solving the technical problem of how to extend the executable algorithm of artificial neural network without adding a new network structure. To this end, the vector computing module in the present invention can calculate the operation data by multi-level multiplication and accumulation to simulate different neural network structures. Scalar computing module can calculate the operation data based on the preset data operation method. Activation function module can simulate the calculation of corresponding activation function according to the calculation strategy of preset activation function, the calculation result of vector calculation module and the calculation result of scalar calculation module, so as to realize the calculation of corresponding neural network (such as convolution neural network, fully connected neural network or impulse neural network). Based on the above structure, the present invention can realize the calculation of different types of neural networks without expanding the calculation and processing model of neural networks.

【技术实现步骤摘要】
神经网络计算处理模型
本专利技术涉及类脑计算
,具体涉及一种神经网络计算处理模型。
技术介绍
人工神经网络(ArtificialNeuralNetwork,ANN)是一种由大量节点(神经元)互相联接构成的运算模型,是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。具体地,每个节点代表一种特定的激励函数,每两个节点间的连接都代表一个对于通过该连接信号的权重(相当于人工神经网络的记忆)。人工神经网络的输出取决于网络结构、权重值和激励函数。当前,全连接神经网络、卷积神经网络被广泛使用。脉冲神经网络作为脑启发型网络结构也备受关注。而往往一个神经网络仅能执行一种神经网络算法,因此需要设置多个神经网络来对某种数据分别执行不同的神经网络算法,而这势必会增加神经网络结构的复杂性,并降低神经网络运行的可靠性。
技术实现思路
为了解决现有技术中的上述问题,即为了解决在不增加新网络结构的情况下,如何扩展人工神经网络可执行算法的技术问题。为此目的,本专利技术提供了一种神经网络计算处理模型。本专利技术中神经网络计算处理模型,其特征在于,包括向量计算模块、激活函数模块和存储模块;所述向量计算模块,配置为对预先获取的第一操作数据进行乘累加计算,并将乘累加计算结果发送至所述存储模块;所述激活函数模块,配置为基于预设的激活函数计算策略,对预先获取的第二操作数据进行非线性函数计算,并将非线性函数计算结果发送至所述存储模块;其中,在所述神经网络计算处理模型的某轮计算过程中,用于乘累加计算的第一操作数据为初始操作数据或前一轮计算所得的非线性函数计算结果,用于非线性函数计算的第二操作数据为本轮计算所得的乘累加计算结果。进一步地,本专利技术提供的一个优选技术方案为:所述向量计算模块包括数据解扩/对齐子模块、MAC阵列子模块、池化子模块和数据选择子模块;所述数据解扩/对齐子模块,配置为对预先获取的权重矩阵数据进行数据解扩和/或数据对齐处理,得到原始权重数据,并将所述原始权重数据发送至所述MAC阵列子模块;所述MAC阵列子模块,配置为对所述第一操作数据进行乘累加计算,并将乘累加计算结果发送至所述池化子模块或数据选择子模块;所述池化子模块,配置为对所述MAC阵列子模块所发送的计算结果进行数据池化处理,并将数据池化处理结果发送至所述数据选择子模块;所述数据选择子模块,配置为根据所述激活函数模块所指定的数据类型,将所述乘累加计算结果或数据池化结果中的相应数据发送至所述激活函数模块。进一步地,本专利技术提供的一个优选技术方案为:所述数据选择子模块,进一步配置为:在通过所述神经网络计算处理模型进行卷积计算的情况下,所述数据选择子模块根据激活函数模块所指定的数据类型,将所述数据池化结果中的相应数据发送至所述激活函数模块;在通过所述神经网络计算处理模型进行全连接神经网络计算的情况下,所述数据选择子模块根据激活函数模块所指定的数据类型,将所述乘累加计算结果发送至所述激活函数模块。进一步地,本专利技术提供的一个优选技术方案为:所述神经网络计算处理模型还包括标量计算模块;所述标量计算模块,配置为基于预设的数据运算方法,对预先获取的第三操作数据进行相应计算,并将数据运算结果发送至所述存储模块;在此情况下,在所述神经网络计算处理模型的某轮计算过程中,用于乘累加计算的第一操作数据为初始操作数据和/或前一轮计算所得的非线性函数计算结果和/或前一轮计算所得的数据运算结果,用于非线性函数计算的第二操作数据为本轮计算所得的乘累加计算结果和/或数据运算结果。进一步地,本专利技术提供的一个优选技术方案为:所述预设的数据运算方法包括向量内积运算方法、指数运算方法、自然对数运算方法和相似度运算方法。进一步地,本专利技术提供的一个优选技术方案为:所述标量计算模块,进一步配置为基于CORDIC算法,对预先获取的第三操作数据进行相应数据运算的计算。进一步地,本专利技术提供的一个优选技术方案为:所述激活函数计算策略包括Sigmoid激活函数、Tanh激活函数、ReLU激活函数、Leaky-ReLU激活函数和Maxout激活函数。进一步地,本专利技术提供的一个优选技术方案为:所述激活函数模块,进一步配置为基于CORDIC算法,对预先获取的第二操作数据进行相应激活函数计算策略所指定的非线性函数计算。进一步地,本专利技术提供的一个优选技术方案为:所述激活函数模块,进一步配置为基于预设的乘法/加法逻辑运算方法,对预先获取的第四操作数据进行计算,来模拟脉冲神经网络计算。与最接近的现有技术相比,上述技术方案至少具有如下有益效果:1、本专利技术中向量计算模块可以对操作数据进行多级乘累加计算,来模拟不同的神经网络结构。标量计算模块可以基于预设的数据运算方法,对操作数据进行相应计算(如向量内积计算、指数计算、自然对数计算和相似度计算)。激活函数模块可以根据预设的激活函数计算策略、向量计算模块的计算结果和标量计算模块的计算结果,模拟相应激活函数计算,来实现相应神经网络的计算(如卷积神经网络、全连接神经网络或脉冲神经网络)。2、本专利技术中存储模块可以存储并管理向量计算模块和激活函数模块在各自计算过程中使用和生成的数据。3、本专利技术中向量计算模块可以包括数据解扩/对齐子模块、MAC阵列子模块、池化子模块和数据选择子模块。具体地,数据解扩/对齐子模块可以压缩数据转换为原始数据。MAC阵列子模块可以对操作数据进行多级乘累加计算。当利用神经网络计算处理模型进行卷积神经网络计算时,MAC阵列子模块将输出数据发送至池化子模块进行池化处理,再经数据选择子模块输出。当利用神经网络计算处理模型进行全连接神经网络计算时,MAC阵列子模块将输出数据直接发送至数据选择子模块进行输出。附图说明图1是本专利技术实施例中一种神经网络计算处理模型的主要结构示意图;图2是本专利技术实施例中激活函数模块的一部分结构示意图;图3是本专利技术实施例中激活函数模块的另一部分结构示意图;图4是本专利技术实施例中向量计算模块的主要结构示意图;图5是本专利技术实施例中另一种神经网络计算处理模型的主要结构示意图。具体实施方式下面参照附图来描述本专利技术的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本专利技术的技术原理,并非旨在限制本专利技术的保护范围。参阅附图1,图1示例性示出了本实施例中一种神经网络计算处理模型的主要结构示意图。如图1所示,本实施例中神经网络计算处理模型可以包括向量计算模块11、激活函数模块12和存储模块13。具体地,在本实施例中向量计算模块11可以配置为对预先获取的第一操作数据进行乘累加计算,并将乘累加计算结果发送至存储模块13。激活函数模块12可以配置为基于预设的激活函数计算策略,对预先获取的第二操作数据进行非线性函数计算,并将非线性函数计算结果发送至存储模块13。其中,在神经网络计算处理模型的某轮计算过程中,用于乘累加计算的第一操作数据为初始操作数据或前一轮计算所得的非线性函数计算结果,用于非线性函数计算的第二操作数据为本轮计算所得的乘累加计算结果。本实施例中激活函数计算策略可以包括Sigmoid激活函数、Tanh激活函数、ReLU激活函数、Leaky-ReLU激活函数和Maxout激活函数。相应地,本实施例中图1所示的激活函数模块12还可以配置为基于CORDIC算法,对预先本文档来自技高网...

【技术保护点】
1.一种神经网络计算处理模型,其特征在于,包括向量计算模块、激活函数模块和存储模块;所述向量计算模块,配置为对预先获取的第一操作数据进行乘累加计算,并将乘累加计算结果发送至所述存储模块;所述激活函数模块,配置为基于预设的激活函数计算策略,对预先获取的第二操作数据进行非线性函数计算,并将非线性函数计算结果发送至所述存储模块;其中,在所述神经网络计算处理模型的某轮计算过程中,用于乘累加计算的第一操作数据为初始操作数据或前一轮计算所得的非线性函数计算结果,用于非线性函数计算的第二操作数据为本轮计算所得的乘累加计算结果。

【技术特征摘要】
1.一种神经网络计算处理模型,其特征在于,包括向量计算模块、激活函数模块和存储模块;所述向量计算模块,配置为对预先获取的第一操作数据进行乘累加计算,并将乘累加计算结果发送至所述存储模块;所述激活函数模块,配置为基于预设的激活函数计算策略,对预先获取的第二操作数据进行非线性函数计算,并将非线性函数计算结果发送至所述存储模块;其中,在所述神经网络计算处理模型的某轮计算过程中,用于乘累加计算的第一操作数据为初始操作数据或前一轮计算所得的非线性函数计算结果,用于非线性函数计算的第二操作数据为本轮计算所得的乘累加计算结果。2.根据权利要求1所述的神经网络计算处理模型,其特征在于,所述向量计算模块包括数据解扩/对齐子模块、MAC阵列子模块、池化子模块和数据选择子模块;所述数据解扩/对齐子模块,配置为对预先获取的权重矩阵数据进行数据解扩和/或数据对齐处理,得到原始权重数据,并将所述原始权重数据发送至所述MAC阵列子模块;所述MAC阵列子模块,配置为对所述第一操作数据进行乘累加计算,并将乘累加计算结果发送至所述池化子模块或数据选择子模块;所述池化子模块,配置为对所述MAC阵列子模块所发送的计算结果进行数据池化处理,并将数据池化处理结果发送至所述数据选择子模块;所述数据选择子模块,配置为根据所述激活函数模块所指定的数据类型,将所述乘累加计算结果或数据池化结果中的相应数据发送至所述激活函数模块。3.根据权利要求2所述的神经网络计算处理模型,其特征在于,所述数据选择子模块,进一步配置为:在通过所述神经网络计算处理模型进行卷积计算的情况下,所述数据选择子模块根据激活函数模块所指定的数据类型,将所述数据池化结果中的相应数据发送至所述激活函数模块;在通过所述神经网络计算处理模型进行全连接神经网...

【专利技术属性】
技术研发人员:陈亮
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京,11

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

1