一种卷积运算方法和基于该方法的神经网络处理器技术

技术编号:18238305 阅读:67 留言:0更新日期:2018-06-17 01:48
本发明专利技术提供了一种卷积运算方法和基于该方法的神经网络处理器。该卷积运算方法包括:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;针对所述有效元素子组执行卷积运算。利用本发明专利技术的方法和神经网络处理器能够降低卷积计算量,从而提高计算效率。 1

A convolution operation method and a neural network processor based on the method.

The invention provides a convolution operation method and a neural network processor based on the method. The convolution operation method includes: obtaining the weight vector and the neuron vector of the convolution operation in the convolution domain, wherein the weight vector and the neuron vector have the same dimensions, search the effective weight from the weight vector and find the effective neurons from the neuron vector, and match the effective element subgroup. In which each effective element subgroup includes an effective weight and an effective neuron corresponding to the effective weight, the effective weight is a non zero weight, and the effective neuron is a non zero neuron; the convolution operation is performed for the effective element subgroup. The method of the invention and the neural network processor can reduce the convolution computation and improve the computation efficiency. One

【技术实现步骤摘要】
一种卷积运算方法和基于该方法的神经网络处理器
本专利技术涉及深度学习
,尤其涉及一种卷积计算方法以及基于该方法的神经网络处理器。
技术介绍
近年来,深度学习技术得到了飞速的发展,在解决高级抽象认知问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用,成为学术界和工业界的研究热点。深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来突破性进展。深度神经网络模型结构是一种运算模型,由大量节点通过网状互连结构构成,这些节点被称为神经元。每两个节点间连接强度都代表通过该连接信号在两个节点间的加权重,即权重,与人类神经网络中的记忆相对应。然而,实现深度学习技术依赖于极大的计算量。在训练阶段,需要在海量数据中通过反复迭代计算得到神经网络中的权重数据;在推理阶段,同样需要神经网络在极短的响应时间(通常为毫秒级)内完成对输入数据的运算处理。神经网络中涉及的计算主要包括卷积操作、激活处理和池化操作等,例如,卷积操作是将输入的神经元或称像素与相应卷积核的权重进行乘累加处理,卷积操作占用了神经网络处理的大部分时间,提高卷积操作的计算效率,能够有效降低神经网络的处理时间和运行功耗。因此,为了将神经网络推向更广泛应用,例如,智能穿戴、智能机器人、自动驾驶以及模式识别等领域,需要对现有技术中卷积运算进行改进,以实现数据处理的实时性、低功耗以及计算效率和资源利用率的提升。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种卷积计算方法和基于该方法的神经网络处理器,。根据本专利技术的第一方面,提供了一种卷积运算方法。该方法包括:步骤1:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;步骤2:从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;步骤3:针对所述有效元素子组执行卷积运算。在一个实施例中,步骤2包括:步骤21:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;步骤22:根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码。在一个实施例中,通过将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。根据本专利技术的第二方面,提供了一种神经网络处理器。该神经网络处理器包括:用于获取卷积域内待执行卷积运算的权重向量和神经元向量的向量获取单元,其中,所述权重向量和所述神经元向量具有相同的维度;用于从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组的向量匹配单元,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;用于针对所述有效元素子组执行卷积运算的卷积运算单元。在一个实施例中,所述向量匹配单元还用于:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码。在一个实施例中,所述向量匹配单元通过执行以下过程获得所述有效性匹配编码:将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。在一个实施例中,本专利技术的神经网络处理器还包括与所述向量匹配单元和所述卷积运算单元相连的有效元素子组暂存单元,其用于接收所述向量匹配单元输出的所述有效元素子组并将其输出至所述卷积运算单元。在一个实施例中,本专利技术的神经网络处理器还包括控制单元,其用于控制所述神经网络处理器中数据的传递过程和传递数量。根据本专利技术的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现本专利技术的卷积计算方法。根据本专利技术的第四方面,提供了一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术的卷积计算方法。与现有技术相比,本专利技术的优点在于:针对神经网络中的神经元和权重存在大量0值的特点,在卷积运算中,对卷积域的神经元和权重的有效性进行匹配,滤除对卷积结果没有影响的0值的计算元素,从而降低了卷积运算量,提高了卷积计算效率和资源利用率。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1示出了神经网络中对输入特征进行卷积的过程示意图;图2示出了根据本专利技术一个实施例的卷积运算方法的流程图;图3示出了根据本专利技术一个实施例的神经元向量和权重向量的示意图;图4示出了根据本专利技术一个实施例的获得有效元素子组的过程示意;图5示出了根据本专利技术一个实施例的神经网络处理器的示意图;图6示出了基于图5的神经网络处理器进行卷积计算的流程图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。典型地,深度神经网络具有多层拓扑结构,例如,卷积神经网络由若干个卷积层、池化层和全连接层组成,其中,一个卷积层的操作过程是:将一个L*L大小的权重卷积核对输入特征图进行扫描,在扫描过程中权重卷积核与特征图内对应卷积域的神经元求内积,并将所有卷积域的内积值求和,得到卷积层的输出特征图或称输出神经元,图1示出了5*5权重卷积核对一个输入特征图进行扫描的过程示意。在实际的处理过程中,可以采用多个权重卷积核对某个输入特征图进行扫描,例如,采用32个权重卷积核时,即相当于提取该输入特征图的32种特征,从而获得32个输出特征图。在本专利技术的一个实施例中,为了提高神经网络的计算效率,提供了一种卷积计算方法,参见图2所示,该方法包括以下步骤:步骤S210,获取卷积域的神经元向量和权重向量。在此步骤中,将待执行卷积运算的卷积域的神经元和权重组织为向量形式,获得神经元向量和权重向量。例如,参见图3所示,当以2*2的权重卷积核对4个输入特征图进行卷积操作时,一个卷积域内四个输入特征图的神经元分别为假设权重卷积核为时,可将卷积域神经元组织为输入特征图的数量相等的多组向量,每组向量对应卷积域内4个输入特征图的神经元,具体地,生成4组神经元向量,分别为(1,2,3,4)、(5,6,7,8)、(9,a,b,c)和(d,e,f,g),相应地,权重卷积核的向量形式为(h,i,j,k),则采用该卷积核本文档来自技高网...
一种卷积运算方法和基于该方法的神经网络处理器

【技术保护点】
1.一种卷积运算方法,包括以下步骤:

【技术特征摘要】
1.一种卷积运算方法,包括以下步骤:步骤1:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;步骤2:从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;步骤3:针对所述有效元素子组执行卷积运算。2.根据权利要求1所述的方法,其中,步骤2包括:步骤21:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;步骤22:根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码。3.根据权利要求2所述的方法,其中,通过将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。4.一种神经网络处理器,包括:用于获取卷积域内待执行卷积运算的权重向量和神经元向量的向量获取单元,其中,所述权重向量和所述神经元向量具有相同的维度;用于从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组的向量匹配单元,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零...

【专利技术属性】
技术研发人员:韩银和闵丰许浩博王颖
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1