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

二值权重卷积神经网络加速器的硬件架构及其计算流程制造技术

技术编号:15691604 阅读:313 留言:0更新日期:2017-06-24 04:56
本发明专利技术公开了一种用于二值权重卷积神经网络加速器的硬件架构及其计算流程。其中,硬件架构包含以下部分:三个双端片上静态随机存储器,分别用于缓存输入神经元以及一个卷积层的二值权重;四个卷积处理单元,能够根据计算流程控制其中的运算部件完成主要的卷积计算操作;一个特征映射累积单元以及一个卷积累加阵列,用于进一步处理卷积处理单元的运算结果,以得到最终正确的输出神经元的值。整个设计通过动态随机存储器接口与片外存储器交换数据。除了硬件架构以外,本发明专利技术还包含了一个对该硬件架构优化了的,以四行输入特征映射为一次完整计算单位的详细计算流程。本发明专利技术最大化的复用了输入数据,尽可能的消除了片外存储器的访问,能够有效降低进行深度二值卷积神经网络计算的功耗,且能够支持深层网络,是一种可用于视觉应用的嵌入式系统的合理方案。

Hardware architecture and calculation flow of two valued weighted convolution neural network accelerator

The invention discloses a hardware structure and a calculation flow of a two value weight convolution neural network accelerator. The hardware architecture consists of the following parts: static random access memory on three double end piece, were used to cache the input neurons and two value weight of a roll laminated; four convolution processing unit can be calculated according to the calculation operation process control arithmetic unit which completes the main convolution; a feature mapping unit and a cumulative the accumulation volume with array, for further processing of convolution processing unit operation results, to get the final correct values of the output neurons. The whole design exchanges data with off chip memory via dynamic random access memory interface. In addition to the hardware architecture, the present invention also includes a detailed calculation flow that optimizes the hardware architecture and maps the four input features into a complete computing unit. The present invention maximizes the reuse of input data, as far as possible to eliminate the external memory access, can effectively reduce the power consumption of the depth value of two convolutional neural network computing, and can support the deep web, is a can be used for reasonable application of the embedded system side visual case.

【技术实现步骤摘要】
二值权重卷积神经网络加速器的硬件架构及其计算流程
本专利技术设计计算机及电子信息
,特别涉及一种二值权重卷积神经网络专用加速器的硬件架构及其计算流程。
技术介绍
深度卷积神经网络模型在诸多领域譬如图像分类、动作检测、语音识别以及其他大数据分析的任务中取得了极大的突破和成功。一方面,随着卷积神经网络的效果变得越来越好,其本身拓扑结构也在不断加深,参数数量也达到了10的6次方及以上级别,这带来了计算复杂度的极大提升,所需的计算能力爆炸性增长。另一方面,嵌入式系统仅能够提供有限的资源,其功耗也受限在一定范围内,现有常用的使用大规模GPU的解决方案虽然有较高的吞吐率,但其功耗过高(约250W),难以应用于嵌入式系统中。二值权重卷积神经网络是一种简化的卷积神经网络模型,其最早由加拿大蒙特利尔大学的MatthieuCourbariaux等人提出,后又经过Itayhubara、MohammadRasteg等人的改进。此模型通过特别的训练方式将卷积神经网络的权重训练为二值的+1和-1,这使得模型的计算复杂度大大降低,模型的大小也能够被压缩达到32倍。然而尽管如此,对于深度卷积神经网络,即使参数二值化能够使得复杂度有所降低,其仍然需要大量的计算,直接应用于嵌入式系统中很难满足实时性的要求。因此设计一款二值权重卷积神经网络加速器是进一步推动深度神经网络应用于嵌入式系统的理想解决方案之一。目前尚未出现理想的二值权重卷积神经网络加速器。AndriR,CavigelliL,RossiD,etal.YodaNN:AnUltra-LowPowerConvolutionalNeuralNetworkAcceleratorBasedonBinaryWeights[J].2016:236-241.中提出了一种二值权重卷积神经网络加速器,其能耗比远超现有的高精度权重神经网络的加速器。然而此架构由于大量的访问片外的主存储器,在400MHz的频率下IO的功耗需要大约328毫瓦,甚至比片上计算的功耗还高。因此,针对降低访问片外主存(动态随机存储器)的IO功耗的计算流程和对应架构亟待提出。
技术实现思路
本专利技术旨在解决卷积神经网络应用于功耗受限的嵌入式系统的技术问题,或至少提出一种有用的商业选择。为此,本专利技术的目的在于提出一种针对二值卷积神经网络优化的硬件加速器架构和计算流程,最大化数据复用的同时,尽可能的降低访问片外随机存储器的带宽和功耗,将大量的数据访问限制在片上访问功耗最低的寄存器上。同时本专利技术能够适应深度网络的需求,能够适应具有最好分类精度之一的VGG-16Net、VGG-19Net等网络拓扑的二值化版本。另外,由于二值卷积神经网络的全连接层主要为IO密集型需求,卷积计算是计算密集型需求,因此本专利技术着眼于二值权重卷积神经网络的卷积层的加速。本专利技术主要包含两部分,一部分是整体的硬件架构,另一部分是优化的计算流程。硬件架构包含以下部分:1.两个用于存储卷积层输入的双端静态随机存储器,即输入神经元缓存器IMEM1,IMEM2,其容量分别能够存储该网络每一层输入的所有通道中的2行,共计4行,此行数的设置能应用于卷积核大小为3×3的二值卷积神经网络。2.一个用于保存二值权重卷积神经网络权重的静态随机存储器,即卷积核缓存器FMEM,其容量大小能够将任意一层卷积层的所有二值权重缓存下来,期中每个权重占用1比特;其有益效果是能够显著降低片外动态随机存储器的访问,降低功耗。计算到每一层的权重都只需要从动态随机存储器中读取一次。3.四个卷积处理单元PU1~PU4。用于输入神经元以及卷积核的缓冲存储,初步的卷积操作。每个卷积处理单元处理一个输入通道的某4行输入神经元。4.一个连接于四个卷积处理单元之后的特征映射累积单元ISU,能够进一步处理四个卷积处理单元的计算结果。5.一个卷积累加阵列ACCA。由于深度卷积神经网络每个卷积层往往都有极多通道,因此只能以部分并行方式进行累加求和处理,最终通过卷积累加阵列对之前计算的数据进行串行组合。其中,卷积处理单元为本硬件架构的主要计算单元,其中包括:1.四个针对对应行的数据缓冲单元DBF,其中包括两列寄存器,每列寄存器可保存4个输入数据,数据可在两列寄存器中流动。2.一个卷积核缓冲单元KernelBuffer,由512个移位寄存器组成,每个移位寄存器为9比特,可保存一个3×3的卷积核,因此卷积核缓冲单元可缓存针对所有输出通道的某一输入通道的卷积核。卷积核缓冲单元可以将缓冲的卷积核同时送至任意入多出滤波器。3.用于卷积计算中乘累加计算的多入多出滤波器MFIR,其中第一第四输入行有1×32个MFIR,第二第三行有2×32个MFIR,每行的MFIR的输入共用对应行数据缓冲单元DBF中的输入神经元。4.将卷积处理单元前3行及后三行对应输出神经元累加的快速加法单元FAU。上述硬件架构为配合本专利技术的计算流程所涉及的计算流程,其有益效果是进行高效的卷积计算,尽可能的提高数据复用和降低片外动态存储器的访问。本专利技术的计算流程,包含以下步骤:步骤一,从动态随机存储器中读取待处理的所有输入通道的4行数据,缓存进IMEM中,每个IMEM缓存2行。除此之外,从动态随机存储器中读取该卷积层的所有权重保存进FMEM中。步骤二,将4个输入通道的4行,每行4个输入神经元分别读取进卷积处理单元的数据缓冲单元DBF里的寄存器中,同时将对应输入通道的二值权重读入卷积处理单元的卷积核缓冲单元中。步骤三,从卷积核缓冲单元的寄存器中取出对应32个输出通道的卷积核分别送入对应的MFIR中,每个MFIR完成一行的卷积计算,并通过FAU进行累加。每个卷积处理单元的FAU输出再通过特征映射累加单元进行累加后,再在卷积累加阵列中与旧有累加结果进行相加。步骤四,重复步骤三,改变送入各个MFIR的卷积核,直到所有输出通道被处理,共需要n/32次迭代,其中n为总的输出通道数。与此同时,继续从IMEM中读取下一次迭代需要的每行的接下来4个输入神经元进入对应DBF中的未在卷积中使用的一列寄存器。步骤五,由于步骤四中已经将接下来4个输入神经元读入,因此可以对这些输入神经元进行卷积。重复步骤三、四,直到当前的4个输入通道的4行全部处理完毕。步骤六,更换接下来4个输入通道,重复步骤二、三、四、五,直到所有输入通道都被处理完毕,此时在卷积累加阵列中的输出神经元就已经计算完全,也即已经得到了所有输出通道的2行输出。步骤七,重复步骤一到步骤六,直到完成整个卷积层的所有输入行的计算,得到所有输出,并保存回动态随机存储器,等待下一次读取进行下一层卷积层的计算。其中步骤一中的读取权重的过程可以跳过,因为此过程仅需一次。补充说明:在上述的步骤五和步骤六的处理过程中,同时还从动态随机存储器中预读取接下来的两行数据进入IMEM中,以覆盖当前处理的4行中的前两行已被处理过的输入神经元。具体预读取和替换的时序为:一旦当前处理的4行中的前两行某个数据被读入卷积处理单元的数据缓冲单元后,即从片外动态随机存储器中读入对应的数据覆盖片上静态随机存储器IMEM中的该数据。本专利技术上述的硬件架构配合计算流程,有益效果如下:首先,由于二值卷积神经网络权重的二值化,因此每个权重可以使用1比特保存,因此相比高精度权重的卷积本文档来自技高网
...
二值权重卷积神经网络加速器的硬件架构及其计算流程

【技术保护点】
一种二值权重卷积神经网络加速器的硬件架构及计算流程,其特征在于,硬件架构部分包括:11.两个用于存储卷积层输入的双端静态随机存储器,即输入神经元缓存器IMEM,其容量分别能够存储该网络每一层输入的所有通道中的2行,共计4行,此行数所针对的卷积核大小为3×3;12.一个用于保存二值权重卷积神经网络权重的静态随机存储器,即卷积核缓存器FMEM,其容量大小能够将任意一层卷积层的所有二值权重缓存下来,期中每个权重占用1比特;13.四个卷积处理单元,主要根据计算流程完成卷积处理计算;14.一个特征映射累加单元;15.一个卷积累加阵列。

【技术特征摘要】
1.一种二值权重卷积神经网络加速器的硬件架构及计算流程,其特征在于,硬件架构部分包括:11.两个用于存储卷积层输入的双端静态随机存储器,即输入神经元缓存器IMEM,其容量分别能够存储该网络每一层输入的所有通道中的2行,共计4行,此行数所针对的卷积核大小为3×3;12.一个用于保存二值权重卷积神经网络权重的静态随机存储器,即卷积核缓存器FMEM,其容量大小能够将任意一层卷积层的所有二值权重缓存下来,期中每个权重占用1比特;13.四个卷积处理单元,主要根据计算流程完成卷积处理计算;14.一个特征映射累加单元;15.一个卷积累加阵列。2.权利要求1所述的卷积处理单元,其特征在于,包括:21.4个针对对应行的数据缓冲单元DBF,其中包括两列寄存器,每列寄存器可保存4个输入数据,数据可在两列寄存器中流动;22.一个卷积核缓冲单元kernelbuffer,由512个移位寄存器组成,每个移位寄存器为9比特,可保存一个3×3的卷积核,因此卷积核缓冲单元可缓存对应于所有输出通道的某一输入通道的卷积核;23.用于卷积计算中乘累加计算的多入多出滤波器MFIR,每一行有32个MFIR,这32个MFIR的输入共用对应行数据缓冲单元DBF中的输入神经元;24.将卷积处理单元前3行及后三行对应输出神经元累加的快速加法单元FAU。3.二值权重卷积神经网络加速器硬件架构及计算流程,其特征在于,卷积计算流程部分包括以下步骤(其中的英文缩写的指代意义如权利要求1、2中所述):步骤一,从动态随机存储器中读取待处理的所有输入通道的4行数据,缓存进IMEM中,每个IMEM缓存2行;除此之外,从动态随机存储器中读取该卷积层的所有权重保存进如权利要求1所述的FMEM中;步骤二,将4个输入通道的的4行,每行...

【专利技术属性】
技术研发人员:王中风王逸致林军
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1