数据处理装置、电子设备和数据处理方法制造方法及图纸

技术编号:28048640 阅读:17 留言:0更新日期:2021-04-09 23:39
一种数据处理装置、电子设备和数据处理方法,其中装置包括:输入模块(1),用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵;计算模块(2),用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;输出模块(3),用于输出所述输出特征值矩阵;其中,所述n为正整数。可以实现两种长度的数据的卷积运算,提高深度卷积神经网络的精度,适应不同深度卷积神经网络的设计要求。

【技术实现步骤摘要】
【国外来华专利技术】数据处理装置、电子设备和数据处理方法
本专利技术实施例涉及数据处理
,尤其涉及一种数据处理装置、电子设备和数据处理方法。
技术介绍
深度卷积神经网络是一种机器学习算法,它被广泛应用于目标识别、目标检测以及图像的语义分割等计算机视觉任务。深度卷积神经网络的大部分运算都是卷积操作,设计专用的硬件电路加速卷积层的卷积运算,可以大幅度减少深度卷积神经网络的计算时间。现有的卷积运算装置的操作数只支持一种宽度的定点数,例如8bits定点数,因此无法处理有较高精度要求的深度卷积神经网络的数据,难以满足深度卷积神经网络精度日益提高的设计要求。
技术实现思路
本专利技术实施例提供了一种数据处理装置、电子设备和数据处理方法,以解决现有技术中卷积运算装置难以满足深度卷积神经网络精度要求的技术问题。本专利技术实施例第一方面提供一种数据处理装置,包括:输入模块,用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵;计算模块,用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;输出模块,用于输出所述输出特征值矩阵;其中,所述n为正整数。本专利技术实施例第二方面提供一种电子设备,包括第一方面所述的数据处理装置。本专利技术实施例第三方面提供一种数据处理方法,包括:获取输入特征值矩阵以及n位或者2n位的权重值矩阵;将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;输出所述输出特征值矩阵;其中,所述n为正整数。本专利技术实施例提供的数据处理装置、电子设备和数据处理方法,可以实现两种长度的数据的卷积运算,提高深度卷积神经网络的精度,适应不同深度卷积神经网络的设计要求。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例的一种应用场景的示意图;图2为图1所示应用场景中卷积操作过程的示意图;图3为本专利技术实施例一提供的一种数据处理装置的结构示意图;图4为本专利技术实施例一提供的一种数据处理装置进行卷积运算的原理示意图;图5为本专利技术实施例二提供的一种数据处理装置的结构示意图;图6为本专利技术实施例三提供的一种数据处理装置中脉动单元的结构示意图;图7为本专利技术实施例三提供的一种数据处理装置中累加器的结构示意图;图8为本专利技术实施例三提供的数据处理装置进行n位数据的卷积运算过程示意图;图9为本专利技术实施例三提供的数据处理装置进行2n位数据的卷积运算过程示意图;图10为本专利技术实施例四提供的一种数据处理装置的结构示意图;图11为本专利技术实施例四提供的一种数据处理装置存储n位数据时的存储格式示意图;图12为本专利技术实施例四提供的一种数据处理装置存储2n位数据时的存储格式示意图;图13为本专利技术实施例五提供的一种数据处理方法的流程示意图。附图标记:1-输入模块2-计算模块3-输出模块4-存储器11-权重值加载模块12-输入特征值加载模块21-脉动单元22-累加器23-控制单元24-权重值注入单元25-输入特征值注入单元26-结果产出单元27-结果存储单元211-权重值寄存器212-输入特征值寄存器213-乘法电路214-加法电路215-权重值移位寄存器216-输入特征值移位寄存器217-乘法结果寄存器221-乘累加结果寄存器222-前乘累加结果寄存器223-纵向加法电路224-第一阶段加法电路225-滤波电路226-累加器结果寄存器227-总和寄存器228-延迟电路229-第二阶段加法电路具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。图1为本专利技术实施例的一种应用场景的示意图。本专利技术实施例提供的数据处理装置和数据处理方法,可以应用于任意需要卷积运算的场景,如深度卷积神经网络等。如图1所示,可以应用本专利技术实施例的深度卷积神经网络包括:输入、输出和隐藏层。图1示出的网络中每一层可以有一个输入和一个输出,在实际的深度卷积神经网络中,每一层可能会有多个输入或多个输出。深度卷积神经网络的隐藏层由一组级联的特征图和操作组成。隐藏层的操作包括卷积、池化、激活等。隐藏层的特征图由上一层的特征图进行上述操作后产生。一般情况下,卷积神经网络中的层可以按照操作的类型进行命名,比如,进行卷积运算的层可以归为卷积层,进行池化操作的层可以归为池化层。卷积层的卷积操作过程为:用一组权重值对输入的一组特征图进行向量内积运算,然后输出一组特征图。输入的权重值也被称为滤波器或卷积核。权重值和输入特征图、输出特征图均可以被表示为一个多维矩阵。输入特征图可以表示为输入特征值矩阵,矩阵中的元素记为输入特征值;输出特征图可以表示为输出特征值矩阵,矩阵中的元素记为输出特征值。图2为图1所示应用场景中卷积操作过程的示意图。如图2所示,一个R*R*N的权重值矩阵与一个H*H*N的输入特征值矩阵卷积,可以得到一个E*E*N的输出特征值矩阵。输出特征值矩阵中的每个输出特征值可以由输入特征值矩阵中的部分输入特征值与权重值矩阵的权重值进行内积运算得到。本专利技术实施例提供的技术方案,可以对支持n位或者2n位的卷积运算。下面结合附图,对本专利技术实施例中的技术方案进行描述。实施例一本专利技术实施例一提供一种数据处理装置。图3为本专利技术实施例一提供的一种数据处理装置的结构示意图。如图3所示,本实施例中的数据处理装置,可以包括:输入模块1,用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵,所述n为正整数;计算模块2,用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;输出模块3,用于输出所述输出特征值矩阵。具体地,所述输入模块1可以与存储器或者其他模块连接,用于获取待进行卷积运算的输入特征值矩阵和权重值矩阵。可选的,本专利技术各实施例中所述的连接,可以为物理连接或通信连接。所述权重值矩阵可以为n位的权重值矩阵,或者可以为2n位的权重值矩阵。其中,n位的权重值矩阵可以是指矩阵中的权重值的长度为n位;2n位的权重值矩阵可以是指矩阵中的权重值的长度为2n位。本文档来自技高网
...

【技术保护点】
1.一种数据处理装置,其特征在于,包括:/n输入模块,用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵;/n计算模块,用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;/n输出模块,用于输出所述输出特征值矩阵;/n其中,所述n为正整数。/n

【技术特征摘要】
【国外来华专利技术】1.一种数据处理装置,其特征在于,包括:
输入模块,用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵;
计算模块,用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;
输出模块,用于输出所述输出特征值矩阵;
其中,所述n为正整数。


2.根据权利要求1所述的装置,其特征在于,n位的权重值矩阵中的权重值长度为n位;2n位的权重值矩阵中的权重值长度为2n位;
所述输入特征值矩阵中的输入特征值的长度与所述权重值矩阵中的权重值的长度相同。


3.根据权利要求1所述的装置,其特征在于,还包括:存储器;
所述存储器用于存储下述至少一项:输入特征值矩阵、输出特征值矩阵、权重值矩阵;
其中,存储器中存储的数据的长度为2n位时,所述存储器通过2n*m位的存储空间存储m个数据,每个数据的高n位和低n位相邻存储;所述m为正整数。


4.根据权利要求1所述的装置,其特征在于,所述计算模块包括:
脉动阵列,用于实现权重值矩阵中的n位或者2n位的权重值与对应的输入特征值的乘累加操作;
累加器阵列,用于根据所述脉动阵列得到的乘累加结果,计算输出特征值矩阵。


5.根据权利要求4所述的装置,其特征在于,所述计算模块还包括:
控制单元,用于获取所述权重值矩阵中的权重值的长度,并根据所述权重值的长度控制所述脉动阵列和所述累加器阵列实现卷积运算。


6.根据权利要求5所述的装置,其特征在于,所述脉动阵列包括:多列脉动单元;
每列脉动单元用于加载权重值,并将加载的权重值与对应的输入特征值进行乘累加,得到加载的每列权重值对应的乘累加结果。


7.根据权利要求6所述的装置,其特征在于,所述脉动单元可加载的权重值长度为n位;
在所述权重值矩阵中的权重值长度为2n位时,每列脉动单元加载所述权重值矩阵中的权重值的高n位或者低n位。


8.根据权利要求7所述的装置,其特征在于,一列权重值的高n位和低n位分别加载于相邻的两列脉动单元中。


9.根据权利要求6所述的装置,其特征在于,所述输入特征值矩阵中的输入特征值长度为2n位时,所述脉动单元每次获取到的输入特征值为所述输入特征值矩阵中的输入特征值的高n位或者低n位。


10.根据权利要求9所述的装置,其特征在于,输入特征值的高n位或者低n位从第一列脉动单元依次传递至最后一列脉动单元。


11.根据权利要求6所述的装置,其特征在于,所述控制单元具体用于:
在权重值加载阶段,控制所述权重值矩阵中的权重值依次加载到所述脉动阵列的脉动单元中;
在计算阶段,控制输入特征值矩阵中的输入特征值在脉动阵列中依次向右传递,并控制脉动单元根据所加载的权重值与传递来的输入特征值进行计算。


12.根据权利要求11所述的装置,其特征在于,在权重值加载阶段,所述控制单元具体用于:
在权重值加载阶段中的移位阶段,针对每一列脉动单元,将该列脉动单元需要加载的权重值通过该列第一个脉动单元依次送入脉动阵列,在脉动阵列中,接收到的权重值从第一个脉动单元依次向下传递;
在权重值加载阶段中的加载阶段,控制脉动阵列中的脉动单元存储对应的权重值。


13.根据权利要求6所述的装置,其特征在于,每列脉动单元均包括多个脉动单元;
所述脉动单元用于加载权重值,并获取输入特征值,将所述输入特征值与所加载的权重值相乘,将得到的乘积与上一行脉动单元的输出相加,输出相加的结果。


14.根据权利要求13所述的装置,其特征在于,所述脉动单元包括:
权重值寄存器,用于存储权重值;
输入特征值寄存器,用于存储输入特征值;
乘法电路,用于根据所述权重寄存器中存储的权重值和所述输入特征值寄存器中存储的输入特征值,得到所述权重值与所述输入特征值的乘积;
加法电路,用于将所述乘法电路得到的乘积与上一行脉动单元的输出相加。


15.根据权利要求14所述的装置,其特征在于,所述脉动单元还包括:
权重值移位寄存器,用于向下一行脉动单元传递权重值;
输入特征值移位寄存器,用于向下一列脉动单元传递输入特征值。


16.根据权利要求6所述的装置,其特征在于,所述累加器阵列包括多个累加器,所述累加器的个数与所述脉动单元的列数均为k,第i个累加器与第i列脉动单元对应,其中,k为大于1的自然数,i=1、2、……、k;
所述累加器用于获取对应的一列脉动单元的输出结果,与前一级累加器的输出结果相加,并将相加的结果输出至下一级累加器。


17.根据权利要求16所述的装置,其特征在于,在输入特征值为2n位时,所述累加器具体用于:
通过一个寄存器存储从脉动单元获取到的输入特征值的高n位对应的输出结果,通过另一寄存器存储该输入特征值的低n位对应的输出结果;
根据所述输入特征值高n位的输出结果与低n位的输出结果,得到所述输入特征值对应的输出结果,与前一级累加器的输出结果相加,并将相加的结果输出至下一级累加器。


18.根据权利要求17所述的装置,其特征在于,若累加器对应的脉动阵列加载的为权重值的低n位,则在根据所述输入特征值高n位的输出结果与低n位的输出结果,得到所述输入特征值对应的输出结果时,所述累加器具体用于:
将所述输入特征值的高n位的输出结果左移n位,与所述低n位的输出结果相加,得到所述输入特征值对应的输出结果。


19.根据权利要求17所述的装置,其特征在于,若累加器对应的脉动阵列加载的为权重值的高n位,则在根据所述输入特征值高n位的输出结果与低n位的输出结果,得到所述输入特征值对应的输出结果时,所述累加器具体用于:
将所述输入特征值的高n位的输出结果左移n位,与所述低n位的输出结果相加,并将相加得到的结果左移n位,得到所述输入特征值对应的输出结果。


20.根据权利要求17所述的装置,其特征在于,所述输入特征值高n位的输出结果与低n位的输出结果分别为从脉动单元获取到的相邻的两个输出结果。


21.根据权利要求16所述的装置,其特征在于,所述累加器包括:
乘累加结果寄存器,用于获取所述最后一个脉动单元的输出结果;
前乘累加结果寄存器,用于在所述输入特征值为2n位时,每隔一个时钟周期从所述乘累加结果寄存器获取一次输出结果;
纵向加法电路,用于在所述输入特征值为n位时,将所述乘累加结果寄存器中的输出结果发送至第一阶段加法电路,或者,在所述输入特征值为2n位时,将所述乘累加结果寄存器中的输出结果与所述前乘累加结果寄存器中的输出结果之和发送至第一阶段加法电路;
第一阶段加法电路,用于将从所述纵向加法电路输出的结果与所述上一级累加器输出的结果相加。


22.根据权利要求21所述的装置,其特征在于,所述累加器还包括:滤波电路;
所述滤波电路用于根据卷积运算的步长值对脉动阵列输出的冗余的乘累加结果进行过滤。


23.根据权利要求21所述的装置,其特征在于,所述累加器还包括:累加器结果寄存器;
所述累加器结果寄存器用于获取上一级累加器输出的结果并发送给所述第一阶段加法电路。


24.根据权利要求23所述的装置,其特征在于,所述累加器还包括:延迟电路;
所述延迟电路用于根据卷积运算的膨胀值,将上一级累加器输出的结果延迟对应的时钟周期后送入所述累加器结果寄存器。


25.根据权利要求21所述的装置,其特征在于,所述累加器还包括:
总和寄存器,用于存储所述第一阶段加法电路输出的结果,并将所述结果输出至下一级累加器。


26.根据权利要求25所述的装置,其特征在于,所述装置还包括:结果产出单元和结果存储单元;所述累加器还包括:第二阶段加法电路;
在所述权重值矩阵的行数大于所述脉动阵列的行数时,所述脉动阵列每次加载所述权重值矩阵中的一部分权重值;所述结果存储单元用于存储中间结果,其中,所述中间结果为所述权重值矩阵中部分权重值经过运算后对应的结果;
最后一级累加器的第二阶段加法电路用于将总...

【专利技术属性】
技术研发人员:杨康韩峰
申请(专利权)人:深圳市大疆创新科技有限公司
类型:发明
国别省市:广东;44

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

1