The invention discloses a sparse neural network acceleration system based on FPGA, which includes hardware accelerator and software execution program. The hardware accelerator includes system control unit and pruning processing unit, weight compression unit, data storage unit, data transmission unit and computing processing unit connected with it respectively. The software execution program includes the pruning processing program and the weight processing program stored in the pruning processing unit, the weight compression unit respectively. The software execution program prunes the sparse network parameter matrix and carries on the compression storage. The hardware accelerator is based on the hardware development platform of the FPGA, and carries on the subsequent calculation process after the compression parameter. Hardware acceleration. The invention optimizes the neural network model generated by the new pruning technology, and processes the weight parameters of the layer according to the pruning method used by different types of nerve layers, compresses and stores the network parameters and reduces the storage space used by the network model.
【技术实现步骤摘要】
一种基于FPGA的稀疏度神经网络加速系统
本专利技术涉及计算机硬件加速领域,特别涉及一种基于FPGA的稀疏度神经网络加速系统及其设计方法。
技术介绍
深度神经网络一种效果良好的方法,广泛应用于多种领域。在图像分类应用中常用的卷积神经网络是深度神经网络的一种变化形式。卷积神经网络模型在发展中尺寸不断增大,从而拥有计算密集与参数存储量大的特点,在很多资源受限的设备中无法部署应用。传统的神经网络剪枝技术在计算特点不同的卷积层与全连接层使用相同的剪枝策略,删除神经网络模型中冗余的神经元与突触连接,以减少计算操作数量与存储空间,最终形成不同稀疏度的神经网络模型,适应不同的硬件资源。神经网络模型使用矩阵的数据结构存储网络参数,原始网络模型的参数矩阵为稠密矩阵,剪枝后的网络模型参数表示为稀疏矩阵,即在参数矩阵中含有大量零值元素,这些零值元素能够在计算和存储中省略,并且不影响最终的预测准确度。同时,大多数神经网络加速器仅考虑处理稠密参数的神经网络模型,在处理稀疏参数的神经网络模型时,对于参数矩阵中的零值元素仍然按照传统的方式存储于计算,并没有从稀疏化中得到相应的性能提升。而近期提出的稀疏神经网络加速器处理该类稀疏网络模型,对稀疏的参数矩阵进行压缩存储,随后对压缩的参数进行计算,该稀疏网络加速器的性能的提升也与网络参数减少的程度不成比例。例如,手写数字识别应用中使用的一个卷积神经网络模型,在原始神经网络模型中,第一个全连接层原始的输入神经元数量为800,输出神经元数量为500,则该层的突触连接数量为100000,使用500QUOTE800矩阵数据结构存储每个突触连接上的权值 ...
【技术保护点】
1.一种基于FPGA的稀疏度神经网络加速系统,其特征在于:包括硬件加速器和软件执行程序,所述硬件加速器包括系统控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,所述软件执行程序包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,软件执行程序对稀疏网络参数矩阵剪枝处理,并进行压缩存储;硬件加速器基于FPGA硬件开发平台,对压缩参数后后续计算过程进行硬件加速。
【技术特征摘要】
1.一种基于FPGA的稀疏度神经网络加速系统,其特征在于:包括硬件加速器和软件执行程序,所述硬件加速器包括系统控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,所述软件执行程序包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,软件执行程序对稀疏网络参数矩阵剪枝处理,并进行压缩存储;硬件加速器基于FPGA硬件开发平台,对压缩参数后后续计算过程进行硬件加速。2.根据权利要求1所述的基于FPGA的稀疏度神经网络加速系统,其特征在于:所述软件执行程序的剪枝处理程序分别使用卷积层剪枝子程序与全连接层剪枝子程序对稠密网络模型进行剪枝操作,删除模型中数值低于特定阈值的神经元或突触连接;所述软件执行程序的权值处理程序用于对剪枝后的稀疏参数矩阵进行压缩存储处理。3.根据权利要求2所述的基于FPGA的稀疏度神经网络加速系统,其特征在于:所述系统控制单元控制整个系统的执行流程,将神经网络参数进行剪枝、压缩、存储与计算;所述数据存储单元存储剪枝处理后的稀疏参数矩阵与压缩处理后的参数压缩数据结构;所述数据传输单元采用直接内存存取方式将压缩的参数传输至硬件缓存上准备进行后续的计算;计算处理单元进行神经网络应用中的乘法运算、累加运算与激活函数运算。4.根据权利要求2所述的基于FPGA的稀疏度神经网络加速系统,其特征在于:所述的剪枝处理程序的卷积层剪枝子程序以神经元为单位对神经网络卷积层进行剪枝处理,在卷积层中以特征图为单位。5.根据权利要求4所述的基于FPGA的稀疏度神经网络加速系统,其特征在于:所述的软件剪枝处理程序的全连接层剪枝子程序以一组权值参数为单位对神经网络全连接层进行剪枝处理;按照计算处理单元的计算能力将全连接层的权值参数进行分组,计算每一个权值组内所有元素的均方根,将均方根小于某一阈值的权值组删除,权值矩阵的相应位置元素将被置为零。6.根据权利要求5所述的基于FPGA的稀疏度神经网络加速系统,其特征在于:软件剪枝处理程序处理的神经网络模型,卷积层参数扔为稠密形式,为多个卷积核矩阵的数据结构;全连接层参数为稀疏形式,为稀疏参...
【专利技术属性】
技术研发人员:李曦,周学海,王超,鲁云涛,宫磊,
申请(专利权)人:中国科学技术大学苏州研究院,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。