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

一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块制造技术

技术编号:15747473 阅读:96 留言:0更新日期:2017-07-03 05:01
本发明专利技术公开了一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块。硬件加速器的计算模块可接收输入神经元以及二值卷积核(权重)并进行快速的卷积乘累加计算。计算模块使用补码数据表示形式,主要包含了优化的近似二值乘法器,一个压缩器树,创新的近似加法器及用于串行地累加部分和的暂存器。除此之外,针对优化的二值近似乘法器,提出了两种误差补偿方案,能在极少增加硬件资源开销的前提下使二值近似乘法器带来的误差得到降低或完全消除。本发明专利技术通过优化的计算单元,能够使使用该计算模块的二值权重卷积神经网络硬件加速器的关键路径大大缩短,并减少了面积损耗和功耗,适用于需要使用卷积神经网络的低功耗嵌入式系统。

A two value weighted convolution neural network hardware accelerator calculation module based on approximate calculation

The invention discloses a calculating module of a two value weight convolution neural network hardware accelerator based on approximate calculation. The computation module of the hardware accelerator can receive input neurons and two value convolution kernels (weights), and perform fast convolution multiplication and accumulation calculation. The calculation module uses the complement data representation, mainly including the optimized approximate two valued multiplier, a compressor tree, an innovative approximate adder and a register for serially accumulating parts and sums. In addition, the optimized value of two approximate multiplier, puts forward two kinds of error compensation scheme, can make two errors caused by approximate multiplier is reduced or completely eliminated in the premise of increased a little hardware cost under the. The present invention by calculating unit optimization, can make use of the calculation module of two key value path weights of convolutional neural network hardware accelerator is greatly shortened, and reduce the loss of area and power consumption, suitable for low power embedded systems need to use convolutional neural network.

【技术实现步骤摘要】
一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块
本专利技术设计计算机及电子信息
,特别涉及一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块。
技术介绍
深度卷积神经网络模型在诸多领域譬如图像分类、动作检测、语音识别以及其他大数据分析的任务中取得了极大的突破和成功。一方面,随着卷积神经网络的效果变得越来越好,其本身拓扑结构也在不断加深,参数数量也达到了10的6次方及以上级别,这带来了计算复杂度的极大提升,所需的计算能力爆炸性增长。另一方面,嵌入式系统仅能够提供有限的资源,其功耗也受限在一定范围内,现有常用的使用大规模GPU的解决方案虽然有较高的吞吐率,但其功耗过高(约250W),难以应用于嵌入式系统中。二值权重卷积神经网络是一种简化的卷积神经网络模型,其最早由加拿大蒙特利尔大学的MatthieuCourbariaux等人提出,后又经过Itayhubara、MohammadRasteg等人的改进。此模型通过特别的训练方式将卷积神经网络的权重训练为二值的+1和-1,这使得模型的计算复杂度大大降低,模型的大小也能够被压缩达到32倍。然而尽管如此,对于深度卷积神经网络,即使参数二值化能够使得复杂度有所降低,其仍然需要大量的计算,直接应用于嵌入式系统中很难满足实时性和低功耗的要求。在二值权重卷积神经网络中的核心计算在于卷积层的乘累加计算,这涉及了多个数据(从几百到几千个)的计算,如何达到高速低功耗且不会对系统计算精度带来明显误差,是二值权重卷积神经网络加速器设计的关键。
技术实现思路
本专利技术旨在解决二值权重卷积神经网络应用于功耗受限而又需求实时性的嵌入式系统的技术问题,或至少提出一种有用的商业选择。为此,本专利技术的目的在于提出一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,以完成大量输入神经元的二值权重乘累加计算。在不明显降低二值权重卷积神经网络计算精度的前提下,设计了专门优化的近似二值乘法器及对应的两种补偿方案和近似加法器,能够缩短最长路径,减少面积以及降低功耗。除此之外,使用了压缩器树代替传统的加法器树,消除了最长路径与输入数据位宽的依赖性,并且不增加面积的消耗。从该计算模块的整体上来看,其包含了:1.多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;2.多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;3.多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;4.一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3∶2压缩器和4∶2压缩器;5.第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;6.一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,计算模块中的串行累加单元,包含了:1.第二近似加法器,用于将第一近似加法器的结果与偏置项,或是近似二值乘法器的补偿项,或是中间结果暂存器的数据进行累加;2.饱和逻辑,用于防止第二近似加法器计算结果的溢出而进行饱和处理;3.中间结果暂存器,用于暂存累加的中间结果以进入下一次累加;4.多路选择器,用于接收输入的偏置项,或是近似二值乘法器补偿项,或是暂存器中的计算中间结果,并根据控制信号选择送入第二近似加法器的项;5.数据门选通寄存器,通过选通信号用于输出卷积结果,并在卷积结果未完全计算完毕时阻止数据输出。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,还包括多个寄存器,其中所述多个寄存器被配置为实现流水线操作。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,数值被编码为定点的2的补码形式。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,可通过扩展支持多种卷积核大小,如3×3,5×5,7×7等等;根据需要的不同的卷积核大小,如权利要求1所述的若干个神经元输入端、二值权重输入端、近似二值乘法器的数量、并行输入通道数量可相应扩展;例如针对3×3卷积核,神经元输入端、二值权重输入端、近似二值乘法器的数量则可设定为9个;而并行输入通道可根据需求任意设定;说明书的实施例是以3×3卷积核、4个并行输入通道为例,但不应理解为对本专利技术的限制。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,第一、第二近似加法器中,包括:第一子加法器,用于近似的计算第一、第二近似加法器输入数据的高位之和。第二子加法器,用于计算第一、第二近似加法器输入数据的低位之和。一个输出并接模块,用于将第一、第二子加法器的计算结果并接起来并输出。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,近似二值权重乘法器的输入其中之一为二值权重,其数字值为+1或-1,但使用1个比特分别表示,0表示-1,1表示+1。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,压缩器树中的3∶2压缩器由多个1比特全加器构成;这些1比特全加器的三个输入分别为3∶2压缩器的3个输入(X、Y、Z)的某一个比特;输出为S、C,他们的关系满足:X+Y+Z=S+C×2,每个1比特全加器无相互连接。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,压缩器树中的4∶2压缩器由多个1比特全加器构成,与3∶2压缩器不同的是在4∶2压缩器中由两个1比特全加器作为一个基本单元;每个基本单元内包含一个第一全加器和第二全加器;第一全加器的三个输入为4∶2压缩器的4个输入中某三个输入的某一个比特,进位输出连接至下一个比特的基本单元的第二全加器的输入之一,另一输出连接至第二全加器输入之一;基本单元内的第二全加器的三个输入分别来自于上一个比特的基本单元的第一全加器的进位输出、当前基本单元第一全加器的输出之一,以及整个4∶2压缩器中4个输入之一的某比特;假设4∶2压缩器的输入为X、Y、Z、W、Cin(1比特),输出为Carry、Sum,他们都有多个比特,则满足以下关系:X+Y+Z+W+Cin=Carry+Sum。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,近似二值乘法器,包含:与输入数据比特数相同数量的反相器,用于计算输入数据与二值权重为-1时的近似结果;一个两输入多路选择器,用于根据二值权重选择近似二值乘法器的输出结果。在二值权重卷积神经网络硬件加速器的计算模块的一些实施例中,串行累加单元其中的多入选择器的输入之一为近似二值乘法器的补偿值。根据补偿方案的不同,有以下两种补偿方式:1)直接将补偿值设置为0.5CinWkernelHkernel;其中Cin为当前卷积层输入通道数,Wkernel、Hkernel分别为当前卷积层的卷积核的列数和行数,常见值为3、5、7、11等;2)通过在模型的训练过程中,记录当前卷积层每个输出通道对应的所有卷积核中-1的权重的数量,记为n;则对每一个输出通道的计算结果,都补偿此值n。本专利技术的有益效果:在不产生明显的精度损失的前提下,加速二值权重卷积神经网络的计算速度,并且功耗低,面积小。附图说明下面结本文档来自技高网...
一种基于近似计算的二值权重卷积神经网络硬件加速器计算模块

【技术保护点】
一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,包括:多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3:2压缩器和4:2压缩器;第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合。

【技术特征摘要】
1.一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,包括:多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个3:2压缩器和4:2压缩器;第一近似加法器,用于将压缩器树输出的两个数值结果进行相加;一个串行累加单元,用于将上述单元的运算结果进行串行累加,或是与偏置项结合。2.如权利要求1所述的串行累加单元,包括:第二近似加法器,用于将第一近似加法器的结果与偏置项,或是近似二值乘法器的补偿项,或是中间结果暂存器的数据进行累加;饱和逻辑,用于防止第二近似加法器计算结果的溢出而进行饱和处理;中间结果暂存器,用于暂存累加的中间结果以进入下一次累加;多路选择器,用于接收输入的偏置项,或是近似二值乘法器补偿项,或是暂存器中的计算中间结果,并根据控制信号选择送入第二近似加法器的项;数据门选通寄存器,通过选通信号用于输出卷积结果,并在卷积结果未完全计算完毕时阻止数据输出。3.如权利要求1所述二值权重卷积神经网络硬件加速器的计算模块,还包括多个寄存器,其中所述多个寄存器被配置为实现流水线操作。4.如权利要求1所述的二值权重卷积神经网络硬件加速器的计算模块,可通过扩展支持多种卷积核大小,如3×3,5×5,7×7等等;根据需要的不同的卷积核大小,如权利要求1所述的若干个神经元输入端、二值权重输入端、近似二值乘法器的数量、并行输入通道数量可相应扩展;例如针对3×3卷积核,神经元输入端、二值权重输入端、近似二值乘法器的数量则可设定为9个;而并行输入通道可根据需求任意设定;说明书的示例是以3×3卷积核、4个并行输入通道为例,但不应理解为对本发明的限制。5.如权利要求1、权利要求2所述的第一、第二近似加法器,包括:第一子加法器,用于近似的计算第一、第二近似加法器输入数据的高位之和;第一子加法器...

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

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

1