【技术实现步骤摘要】
【国外来华专利技术】卷积计算的装置、方法、处理器和可移动设备版权申明本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本申请涉及信息
,并且更具体地,涉及一种卷积计算的装置、方法、处理器和可移动设备。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种机器学习算法,它被广泛应用于目标识别、目标检测以及图像的语义分割等计算机视觉任务。目前卷积神经网络的卷积计算过程中,或者数据处理的并行度较低,或者需要较多的数据搬移操作,导致效率较低。因此,如何提高卷积计算的效率,成为卷积神经网络设计中一个亟待解决的技术问题。
技术实现思路
本申请实施例提供了一种卷积计算的装置、方法、处理器和可移动设备,能够提高卷积计算的效率。第一方面,提供了一种卷积计算的装置,包括:乘加单元阵列,包括M行N列的乘加单元,所述M行N列的乘加单元中的特定乘加单元用于对输入到所述 ...
【技术保护点】
1.一种卷积计算的装置,其特征在于,包括:/n乘加单元阵列,包括M行N列的乘加单元,所述M行N列的乘加单元中的特定乘加单元用于对输入到所述特定乘加单元的特征值和所述特定乘加单元对应的权重值进行相乘,并将相乘后的积与前一乘加输出结果相加,并将相加后的和作为所述特定乘加单元的输出结果输出,其中,所述特定乘加单元为所述M行N列的乘加单元中的任一乘加单元,所述前一乘加输出结果为所述特定乘加单元所在列中所述特定乘加单元的前一个乘加单元的输出结果或零,M和N均为正整数;/n累加单元阵列,包括1行N个累加单元,所述N个累加单元分别与所述乘加单元阵列的N列对应,所述N个累加单元中的特定累加 ...
【技术特征摘要】
【国外来华专利技术】1.一种卷积计算的装置,其特征在于,包括:
乘加单元阵列,包括M行N列的乘加单元,所述M行N列的乘加单元中的特定乘加单元用于对输入到所述特定乘加单元的特征值和所述特定乘加单元对应的权重值进行相乘,并将相乘后的积与前一乘加输出结果相加,并将相加后的和作为所述特定乘加单元的输出结果输出,其中,所述特定乘加单元为所述M行N列的乘加单元中的任一乘加单元,所述前一乘加输出结果为所述特定乘加单元所在列中所述特定乘加单元的前一个乘加单元的输出结果或零,M和N均为正整数;
累加单元阵列,包括1行N个累加单元,所述N个累加单元分别与所述乘加单元阵列的N列对应,所述N个累加单元中的特定累加单元用于将所述特定累加单元对应列的最后一个乘加单元的输出结果与前一累加输出结果相加,并将相加后的和作为所述特定累加单元的输出结果输出,其中,所述前一累加输出结果为所述特定累加单元的前一个累加单元的输出结果或零。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:
权重值注入模块,用于向所述乘加单元阵列输入权重值;
特征值注入模块,用于向所述乘加单元阵列输入特征值。
3.根据权利要求2所述的装置,其特征在于,所述权重值注入模块与所述乘加单元阵列的第一行乘加单元连接,其中,对于每一列乘加单元,权重值从第一行的乘加单元传递到对应的乘加单元。
4.根据权利要求3所述的装置,其特征在于,每一列乘加单元用于在权重值传递到对应的乘加单元后,同时将权重值锁存。
5.根据权利要求2至4中任一项所述的装置,其特征在于,所述特征值注入模块与所述乘加单元阵列的第一列乘加单元连接,其中对于每一行乘加单元,特征值从第一列的乘加单元依次向下一列的乘加单元传递。
6.根据权利要求1至5中任一项所述的装置,其特征在于,所述乘加单元阵列用于按照如下方式与卷积核的权重值对应:
对于Kd×Kh×Kw大小的卷积核,在深度方向展开的Kd个Kh×Kw的二维图,沿所述乘加单元阵列的列方向映射到对应的乘加单元上,其中,一个权重值对应一个乘加单元,Kd、Kh和Kw均为正整数,分别表示卷积核的深度、高度和宽度;
多个卷积核沿所述乘加单元阵列的行方向进行映射。
7.根据权利要求6所述的装置,其特征在于,在Kd×Kh>M的情况下,将一个卷积核分多次映射到所述乘加单元阵列上。
8.根据权利要求1至7中任一项所述的装置,其特征在于,所述装置还包括:
结果处理模块,用于处理所述累加单元阵列输出的结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
中间结果缓存模块;
其中,所述结果处理模块用于,在所述累加单元阵列输出的结果为特定卷积核的最终结果时,将所述累加单元阵列输出的结果输出;在所述累加单元阵列输出的结果为所述特定卷积核的中间结果时,将所述累加单元阵列输出的结果缓存到所述中间结果缓存模块。
10.根据权利要求9所述的装置,其特征在于,所述中间结果缓存模块包括:
N个先入先出队列FIFO,其中,对于Kd×Kh×Kw大小的卷积核,所述N个FIFO中的每Kw个FIFO组成一组,用于缓存一个卷积核的中间结果。
11.根据权利要求1至10中任一项所述的装置,其特征在于,所述特定乘加单元包括:
权重值移位寄存器,用于缓存以及沿所述特定乘加单元所在列传递权重值,并将所述特定乘加单元对应的权重值锁存到权重值寄存器;
权重值寄存器,用于缓存所述特定乘加单元对应的权重值;
特征值移位寄存器,用于缓存以及沿所述特定乘加单元所在行传递特征值,并将特征值锁存到特征值寄存器;
特征值寄存器,用于缓存特征值;
相乘电路,用于对所述权重值寄存器中权重值和所述特征值寄存器中的特征值进行相乘,并将相乘后的积输出到积寄存器;
积寄存器,用于缓存所述相乘电路相乘后的积;
相加电路,用于将所述积寄存器中的积与所述前一乘加输出结果相加,并将相加后的和沿所述特定乘加单元所在列向下输出。
12.根据权利要求1至11中任一项所述的装置,其特征在于,所述特定累加单元包括:
过滤电路,用于根据卷积计算的步长值,过滤所述特定累加单元对应列的最后一个乘加单元的输出结果,并将过滤后的结果输出到乘加单元结果寄存器;
乘加单元结果寄存器,用于缓存所述过滤电路过滤后的结果;
延迟电路,用于根据卷积计算的膨胀值对所述前一累加输出结果进行延迟,并将延迟后的结果输出到累加单元结果寄存器;
累加单元结果寄存器,用于缓存所述延迟电路延迟后的结果;
第一阶段相加电路,用于将所述乘加单元结果寄存器中的结果与所述累加单元结果寄存器中的结果相加,并将相加后的和输出到和寄存器;
和寄存器,用于缓存所述第一阶段相加电路相加后的和。
13.根据权利要求12所述的装置,其特征在于,所述特定累加单元还包括:
第二阶段相加电路;
其中,所述和寄存器,用于在所述特定累加单元对应的列不为特定卷积核对应的最后一列时,将所述和寄存器中的和输出到下一个累加单元;在所述特定累加单元对应的列为所述特定卷积核对应的最后一列时,将所述和寄存器中的和输出到所述第二阶段相加电路;
所述第二阶段相加电路,用于在所述特定累加单元对应的列为所述特定卷积核对应的最后一列时,将所述和寄存器中的和与中间结果缓存模块中的所述特定卷积核的中间结果相加,并将相加后的和输出到结果处理模块。
14.根据权利要求1至13中任一项所述的装置,其特征在于,所述装置还包括:
控制模块,用于控制权重值和特征值到所述乘加单元阵列的输入,以及控制所述乘加单元阵列和所述累加单元阵列的计算。
15.一种...
【专利技术属性】
技术研发人员:韩峰,杨康,谷骞,
申请(专利权)人:深圳市大疆创新科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。