当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于可分割阵列的可重构加速器及其实现方法技术

技术编号:16547486 阅读:45 留言:0更新日期:2017-11-11 12:06
本发明专利技术提供了一种基于可分割阵列的可重构加速器及其实现方法,该可重构加速器包括:便笺式存储器缓存区,用于实现卷积计算与稀疏化全连接计算的数据重用;可分割计算阵列,包括多个可重构计算单元,可分割计算阵列分为卷积计算阵列及稀疏化全连接计算阵列;寄存器缓存区,由多块寄存器构成的存储区域,为卷积计算与稀疏化全连接计算提供输入数据、权重数据及对应的输出结果;卷积计算的输入数据及权重数据分别输入到卷积计算阵列,输出卷积计算结果;稀疏化全连接计算的输入数据及权重数据分别输入到稀疏化全连接计算阵列,输出稀疏化全连接计算结果。本发明专利技术将两种神经网络的特点相互融合,提高了芯片的计算资源与内存带宽利用率。

Reconfigurable accelerator based on divisible array and its implementation method

The invention provides a reconfigurable accelerator and its implementation method can partition the array based on the reconfigurable accelerator includes a scratchpad memory buffer for the realization of convolution calculation and sparse connection calculation data reuse; integral calculation array includes a plurality of reconfigurable computing unit, can be divided into convolution computing array the calculation and calculation of sparse array array connection; register buffer storage area consisting of plurality of registers, for convolution calculation and sparse connection calculation to provide input data, output data and the corresponding weights of the input data; convolution calculation and weights of the data were input to the convolution array, the output results of convolution sparse; full connection calculation of the input data and weight data were input to the sparse array calculation fully connected, sparse full output Connection calculation results. The invention combines the characteristics of the two neural networks, and improves the computing resource and the utilization ratio of the memory bandwidth of the chip.

【技术实现步骤摘要】
一种基于可分割阵列的可重构加速器及其实现方法
本专利技术是关于神经网络加速器技术,特别是关于一种基于可分割阵列的可重构加速器及其实现方法。
技术介绍
在过去的十年中,深度学习(DeepLearning)技术促使人工智能技术飞速发展,基于深度学习的人工智能技术在图像识别、视频分析、语音识别与自然语义理解等领域取得了巨大的成功,在部分场景下甚至超越了人类智能。而基于深度学习的深度神经网络(DeepNeuralNetwork)是实现智能任务的核心技术。现阶段,一项智能任务往往由多个深度神经网络组成,当前主流的深度神经网络主要包括:深度卷积网络(DeepConvolutionNeuralNetwork,CNN),深度全连接网络(DeepFullConnectionNeuralNetwork)及深度递归网络(DeepRecurrentNeuralNetwork)。其中,卷积网络主要用于从二维信息中提取关键特征,主要包括了卷积层、池化层(PoolingLayer)等;全连接网络主要擅长处理分类任务,主要包括全连接层;递归神经网络一般用来处理与上下文有关的时序信息,主要由全连接层组成。当前著名的图像分类器AlexNet、ResNet、GoogleNet以及视频分析网络LRCN等,均是采用混合神经网络架构。更有研究(PathNet)表明,通用人工智能都可以通过混合神经网络来实现。在混合神经网络中大量的计算集中在了卷积网络,因此学术界与工业界的工作主要集中在了针对卷积神经网络的加速。基于阵列结构的卷积神经网络加速器由于其高性能与高能效比的特点,在卷积神经网络加速器当中尤为瞩目。因为智能任务均采用混合神经网络架构,很多研究工作为了实现混合神经网络的加速,将CNN中的卷积计算与FCN中的全连接计算用统一的计算形式表示,这些工作复用卷积神经网络加速器加速CNN与FCN。同时,由于混合神经网络采用级联结构组织不同的神经网络,因此上述研究工作分时复用加速器顺序加速混合神经网络中的CNN与FCN。然而,混合神经网络中的多种神经网络具有不同的特点(如数据重用度、稀疏化等),因此采用卷积加速器在时间上分别加速不同的神经网络会导致加速器资源的浪费(内存带宽与计算资源)。这种浪费主要表现在两个方面:第一,数据重用度不同导致的资源浪费。数据重用度主要是指数据从内存传到加速器内部直至数据不再参与运算,这段时间内所参与的运算次数。在混合神经网络中,卷积网络是计算密集型的网络,一次数据传输可以参与几十次(甚至几百次)的卷积运算,因此卷积网络仅需要一部分内存带宽就可以满足所有计算资源对数据的需求,导致内存带宽的利用率低。相反,全连接网络与递归网络是访存密集型的,一次数据传输仅参与一次运算,因此这两种网络利用所有的内存带宽也仅能为一部分计算资源提供数据,导致计算资源的利用率低。第二,稀疏化导致的资源浪费。全连接网络具有非常高的稀疏度,因此采用稀疏计算的方式加速全连接网络可以很好的提高性能与能效比,但是现有的卷积加速器不能兼容稀疏网络计算,导致计算资源与带宽资源的同时浪费。
技术实现思路
本专利技术实施例提供了一种基于可分割阵列的可重构加速器及其实现方法,以将两种神经网络的特点相互融合,提高芯片的计算资源与内存带宽利用率。为了实现上述目的,本专利技术实施例提供了一种基于可分割阵列的可重构加速器,该可重构加速器包括:便笺式存储器缓存区,用于实现卷积计算与稀疏化全连接计算的数据重用;可分割计算阵列,包括多个可重构计算单元,所述可分割计算阵列分为被配置用于执行卷积计算的卷积计算阵列及用于执行稀疏化全连接计算的稀疏化全连接计算阵列;寄存器缓存区,由多块寄存器构成的存储区域,为卷积计算与稀疏化全连接计算提供输入数据、权重数据及对应的输出结果;所述卷积计算的输入数据及权重数据分别输入到所述卷积计算阵列,以得到卷积计算结果;所述稀疏化全连接计算的输入数据及权重数据分别输入到所述稀疏化全连接计算阵列,以得到稀疏化全连接计算结果。一实施例中,用于执行卷积计算的配置信息及稀疏化全连接计算的配置信息通过配置通路加载至对应的每个可重构计算单元。一实施例中,所述可重构计算单元包括:多组配置寄存器、乘法器、加法器、第一存储区域、第二存储区域、第三存储区域、第四存储区域、第五存储区域及多个选择器;配置寄存器用于存储执行卷积计算的配置信息或稀疏化全连接计算的配置信息;所述第一存储区域通过第一选择器连接至所述乘法器,所述第二存储区域连接至所述第一选择器的控制端;所述第三存储区域通过第二选择器连接至所述乘法器,所述第五存储区域通过第三选择器连接至所述加法器,所述第四存储区域连接至所述第三选择器的控制端;所述乘法器通过第四选择器连接至所述加法器,所述加法器的乘加和写回所述第五存储区域。一实施例中,在卷积计算模式下,所述第一存储区域用于存储卷积权重,所述第三存储区域用于存储卷积输入数据,所述第五存储区域用于存储加法器输出的卷积中间结果,所述第二存储区域及第四存储区域处于闲置状态;在执行卷积计算过程中,将所述第一存储区域中的卷积权重与所述第三存储区域中的卷积输入数据执行乘法操作,将乘法操作得到的乘积与所述第五存储区域中的卷积中间结果加和得到乘加和,所述乘加和存储至所述第五存储区域中。一实施例中,在稀疏化全连接计算模式下,第一存储区域用于存储输入神经元,第五存储区域用于存储输出神经元,第三存储区域用于存储稀疏化权重,所述第二存储区域用于存储稀疏化权重对应的输入神经元索引,所述第四存储区域用于存储稀疏化权重对应的输出神经元索引;在执行稀疏化全连接计算过程中,从所述第三存储区域中选取一个稀疏化权重,从所述第二存储区域中读取与该稀疏化权重对应的输入神经元索引,从所述第四存储区域中读取与该稀疏化权重对应的输出神经元索引,根据读取的输入神经元索引从所述第一存储区域中读取输入神经元,根据读取的输出神经元索引从所述第五存储区域中读取输出神经元的中间结果,对读取的输入神经元与选取的稀疏化权重执行乘法操作,将乘法操作的乘积与输出神经元的中间结果加和得到乘加和,将所述乘加和根据读取的输出神经元索引写回所述第五存储区域。一实施例中,所述输入数据包括输入图像矩阵,所述权重数据包括权重模板;针对卷积计算阵列,所述输入图像矩阵从所述卷积计算阵列的左侧与顶部输入,所述输入图像矩阵在所述卷积计算阵列中沿对角线方向由左上向右下传输;权重模板从所述卷积计算阵列的顶部输入,权重模板在所述卷积计算阵列中沿垂直方向由上向下传输;卷积计算阵列的加法器输出的中间结果在所述卷积计算阵列中沿水平方向从左向右传输并执行累加操作,最终累加和写入所述寄存器缓存区的卷积输出缓存中。一实施例中,所述权重模板在所述输入图像矩阵中扫描移动,所述权重模板每次移动后与所述输入图像矩阵中的对应区域执行乘累加操作,得到二维输出图像的一个特征点,得到的所有特征点组成完整的二维输出图像。一实施例中,所述输入数据包括输入向量,所述权重数据包括稀疏权重矩阵;针对稀疏化全连接计算阵列,输入向量从稀疏化全连接计算阵列的底部输入,并沿垂直方向由下向上传输;稀疏权重矩阵从稀疏化全连接计算阵列的左侧输入,并沿水平方向从左向右传输;稀疏化全连接计算阵列的加法器输出的中间结果在稀疏化全连接本文档来自技高网
...
一种基于可分割阵列的可重构加速器及其实现方法

【技术保护点】
一种基于可分割阵列的可重构加速器,其特征在于,包括:便笺式存储器缓存区,用于实现卷积计算与稀疏化全连接计算的数据重用;可分割计算阵列,包括多个可重构计算单元,所述可分割计算阵列分为被配置用于执行卷积计算的卷积计算阵列及用于执行稀疏化全连接计算的稀疏化全连接计算阵列;寄存器缓存区,由多块寄存器构成的存储区域,为卷积计算与稀疏化全连接计算提供输入数据、权重数据及对应的输出结果;所述卷积计算的输入数据及权重数据分别输入到所述卷积计算阵列,以得到卷积计算结果;所述稀疏化全连接计算的输入数据及权重数据分别输入到所述稀疏化全连接计算阵列,以得到稀疏化全连接计算结果。

【技术特征摘要】
1.一种基于可分割阵列的可重构加速器,其特征在于,包括:便笺式存储器缓存区,用于实现卷积计算与稀疏化全连接计算的数据重用;可分割计算阵列,包括多个可重构计算单元,所述可分割计算阵列分为被配置用于执行卷积计算的卷积计算阵列及用于执行稀疏化全连接计算的稀疏化全连接计算阵列;寄存器缓存区,由多块寄存器构成的存储区域,为卷积计算与稀疏化全连接计算提供输入数据、权重数据及对应的输出结果;所述卷积计算的输入数据及权重数据分别输入到所述卷积计算阵列,以得到卷积计算结果;所述稀疏化全连接计算的输入数据及权重数据分别输入到所述稀疏化全连接计算阵列,以得到稀疏化全连接计算结果。2.根据权利要求1所述的可重构加速器,其特征在于,用于执行卷积计算的配置信息及稀疏化全连接计算的配置信息通过配置通路加载至对应的每个可重构计算单元。3.根据权利要求2所述的可重构加速器,其特征在于,所述可重构计算单元包括:多组配置寄存器、乘法器、加法器、第一存储区域、第二存储区域、第三存储区域、第四存储区域、第五存储区域及多个选择器;配置寄存器用于存储执行卷积计算的配置信息或稀疏化全连接计算的配置信息;所述第一存储区域通过第一选择器连接至所述乘法器,所述第二存储区域连接至所述第一选择器的控制端;所述第三存储区域通过第二选择器连接至所述乘法器,所述第五存储区域通过第三选择器连接至所述加法器,所述第四存储区域连接至所述第三选择器的控制端;所述乘法器通过第四选择器连接至所述加法器,所述加法器的乘加和写回所述第五存储区域。4.根据权利要求3所述的可重构加速器,其特征在于,在卷积计算模式下,所述第一存储区域用于存储卷积权重,所述第三存储区域用于存储卷积输入数据,所述第五存储区域用于存储加法器输出的卷积中间结果,所述第二存储区域及第四存储区域处于闲置状态;在执行卷积计算过程中,将所述第一存储区域中的卷积权重与所述第三存储区域中的卷积输入数据执行乘法操作,将乘法操作得到的乘积与所述第五存储区域中的卷积中间结果加和得到乘加和,所述乘加和存储至所述第五存储区域中。5.根据权利要求3所述的可重构加速器,其特征在于,在稀疏化全连接计算模式下,第一存储区域用于存储输入神经元,第五存储区域用于存储输出神经元,第三存储区域用于存储稀疏化权重,所述第二存储区域用于存储稀疏化权重对应的输入神经元索引,所述第四存储区域用于存储稀疏化权重对应的输出神经元索引;在执行稀疏化全连接计算过程中,从所述第三存储区域中选取一个稀疏化权重,从所述第二存储区域中读取与该稀疏化权重对应的输入神经元索引,从所述第四存储区域中读取与该稀疏化权重对应的输出神经元索引,根据读取的输入神经元索引从所述第一存储区域中读取输入神经元,根据读取的输出神经元索引从所述第五存储区域中读取输出神经元的中间结果,对读取的输入神经元与选取的稀疏化权重执行乘法操作,将乘法操作的乘积与输出神经元的中间结果加和得到乘加和,将所述乘加和根据读取的输出神经元索引写回所述第五存储区域。6.根据权利要求1所述的可重构加速器,其特征在于,所述输入数据包括输入图像矩阵,所述权重数据包括权重模板;针对卷积计算阵列,所述输入图像矩阵从所述卷积计算阵列的左侧与顶部输入,所述输入图像矩阵在所述卷积计算阵列中沿对角线方向由左上向右下传输;权重模板从所述卷积计算阵列的顶部输入,权重模板在所述卷积计算阵列中沿垂直方向由上向下传输;卷积计算阵列的加法器输出的中间结果在所述卷积计算阵列中沿水平方向从左向右传输并执行累加操作,最终累加和写入所述寄存器缓存区的卷积输出缓存中。7.根据权利要求6所述的可重构加速器,其特征在于,所述权重模板在所述输入图像矩阵中扫描移动,所述权重模板每次移动后与所述输入图像矩阵中的对应区域执行乘累加操作,得到二维输出图像的一个特征点,得到的所有特征点组成完整的二维输出图像。8.根据权利要求1所述的可重构加速器,其特征在于,所述输入数据包括输入向量,所述权重数据包括稀疏权重矩阵;针对稀疏化全连接计算阵列,输入向量从稀疏化全连接计算阵列的底部输入,并沿垂直方向由下向上传输;稀疏权重矩阵从稀疏化全连接计算阵列的左侧输入,并沿水平方向从左向右传输;稀疏化全连接计算阵列的加法器输出的中间结果在稀疏化全连接计算阵列中沿垂直方向从上向下传输并执行累加操作,最终累加和写入所述寄存器缓存区的稀疏全连接输出缓存中。9.根据权利要求8所述的可重构加速器,其特征在于,稀疏权重矩阵与输入向量进行矩阵乘操作,得到输出向量。10.一种基于可分割阵列的可重构加速器实现方法,其特征在于,包括:将所述可重构加速器的可分割计算阵列分割为被配置用于执行卷积计算的卷积计算阵列及用于执行稀...

【专利技术属性】
技术研发人员:尹首一唐士斌欧阳鹏涂锋斌刘雷波魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1