应用于神经网络的卷积计算装置及方法制造方法及图纸

技术编号:18942187 阅读:33 留言:0更新日期:2018-09-15 11:24
本发明专利技术属于数字信号处理领域,具体涉及一种应用于神经网络的卷积计算装置及方法。旨在解决卷积计算过程中资源消耗大、读入数据利用率低的问题。具体为:对输入数据矩阵按行处理,每两行数据逐列串行输入到乘累加器阵列做乘累加运算;乘累加器阵列依据卷积核维度(M2,N2)进行部署,可并行处理2×M2×N2次乘法运算;利用卷积运算规律,使两组乘累加器阵列移位相加,加速数据运算。本发明专利技术挖掘计算过程中的并行性提高系统计算效率;同时复用输入数据,计算结果直接进入池化单元,可减少数据读写;仅需要一个行缓冲空间,资源需求小;可实现不同维数卷积计算,具有计算灵活性、普适性、高效性以及低功耗特性。

Convolution computation device and method applied to neural network

The invention belongs to the field of digital signal processing, in particular to a convolution calculation device and a method applied to a neural network. The aim is to solve the problem of large consumption of resources and low utilization of data in convolution calculation. Specifically, the input data matrix is processed in rows, and the two rows of data are sequentially inputted to the multiplier accumulator array for multiplication and accumulation operation; the multiplier accumulator array is deployed according to the convolution kernel dimension (M2, N2), and the 2 *M2 *N2 multiplication operation can be processed in parallel; the two groups of multiplier accumulator arrays are shifted and added by the convolution operation law. Fast data operation. The invention mines the parallelism in the calculation process to improve the calculation efficiency of the system; at the same time reuses the input data, and the calculation result enters the pooling unit directly, which can reduce the data reading and writing; only one line buffer space is needed, and the resource requirement is small; it can realize the convolution calculation of different dimensions, and has the advantages of computational flexibility, universality, high efficiency and so on. Low power consumption.

【技术实现步骤摘要】
应用于神经网络的卷积计算装置及方法
本专利技术属于数字信号处理领域,具体涉及一种应用于神经网络的卷积计算装置及方法。
技术介绍
卷积是数学中的一种重要运算,广泛应用在数字信号处理中。卷积可通过时域或者频域方法计算。时域方法,主要涉及乘法和加法运算,不同点的数据之间不存在数据依赖性和时间相关性,可通过并行化计算结构加速。频域方法将卷积序列通过傅里叶变换转换到频域,然后频域数据直接相乘,最后反变换得到卷积计算结果。卷积神经网络(ConvolutionalNeuralNetwork,简称CNN)是深度学习中的重要算法模型,近年来成为图像识别领域的研究热点,已经提出了AlexNet、VGG等影响力较大的卷积神经网络模型。随着模型识别率的提高,模型的规模逐渐变大,运算量急剧攀升,对CNN进行高效计算的需求迫切。CNN中的卷积计算与数学上的卷积略有不同,不可用频域计算方法求解,只能使用时域方法通过乘累加运算实现。目前采用的加速方法主要是硬件并行,多个数据并行输入、多个数据并行输出、卷积核中多个像素点并行计算。一种思想是同一时刻使用尽量多的硬件资源实现CNN中的一层,然后将结果存储在片外,或者片内本文档来自技高网...

【技术保护点】
1.一种应用于神经网络的卷积计算装置,其特征在于,包括:数据输入端口、卷积计算单元CCU、行缓冲空间、池化单元、数据输出端口;所述数据输入端口,用于输入待进行卷积计算的数据矩阵;所述卷积计算单元CCU,包含多个乘累加运算处理单元,对待进行卷积计算的数据矩阵进行卷积计算;所述行缓冲空间,用于存储所述卷积计算单元CCU中乘累加计算过程中使用的乘累加器MAC的初始值、累加产生的中间数据;所述池化单元,用于存储卷积计算单元CCU输出结果,对前一次输出结果和当前输出结果进行池化,并发送至所述数据输出端口;所述数据输出端口,用于接收所述池化单元的输出数据并输出。

【技术特征摘要】
1.一种应用于神经网络的卷积计算装置,其特征在于,包括:数据输入端口、卷积计算单元CCU、行缓冲空间、池化单元、数据输出端口;所述数据输入端口,用于输入待进行卷积计算的数据矩阵;所述卷积计算单元CCU,包含多个乘累加运算处理单元,对待进行卷积计算的数据矩阵进行卷积计算;所述行缓冲空间,用于存储所述卷积计算单元CCU中乘累加计算过程中使用的乘累加器MAC的初始值、累加产生的中间数据;所述池化单元,用于存储卷积计算单元CCU输出结果,对前一次输出结果和当前输出结果进行池化,并发送至所述数据输出端口;所述数据输出端口,用于接收所述池化单元的输出数据并输出。2.根据权利要求1所述的应用于神经网络的卷积计算装置,其特征在于,所述池化单元包括池化层、缓存层;所述缓存层,配置为存储卷积计算单元CCU前一次的输出的卷积结果;所述池化层,配置为对卷积计算单元CCU当前的输出结果与所述缓存层中存储的卷积计算单元CCU前一次的输出结果进行池化。3.根据权利要求1所述的应用于神经网络的卷积计算装置,其特征在于,还包括矩阵维度计算单元,用于依据输入数据矩阵维度(M1,N1)与卷积核矩阵维度(M2,N2),确定卷积计算结果矩阵维度(M,N),其计算方法为:M=M1-M2+1N=N1-N2+1。4.根据权利要求1所述的应用于神经网络的卷积计算装置,其特征在于,所述卷积计算单元CCU包括两个乘累加运算处理单元CCU1和CCU2。5.根据权利要求4所述的应用于神经网络的卷积计算装置,其特征在于,所述乘累加运算处理单元包括多个乘累加器MAC,且在卷积计算过程中,所述乘累加运算处理单元配置的维度与卷积核矩阵维度(M2,N2)相同,配置的乘累加器MAC的个数为M2×N2。6.根据权利要求5所述的应用于神经网络的卷积计算装置,其特征在于,还包括旋转变换单元,用于将初始卷积核矩阵W进行180°旋转变换,得到卷积核矩阵W’,并分别输入至两个乘累加运算处理单元CCU1和CCU2;旋转变换表达式如下所示,其中为初始卷积核矩阵W,为经旋转变换后卷积核矩阵W’。7.根据权利要求1所述的应用于神经网络的卷积计算装置,其特征在于,还包括矩阵补充单元,用于在卷积计算时,若输入的矩阵的行数为偶数,则直接将输入矩阵送入卷积计算单元CCU进行卷积计算,若输入的矩阵的行数为奇数,则在输入矩阵的最后补充一行全为0的矩阵,并将补充后的输入矩阵输入卷积计算单元CCU进行卷积计算。8.根据权利要求1所述的应用于神经网络的卷积计算装置,其特征在于,在卷积计算之前,所述行缓冲空间依据输入数据矩阵维度(M1,N1)配置卷积初始值,所述卷积初始值的个数为M1×N1,且所述卷积初始值为0或者某偏置值b。9.一种应用于神经网络的卷积计算方法,...

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

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

1