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倍。然而尽管如此,对于深度卷积神经网络,即使参数二值化能够使得复杂度有所降低,其仍然需要大量的计算,直接应用于嵌入式系统中很难满足实时性和低功耗的要求。在二值权重卷积神经网络中的核心计算在于卷积层的乘累加计算,这涉及了多个数据(从几百到几千个)的计算,如何达到高速低功耗且不会对系统计算精度带来明显误差,是二值权重卷积神经网络加速器设计的关键。
技术实现思路
本专利技术旨在解决二值权重卷积神经网络应用于功耗受限而又需求实 ...
【技术保护点】
一种基于近似计算的二值权重卷积神经网络硬件加速器的计算模块,包括:多个输入神经元输入端,用于接收输入神经元数据值,所述多个数据输入端包括四个输入通道,每个输入通道若干个的数据输入端;多个二值权重(卷积核)输入端。所述二值权重输入端包括四个输入通道,每个输入通道若干个权重值的输入端;多个近似二值乘法器,用于进行二值权重与输入神经元的乘法计算。四个输入通道,每个输入通道有若干个近似二值乘法器;一个压缩器树。用于将若干个并行输入通道,每个输入通道若干个输入神经元在进行二值乘法计算后的结果进行快速相加;此压缩器树包含多个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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。