【技术实现步骤摘要】
【国外来华专利技术】数据处理装置、电子设备和数据处理方法
本专利技术实施例涉及数据处理
,尤其涉及一种数据处理装置、电子设备和数据处理方法。
技术介绍
深度卷积神经网络是一种机器学习算法,它被广泛应用于目标识别、目标检测以及图像的语义分割等计算机视觉任务。深度卷积神经网络的大部分运算都是卷积操作,设计专用的硬件电路加速卷积层的卷积运算,可以大幅度减少深度卷积神经网络的计算时间。现有的卷积运算装置的操作数只支持一种宽度的定点数,例如8bits定点数,因此无法处理有较高精度要求的深度卷积神经网络的数据,难以满足深度卷积神经网络精度日益提高的设计要求。
技术实现思路
本专利技术实施例提供了一种数据处理装置、电子设备和数据处理方法,以解决现有技术中卷积运算装置难以满足深度卷积神经网络精度要求的技术问题。本专利技术实施例第一方面提供一种数据处理装置,包括:输入模块,用于获取输入特征值矩阵以及n位或者2n位的权重值矩阵;计算模块,用于将输入特征值矩阵与n位或者2n位的权重值矩阵进行卷积运算,得到输出特征值矩阵;输出模块,用于输出所述输出特征值矩阵;其中,所述n为正整数。本专利技术实施例第二方面提供一种电子设备,包括第一方面所述的数据处理装置。本专利技术实施例第三方面提供一种数据处理方法,包括:获取输入特征值矩阵以及n位或者2n位的权重值矩阵;将输入特征值矩阵与n位或者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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。