CN108932548A - 一种基于fpga的稀疏度神经网络加速*** - Google Patents

一种基于fpga的稀疏度神经网络加速*** Download PDF

Info

Publication number
CN108932548A
CN108932548A CN201810494819.6A CN201810494819A CN108932548A CN 108932548 A CN108932548 A CN 108932548A CN 201810494819 A CN201810494819 A CN 201810494819A CN 108932548 A CN108932548 A CN 108932548A
Authority
CN
China
Prior art keywords
neural network
data
beta pruning
fpga
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810494819.6A
Other languages
English (en)
Inventor
李曦
周学海
王超
鲁云涛
宫磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Institute for Advanced Study USTC
Original Assignee
Suzhou Institute for Advanced Study USTC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Institute for Advanced Study USTC filed Critical Suzhou Institute for Advanced Study USTC
Priority to CN201810494819.6A priority Critical patent/CN108932548A/zh
Publication of CN108932548A publication Critical patent/CN108932548A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于FPGA的稀疏度神经网络加速***,包括硬件加速器和软件执行程序,所述硬件加速器包括***控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,所述软件执行程序包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,软件执行程序对稀疏网络参数矩阵剪枝处理,并进行压缩存储;硬件加速器基于FPGA硬件开发平台,对压缩参数后后续计算过程进行硬件加速。本发明对使用新型剪枝技术生成的神经网络模型进行优化处理,根据不同类型神经层使用的剪枝方法针对性的处理该层的权值参数,对网络参数进行压缩存储,减少网络模型使用的存储空间。

Description

一种基于FPGA的稀疏度神经网络加速***
技术领域
本发明涉及计算机硬件加速领域,特别涉及一种基于FPGA的稀疏度神经网络加速***及其设计方法。
背景技术
深度神经网络一种效果良好的方法,广泛应用于多种领域。在图像分类应用中常用的卷积神经网络是深度神经网络的一种变化形式。卷积神经网络模型在发展中尺寸不断增大,从而拥有计算密集与参数存储量大的特点,在很多资源受限的设备中无法部署应用。传统的神经网络剪枝技术在计算特点不同的卷积层与全连接层使用相同的剪枝策略,删除神经网络模型中冗余的神经元与突触连接,以减少计算操作数量与存储空间,最终形成不同稀疏度的神经网络模型,适应不同的硬件资源。神经网络模型使用矩阵的数据结构存储网络参数,原始网络模型的参数矩阵为稠密矩阵,剪枝后的网络模型参数表示为稀疏矩阵,即在参数矩阵中含有大量零值元素,这些零值元素能够在计算和存储中省略,并且不影响最终的预测准确度。
同时,大多数神经网络加速器仅考虑处理稠密参数的神经网络模型,在处理稀疏参数的神经网络模型时,对于参数矩阵中的零值元素仍然按照传统的方式存储于计算,并没有从稀疏化中得到相应的性能提升。而近期提出的稀疏神经网络加速器处理该类稀疏网络模型,对稀疏的参数矩阵进行压缩存储,随后对压缩的参数进行计算,该稀疏网络加速器的性能的提升也与网络参数减少的程度不成比例。
例如,手写数字识别应用中使用的一个卷积神经网络模型,在原始神经网络模型中,第一个全连接层原始的输入神经元数量为800,输出神经元数量为500,则该层的突触连接数量为100000,使用500 QUOTE 800矩阵数据结构存储每个突触连接上的权值参数。使用剪枝技术处理该模型,删除权值小于某个阈值的突触连接。在得到的稀疏神经网络模型的该全连接层中,突触连接数量变为8000,剪枝删掉的连接相应位置的权值参数数值设置为零,即,原始的500 QUOTE 800权值矩阵中相应位置的元素为零值。由于神经网络层进行的计算为乘法与非线性整流函数 QUOTE 运算,因此乘数为零值的乘法运算后结果为零,零值又在后续的ReLU函数中滤过,因此,权值矩阵中的零值元素对后续的计算结果不产生影响,因此可以不存储并参与后续计算。理论上,在该全连接层,经过剪枝处理后的稀疏参数的存储空间应为原始稠密参数的十分之一,计算性能应为原始稠密参数性能的10倍。但是,使用大多数处理稠密神经网络的加速器时,会将稀疏权值矩阵相应的零值元素仍旧存储并进行乘法运算操作,因此,加速器处理稀疏神经网络的性能与处理稠密神经网络的性能相似,网络参数的存储空间也没有改变。此外,针对传统剪枝技术的稀疏网络专用加速器,会消耗额外空间存储参数索引,消耗额外的时间开销处理压缩参数的计算,也不能达到理想的加速效果。综上所述,不论是稠密神经网络加速器,还是稀疏神经网络加速器,处理传统剪枝技术生成的这类稀疏神经网络时,均不能达到理想性能加速效果。
发明内容
本发明目的是:有鉴于现有技术的缺陷与不足,本发明提出了一种基于新型剪枝技术的神经网络加速器***(以下简称加速***),该加速***针对新型剪枝技术生成的稀疏神经网络,使用软硬件协同的工作方式,对该类稀疏神经网络进行性能加速。
本发明的技术方案是:
一种基于FPGA的稀疏度神经网络加速***,包括硬件加速器和软件执行程序,所述硬件加速器包括***控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,所述软件执行程序包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,软件执行程序对稀疏网络参数矩阵剪枝处理,并进行压缩存储;硬件加速器基于FPGA硬件开发平台,对压缩参数后后续计算过程进行硬件加速。
优选的,所述软件执行程序的剪枝处理程序分别使用卷积层剪枝子程序与全连接层剪枝子程序对稠密网络模型进行剪枝操作,删除模型中数值低于特定阈值的神经元或突触连接;所述软件执行程序的权值处理程序用于对剪枝后的稀疏参数矩阵进行压缩存储处理。
优选的,所述***控制单元控制整个***的执行流程,将神经网络参数进行剪枝、压缩、存储与计算;所述数据存储单元存储剪枝处理后的稀疏参数矩阵与压缩处理后的参数压缩数据结构;所述数据传输单元采用直接内存存取方式将压缩的参数传输至硬件缓存上准备进行后续的计算;计算处理单元进行神经网络应用中的乘法运算、累加运算与激活函数运算。
优选的,所述的剪枝处理程序的卷积层剪枝子程序以神经元为单位对神经网络卷积层进行剪枝处理,在卷积层中以特征图为单位。
优选的,所述的软件剪枝处理程序的全连接层剪枝子程序以一组权值参数为单位对神经网络全连接层进行剪枝处理;按照计算处理单元的计算能力将全连接层的权值参数进行分组,计算每一个权值组内所有元素的均方根,将均方根小于某一阈值的权值组删除,权值矩阵的相应位置元素将被置为零。
优选的,软件剪枝处理程序处理的神经网络模型,卷积层参数扔为稠密形式,为多个卷积核矩阵的数据结构;全连接层参数为稀疏形式,为稀疏参数矩阵的数据结构;所述的权值处理程序对全连接层的稀疏参数矩阵进行压缩存储,使用CSR的稀疏矩阵压缩存储格式。
优选的,所述的硬件加速器结构中计算处理单元内部的计算功能结构,包括定点乘法器、累加树、激活函数与非零值滤过器,其中,定点乘法器将全连接层的输入向量与权值数组中非零值进行矩阵乘法运算;累加树将定点乘法器输出的结果通过累加树并行计算;激活函数将累加树输出的求和结果进行激活操作;非零值滤过部件将激活函数值的输出进行滤过,当输出结果为零时不存储,输出结果为非零值存储至输出数据缓存中。
优选的,所述硬件加速器中计算处理单元的数量,即***并行度为p,根据FPGA 硬件开发平台上的资源限制情况,确定p 的取值。
优选的,所述的计算处理单元,在计算时需要对参与计算的数据进行划分,计算后将部分结果进行整合,得到最终的输出结果。
优选的,所述的数据划分的方法,在卷积层内,将每个通道上的小尺寸卷积核矩阵组成一个矩阵集合,以卷积核为单位对卷积层的参数进行数据划分,同时尽量避免数据划分带来的数据复制数量;在全连接层内,将权值参数按照原始的行向量进行划分,对每个计算处理单元中的输入向量,只复制相应非零权值对应的输入向量元素,其余的向量不复制。
优选的,所述硬件加速器处理稀疏神经网络预测算法的计算流程为,在通用处理器的控制下,通过数据传输控制器将数据存储单元中的输入数据与网络参数数据加载到计算处理单元的缓存结构,其中,卷积层中的计算数据为输入特征图与卷积核矩阵,全连接层的计算数据为输入向量与多个权值数组;再通过计算处理单元中的功能结构进行乘法运算,累加运算,激活函数处理与非零值滤过期处理,得到输出结果存储在缓存结构中;最终,通过数据传输控制器将缓存中的数据返回到数据存储单元中。
本发明的优点是:
本发明对使用新型剪枝技术生成的神经网络模型进行优化处理,根据不同类型神经层使用的剪枝方法针对性的处理该层的权值参数,对网络参数进行压缩存储,减少网络模型使用的存储空间。同时,利用利用硬件加速器的性能优势,对压缩后的权值与输入数据利用专门的硬件计算处理单元进行加速处理,减少了剪枝后稀疏神经网络预测算法的执行时间。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明基于FPGA的稀疏度神经网络加速***的整体架构图;
图2为本发明卷积层剪枝子程序对神经网络卷积层进行剪枝处理的的示意图;
图3为本发明全连接层剪枝子程序对神经网络全连接层进行剪枝处理的示意图;
图4为本发明软件权值处理程序对剪枝处理后的神经网络稀疏参数进行压缩的示意图;
图5为本发明硬件加速器结构中计算处理单元内部的数据缓存结构示意图;
图6为本发明硬件加速器结构中计算处理单元内部的计算功能结构示意图;
图7为本发明卷积层的数据划分方法示意图;
图8为本发明全连接层的数据划分方法示意图;
图9为本发明硬件加速器处理稀疏神经网络预测算法的计算流程图;
图10为本发明加速***的计算控制与数据传输示意图。
具体实施方式
如图1所示,本发明设计的一种基于FPGA的稀疏度神经网络加速***,采用软件执行程序与硬件加速器结合的架构。包括硬件加速器和软件执行程序,软件执行程序基于C/C++高级语言编程,包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,实现新型剪枝的方法,并对剪枝后的稀疏网络参数矩阵进行压缩存储,仅存储非零的参数元素,减少网络参数的存储空间。所述硬件加速器基于FPGA硬件开发平台,包括***控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,对压缩参数后后续计算过程进行硬件加速,提高神经网络模型的计算性能。
所述的软件执行程序包括剪枝处理程序与权值处理程序,对稠密神经网络的网络参数进行剪枝与压缩处理。其中,剪枝处理程序用分别使用卷积层剪枝子程序与全连接层剪枝子程序对稠密网络模型进行剪枝操作,删除模型中数值低于特定阈值的神经元或突触连接;权值处理程序用于对剪枝后的稀疏参数矩阵进行压缩存储处理。
所述的硬件加速器对压缩的权值参数进行计算进行加速。其中***控制单元控制整个***的执行流程,将神经网络参数进行剪枝、压缩、存储与计算;数据存储单元存储剪枝处理后的稀疏参数矩阵与压缩处理后的参数压缩数据结构;数据传输单元为采用直接内存存取方式将压缩的参数传输至硬件缓存上准备进行后续的计算;计算处理单元为神经网络计算的主要单元,进行神经网络应用中主要的乘法运算、累加运算与激活函数运算。
所述的软件剪枝处理程序的卷积层剪枝子程序以神经元为单位对神经网络卷积层进行剪枝处理,在卷积层中以特征图为单位,如图2所示,所示,若卷积核的相应输出特征图为Y,在每个输出层钱核前添加一个掩码层,掩码层的特征图都包含两个参数alpha和beta,输出为 QUOTE 。alpha的值与beta的值相关,当beta的值小于阈值时,alpha=0;当beta的值大于阈值时,alpha=1。alpha=1的卷积核矩阵元素数值设置为零,直至其后续的特征图全部删除完毕后,删除掩码层。
所述的软件剪枝处理程序的全连接层剪枝子程序以一组权值参数为单位对神经网络全连接层进行剪枝处理。按照计算处理单元的计算能力将全连接层的权值参数进行分组,如图3所示,处理单元的计算能力为p,计算每一个权值组内所有元素的均方根,将均方根小于某一阈值的权值组删除,权值矩阵的相应位置元素将被置为零。
所述的软件权值处理程序对剪枝处理后的神经网络稀疏参数进行压缩存储。新型剪枝方法处理的神经网络模型,卷积层参数扔为稠密形式,为多个卷积核矩阵的数据结构;全连接层参数为稀疏形式,为稀疏参数矩阵的数据结构。对全连接层的稀疏参数矩阵进行压缩存储,使用CSR的稀疏矩阵压缩存储格式,如图4所示。剪枝时权值参数按组划分,每组权值元素数量为p,权值矩阵中的非零元素个数为nz,使用修改后的常规CSR 矩阵压缩存储格式,使用三个一维数组内存储原始的权值矩阵非零元素。其中,非零元素数组存储原始权值矩阵的所有非零权值;其中,列索引数组存储每个权值组中第一个权值的在原始矩阵位置的列索引号;其中,行向量数组存储每行的首个非零元素在非零值数组中的位置指针。
所述的硬件***控制单元采用FPGA硬件开发平台上提供的ARM通用处理器或主机上的Intel通用处理器,用于控制加速***的计算执行与数据传输。
所述的硬件加速器结构中的数据存储单元采用FPGA硬件开发平台上提供的DDR双倍速率同步动态随机存储器,作为***内存,用于存储软件程序处理后的剪枝参数数据与压缩参数数据。
所述的硬件数据传输单元使用AXI或PCI-E的DMA直接访存控制器,通过AXI总线或PCI-E总线连接控制单元与计算单元,同时控制数据的直接传输。
所述的硬件加速器结构中计算处理单元内部的数据缓存结构,如图5所示,包括卷积层数据缓存与全连接层数据缓存。其中,卷积层缓存输入特征图,卷积核矩阵与输出特征图;全连接层缓存输入向量,输出向量与压缩后的三个权值数组。
所述的硬件加速器结构中计算处理单元内部的计算功能结构,如图6所示,包括定点乘法器、累加树、激活函数与非零值滤过器。其中,定点乘法器将卷积层的输入卷积核与相应的输入特征图内元素进行乘法內积运算,将全连接层的输入向量与权值数组中非零值进行矩阵乘法运算,在FPGA硬件开发平台上使用DSP48E实现乘法器,并进行流水化操作。其中,累加树将定点乘法器输出的结果通过累加树并行计算,将n个数进行累加操作的时间复杂度由串行的O(n)降低至O(log2n)。其中,激活函数部件为神经网络计算中常用的非线性整流函数 QUOTE ,将累加树输出的求和结果进行激活操作,比较与零值的大小,若为正值则输出,若为负值,则输出零。其中,非零值滤过部件将激活函数值的输出进行滤过,当输出结果为零时不存储,输出结果为非零值存储至输出数据缓存中。
所述硬件加速器中计算处理单元的数量,即***并行度为p,根据FPGA 硬件开发平台上的资源限制情况,能够确定p 的取值。参与计算的数据为16位定点数据类型,计算类型为定点乘法与累加运算,每个定点乘法占用的硬件DSP48E数量为4,每个定点加法占用的DSP48E的数量为1,在卷积层的卷积计算中的需要pc个乘法器和(pc -1)个加法器,占用的DSP48E的数量为(4+1)pc;在全连接层的计算中需要的乘法器数量pf,加法器的数量为(pf-1),需要的DSP48E 数量为(4+1)pf。若 pc = pf =p,则每个处理单元占用的DSP48E 总量为10p。若FPGA开发平台上的DSP48E数量为NDSP48E需要满足10p < NDSP48E,即p <NDSP48E/10。同时,在处理单元内部的加法操作按照二元的加法树规则排列,因此p的取值最好为二的指数值。
所述的计算处理单元的计算能力有限,在处理剪枝后的稀疏神经网络时,网络参数不能全部固化于计算处理单元的计算缓存中,因此在计算时需要对参与计算的数据进行划分,计算后将部分结果进行整合,得到最终的输出结果。
所述的数据划分的方法,在卷积层内,卷积核即使剪枝后数量较多,然而每个卷积核的尺寸较小,尺寸通常不超过10,因此,将每个通道上的小尺寸卷积核矩阵组成一个矩阵集合,以卷积核为单位对卷积层的参数进行数据划分。同时,由于卷积计算中存在大量共享的计算数据,需要尽量避免数据划分带来的数据复制数量。如图7所示,卷积层的数据划分策略是,将输入特征图按照通道进行划分,相应的卷积核矩阵也同样按照通道进行划分。再同一个通道内的输入特征图与卷积核进行滑动卷积计算,得到输出特征的相应元素的部分结果。最终,将不同通道上得到的输出特征图各元素的部分结果对应值相加,得到输出特征图的最后结果。
所述的数据划分方法,在全连接层内,输入向量与输出向量所含的元素数量大,权值参数的尺寸也较大。全连接层的参数表示为三个一维矩阵的形式,并按照权值组的顺序将保留的权值元素存储在非零值数组中,原始权值矩阵每一行保存的元素为该输出特征向量元素的所有权值。因此,将权值参数按照原始的行向量进行划分,对每个计算处理单元中的输入向量,只复制相应非零权值对应的输入向量元素,其余的向量不复制。如图8所示,将非零的权值按照在原始权值矩阵中的同一行进行划分,因此行向量数组即可进行省略,仅保存行索引号即可。同时每个计算处理单元中也仅存储的非零权值对应的输入向量元素与列索引号,减少输入向量的存储空间。输入向量只存储非零权值对应的元素与相应的列索引号。该每组的划分将计算出输出向量中相应位置的一个元素。
所述硬件加速器处理稀疏神经网络预测算法的计算流程如图9所示,在通用处理器的控制下,通过数据传输控制器将数据存储单元中的输入数据与网络参数数据加载到计算处理单元的缓存结构,其中,卷积层中的计算数据为输入特征图与卷积核矩阵,全连接层的计算数据为输入向量与多个权值数组。再通过计算处理单元中的功能结构进行乘法运算,累加运算,激活函数处理与非零值滤过期处理,得到输出结果存储在缓存结构中。最终,通过数据传输控制器将缓存中的数据返回到数据存储单元中。
所述的加速***的计算控制与数据传输如图10所示,以AXI总线为例,***控制单元通过AXI-Lite控制总线设置、初始化和控制计算数据的传输,AXI_MM2S和AXI_S2MM是内存映射的AXI4总线,AXIS_MM2S和AXIS_S2MM是无地址的连续数据传输AXI4-Streaming总线,参与计算的数据能够在DDR内存与自定义的计算处理单元间传输。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的修饰,都应涵盖在本发明的保护范围之内。

Claims (11)

1.一种基于FPGA的稀疏度神经网络加速***,其特征在于:包括硬件加速器和软件执行程序,所述硬件加速器包括***控制单元及分别与其连接的剪枝处理单元、权值压缩单元、数据存储单元、数据传输单元、计算处理单元,所述软件执行程序包括分别存储于剪枝处理单元、权值压缩单元内的剪枝处理程序和权值处理程序,软件执行程序对稀疏网络参数矩阵剪枝处理,并进行压缩存储;硬件加速器基于FPGA硬件开发平台,对压缩参数后后续计算过程进行硬件加速。
2.根据权利要求1所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述软件执行程序的剪枝处理程序分别使用卷积层剪枝子程序与全连接层剪枝子程序对稠密网络模型进行剪枝操作,删除模型中数值低于特定阈值的神经元或突触连接;所述软件执行程序的权值处理程序用于对剪枝后的稀疏参数矩阵进行压缩存储处理。
3.根据权利要求2所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述***控制单元控制整个***的执行流程,将神经网络参数进行剪枝、压缩、存储与计算;所述数据存储单元存储剪枝处理后的稀疏参数矩阵与压缩处理后的参数压缩数据结构;所述数据传输单元采用直接内存存取方式将压缩的参数传输至硬件缓存上准备进行后续的计算;计算处理单元进行神经网络应用中的乘法运算、累加运算与激活函数运算。
4.根据权利要求2所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述的剪枝处理程序的卷积层剪枝子程序以神经元为单位对神经网络卷积层进行剪枝处理,在卷积层中以特征图为单位。
5.根据权利要求4所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述的软件剪枝处理程序的全连接层剪枝子程序以一组权值参数为单位对神经网络全连接层进行剪枝处理;按照计算处理单元的计算能力将全连接层的权值参数进行分组,计算每一个权值组内所有元素的均方根,将均方根小于某一阈值的权值组删除,权值矩阵的相应位置元素将被置为零。
6.根据权利要求5所述的基于FPGA的稀疏度神经网络加速***,其特征在于:软件剪枝处理程序处理的神经网络模型,卷积层参数扔为稠密形式,为多个卷积核矩阵的数据结构;全连接层参数为稀疏形式,为稀疏参数矩阵的数据结构;所述的权值处理程序对全连接层的稀疏参数矩阵进行压缩存储,使用CSR的稀疏矩阵压缩存储格式。
7.根据权利要求5所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述的硬件加速器结构中计算处理单元内部的计算功能结构,包括定点乘法器、累加树、激活函数与非零值滤过器,其中,定点乘法器将全连接层的输入向量与权值数组中非零值进行矩阵乘法运算;累加树将定点乘法器输出的结果通过累加树并行计算;激活函数将累加树输出的求和结果进行激活操作;非零值滤过部件将激活函数值的输出进行滤过,当输出结果为零时不存储,输出结果为非零值存储至输出数据缓存中。
8.根据权利要求7所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述硬件加速器中计算处理单元的数量,即***并行度为p,根据FPGA 硬件开发平台上的资源限制情况,确定p 的取值。
9.根据权利要求8所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述的计算处理单元,在计算时需要对参与计算的数据进行划分,计算后将部分结果进行整合,得到最终的输出结果。
10.根据权利要求9所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述的数据划分的方法,在卷积层内,将每个通道上的小尺寸卷积核矩阵组成一个矩阵集合,以卷积核为单位对卷积层的参数进行数据划分,同时尽量避免数据划分带来的数据复制数量;在全连接层内,将权值参数按照原始的行向量进行划分,对每个计算处理单元中的输入向量,只复制相应非零权值对应的输入向量元素,其余的向量不复制。
11.根据权利要求10所述的基于FPGA的稀疏度神经网络加速***,其特征在于:所述硬件加速器处理稀疏神经网络预测算法的计算流程为,在通用处理器的控制下,通过数据传输控制器将数据存储单元中的输入数据与网络参数数据加载到计算处理单元的缓存结构,其中,卷积层中的计算数据为输入特征图与卷积核矩阵,全连接层的计算数据为输入向量与多个权值数组;再通过计算处理单元中的功能结构进行乘法运算,累加运算,激活函数处理与非零值滤过期处理,得到输出结果存储在缓存结构中;最终,通过数据传输控制器将缓存中的数据返回到数据存储单元中。
CN201810494819.6A 2018-05-22 2018-05-22 一种基于fpga的稀疏度神经网络加速*** Pending CN108932548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810494819.6A CN108932548A (zh) 2018-05-22 2018-05-22 一种基于fpga的稀疏度神经网络加速***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810494819.6A CN108932548A (zh) 2018-05-22 2018-05-22 一种基于fpga的稀疏度神经网络加速***

Publications (1)

Publication Number Publication Date
CN108932548A true CN108932548A (zh) 2018-12-04

Family

ID=64449592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810494819.6A Pending CN108932548A (zh) 2018-05-22 2018-05-22 一种基于fpga的稀疏度神经网络加速***

Country Status (1)

Country Link
CN (1) CN108932548A (zh)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685205A (zh) * 2018-12-26 2019-04-26 上海大学 一种基于稀疏矩阵的深度网络模型加速方法
CN109711532A (zh) * 2018-12-06 2019-05-03 东南大学 一种针对硬件实现稀疏化卷积神经网络推断的加速方法
CN109978142A (zh) * 2019-03-29 2019-07-05 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN110209627A (zh) * 2019-06-03 2019-09-06 山东浪潮人工智能研究院有限公司 一种面向智能终端的ssd硬件加速方法
CN110211121A (zh) * 2019-06-10 2019-09-06 北京百度网讯科技有限公司 用于推送模型的方法和装置
CN110458289A (zh) * 2019-06-10 2019-11-15 北京达佳互联信息技术有限公司 多媒体分类模型的构建方法、多媒体分类方法及装置
CN110796238A (zh) * 2019-10-29 2020-02-14 上海安路信息科技有限公司 卷积神经网络权重压缩方法及其***
CN110889259A (zh) * 2019-11-06 2020-03-17 北京中科胜芯科技有限公司 针对排列的块对角权重矩阵的稀疏矩阵向量乘法计算单元
CN110909801A (zh) * 2019-11-26 2020-03-24 山东师范大学 基于卷积神经网络的数据分类方法、***、介质及设备
CN110991631A (zh) * 2019-11-28 2020-04-10 福州大学 一种基于fpga的神经网络加速***
CN111026700A (zh) * 2019-11-21 2020-04-17 清华大学 实现加速的存内计算架构及其加速方法
CN111078189A (zh) * 2019-11-23 2020-04-28 复旦大学 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器
CN111291871A (zh) * 2018-12-10 2020-06-16 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN111291875A (zh) * 2018-12-06 2020-06-16 意法半导体(鲁塞)公司 用于确定存储器大小的方法和设备
CN111340206A (zh) * 2020-02-20 2020-06-26 云南大学 一种基于FPGA的Alexnet前向网络加速器
CN111353591A (zh) * 2018-12-20 2020-06-30 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN111368988A (zh) * 2020-02-28 2020-07-03 北京航空航天大学 一种利用稀疏性的深度学习训练硬件加速器
CN111507473A (zh) * 2020-04-20 2020-08-07 上海交通大学 一种基于Crossbar架构的剪枝方法及***
CN111723922A (zh) * 2019-03-20 2020-09-29 爱思开海力士有限公司 神经网络加速装置及其控制方法
CN111758104A (zh) * 2019-01-29 2020-10-09 深爱智能科技有限公司 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置
CN111860800A (zh) * 2019-04-26 2020-10-30 爱思开海力士有限公司 神经网络加速设备及其操作方法
US20200349421A1 (en) * 2019-05-02 2020-11-05 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network
CN111985632A (zh) * 2019-05-24 2020-11-24 三星电子株式会社 解压缩设备及其控制方法
CN112101178A (zh) * 2020-09-10 2020-12-18 电子科技大学 一种辅助盲人感知外界环境的智能soc终端
CN112381206A (zh) * 2020-10-20 2021-02-19 广东电网有限责任公司中山供电局 深度神经网络压缩方法、***、储存介质及计算机设备
CN112508184A (zh) * 2020-12-16 2021-03-16 重庆邮电大学 一种基于卷积神经网络的快速图像识别加速器设计方法
CN112749782A (zh) * 2019-10-31 2021-05-04 上海商汤智能科技有限公司 数据处理方法及相关产品
CN112906887A (zh) * 2021-02-20 2021-06-04 上海大学 稀疏gru神经网络加速的实现方法和装置
CN112966807A (zh) * 2019-12-13 2021-06-15 上海大学 基于存储资源受限fpga的卷积神经网络实现方法
CN113112002A (zh) * 2021-04-06 2021-07-13 济南大学 一种基于fpga轻量级卷积加速器的设计方法
CN113128658A (zh) * 2019-12-31 2021-07-16 Tcl集团股份有限公司 一种神经网络处理方法、加速器及存储介质
CN113159272A (zh) * 2020-01-07 2021-07-23 阿里巴巴集团控股有限公司 一种用于处理神经网络的方法和***
CN113159297A (zh) * 2021-04-29 2021-07-23 上海阵量智能科技有限公司 一种神经网络压缩方法、装置、计算机设备及存储介质
CN113657595A (zh) * 2021-08-20 2021-11-16 中国科学院计算技术研究所 神经网络实时剪枝方法、***及神经网络加速器
CN114581676A (zh) * 2022-03-01 2022-06-03 北京百度网讯科技有限公司 特征图像的处理方法、装置和存储介质
CN116167425A (zh) * 2023-04-26 2023-05-26 浪潮电子信息产业股份有限公司 一种神经网络加速方法、装置、设备及介质
CN116187408A (zh) * 2023-04-23 2023-05-30 成都甄识科技有限公司 稀疏加速单元、计算方法及稀疏神经网络硬件加速***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032866A1 (en) * 2016-07-28 2018-02-01 Samsung Electronics Co., Ltd. Neural network method and apparatus
CN107944555A (zh) * 2017-12-07 2018-04-20 广州华多网络科技有限公司 神经网络压缩和加速的方法、存储设备和终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032866A1 (en) * 2016-07-28 2018-02-01 Samsung Electronics Co., Ltd. Neural network method and apparatus
CN107944555A (zh) * 2017-12-07 2018-04-20 广州华多网络科技有限公司 神经网络压缩和加速的方法、存储设备和终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUNTAO LU等: "Work-in-Progress:A High-performance FPGA Accelerator for Sparse Neural Networks", 《CASES’17 COMPANION》 *

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711532A (zh) * 2018-12-06 2019-05-03 东南大学 一种针对硬件实现稀疏化卷积神经网络推断的加速方法
CN111291875A (zh) * 2018-12-06 2020-06-16 意法半导体(鲁塞)公司 用于确定存储器大小的方法和设备
CN111291875B (zh) * 2018-12-06 2023-10-24 意法半导体(鲁塞)公司 用于确定存储器大小的方法和设备
CN109711532B (zh) * 2018-12-06 2023-05-12 东南大学 一种针对硬件实现稀疏化卷积神经网络推断的加速方法
CN111291871A (zh) * 2018-12-10 2020-06-16 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN111353591A (zh) * 2018-12-20 2020-06-30 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN109685205A (zh) * 2018-12-26 2019-04-26 上海大学 一种基于稀疏矩阵的深度网络模型加速方法
CN111758104B (zh) * 2019-01-29 2024-04-16 深爱智能科技有限公司 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置
CN111758104A (zh) * 2019-01-29 2020-10-09 深爱智能科技有限公司 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置
CN111723922A (zh) * 2019-03-20 2020-09-29 爱思开海力士有限公司 神经网络加速装置及其控制方法
CN109978142A (zh) * 2019-03-29 2019-07-05 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN109978142B (zh) * 2019-03-29 2022-11-29 腾讯科技(深圳)有限公司 神经网络模型的压缩方法和装置
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN111860800A (zh) * 2019-04-26 2020-10-30 爱思开海力士有限公司 神经网络加速设备及其操作方法
US11507642B2 (en) * 2019-05-02 2022-11-22 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network
US20200349421A1 (en) * 2019-05-02 2020-11-05 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network
CN111985632A (zh) * 2019-05-24 2020-11-24 三星电子株式会社 解压缩设备及其控制方法
CN110209627A (zh) * 2019-06-03 2019-09-06 山东浪潮人工智能研究院有限公司 一种面向智能终端的ssd硬件加速方法
CN110211121B (zh) * 2019-06-10 2021-07-16 北京百度网讯科技有限公司 用于推送模型的方法和装置
CN110211121A (zh) * 2019-06-10 2019-09-06 北京百度网讯科技有限公司 用于推送模型的方法和装置
CN110458289A (zh) * 2019-06-10 2019-11-15 北京达佳互联信息技术有限公司 多媒体分类模型的构建方法、多媒体分类方法及装置
CN110458289B (zh) * 2019-06-10 2022-06-10 北京达佳互联信息技术有限公司 多媒体分类模型的构建方法、多媒体分类方法及装置
CN110796238A (zh) * 2019-10-29 2020-02-14 上海安路信息科技有限公司 卷积神经网络权重压缩方法及其***
CN112749782A (zh) * 2019-10-31 2021-05-04 上海商汤智能科技有限公司 数据处理方法及相关产品
CN110889259A (zh) * 2019-11-06 2020-03-17 北京中科胜芯科技有限公司 针对排列的块对角权重矩阵的稀疏矩阵向量乘法计算单元
CN111026700B (zh) * 2019-11-21 2022-02-01 清华大学 实现加速的存内计算架构及其加速方法
CN111026700A (zh) * 2019-11-21 2020-04-17 清华大学 实现加速的存内计算架构及其加速方法
CN111078189A (zh) * 2019-11-23 2020-04-28 复旦大学 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器
CN111078189B (zh) * 2019-11-23 2023-05-02 复旦大学 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器
CN110909801B (zh) * 2019-11-26 2020-10-09 山东师范大学 基于卷积神经网络的数据分类方法、***、介质及设备
CN110909801A (zh) * 2019-11-26 2020-03-24 山东师范大学 基于卷积神经网络的数据分类方法、***、介质及设备
CN110991631A (zh) * 2019-11-28 2020-04-10 福州大学 一种基于fpga的神经网络加速***
CN112966807A (zh) * 2019-12-13 2021-06-15 上海大学 基于存储资源受限fpga的卷积神经网络实现方法
CN112966807B (zh) * 2019-12-13 2022-09-16 上海大学 基于存储资源受限fpga的卷积神经网络实现方法
CN113128658A (zh) * 2019-12-31 2021-07-16 Tcl集团股份有限公司 一种神经网络处理方法、加速器及存储介质
CN113159272A (zh) * 2020-01-07 2021-07-23 阿里巴巴集团控股有限公司 一种用于处理神经网络的方法和***
CN111340206A (zh) * 2020-02-20 2020-06-26 云南大学 一种基于FPGA的Alexnet前向网络加速器
CN111368988B (zh) * 2020-02-28 2022-12-20 北京航空航天大学 一种利用稀疏性的深度学习训练硬件加速器
CN111368988A (zh) * 2020-02-28 2020-07-03 北京航空航天大学 一种利用稀疏性的深度学习训练硬件加速器
CN111507473B (zh) * 2020-04-20 2023-05-12 上海交通大学 一种基于Crossbar架构的剪枝方法及***
CN111507473A (zh) * 2020-04-20 2020-08-07 上海交通大学 一种基于Crossbar架构的剪枝方法及***
CN112101178A (zh) * 2020-09-10 2020-12-18 电子科技大学 一种辅助盲人感知外界环境的智能soc终端
CN112381206A (zh) * 2020-10-20 2021-02-19 广东电网有限责任公司中山供电局 深度神经网络压缩方法、***、储存介质及计算机设备
CN112508184B (zh) * 2020-12-16 2022-04-29 重庆邮电大学 一种基于卷积神经网络的快速图像识别加速器设计方法
CN112508184A (zh) * 2020-12-16 2021-03-16 重庆邮电大学 一种基于卷积神经网络的快速图像识别加速器设计方法
CN112906887A (zh) * 2021-02-20 2021-06-04 上海大学 稀疏gru神经网络加速的实现方法和装置
CN113112002A (zh) * 2021-04-06 2021-07-13 济南大学 一种基于fpga轻量级卷积加速器的设计方法
CN113159297A (zh) * 2021-04-29 2021-07-23 上海阵量智能科技有限公司 一种神经网络压缩方法、装置、计算机设备及存储介质
CN113159297B (zh) * 2021-04-29 2024-01-09 上海阵量智能科技有限公司 一种神经网络压缩方法、装置、计算机设备及存储介质
CN113657595B (zh) * 2021-08-20 2024-03-12 中国科学院计算技术研究所 基于神经网络实时剪枝的神经网络加速器
CN113657595A (zh) * 2021-08-20 2021-11-16 中国科学院计算技术研究所 神经网络实时剪枝方法、***及神经网络加速器
CN114581676A (zh) * 2022-03-01 2022-06-03 北京百度网讯科技有限公司 特征图像的处理方法、装置和存储介质
CN114581676B (zh) * 2022-03-01 2023-09-26 北京百度网讯科技有限公司 特征图像的处理方法、装置和存储介质
CN116187408A (zh) * 2023-04-23 2023-05-30 成都甄识科技有限公司 稀疏加速单元、计算方法及稀疏神经网络硬件加速***
CN116187408B (zh) * 2023-04-23 2023-07-21 成都甄识科技有限公司 稀疏加速单元、计算方法及稀疏神经网络硬件加速***
CN116167425A (zh) * 2023-04-26 2023-05-26 浪潮电子信息产业股份有限公司 一种神经网络加速方法、装置、设备及介质
CN116167425B (zh) * 2023-04-26 2023-08-04 浪潮电子信息产业股份有限公司 一种神经网络加速方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN108932548A (zh) 一种基于fpga的稀疏度神经网络加速***
CN108280514B (zh) 基于fpga的稀疏神经网络加速***和设计方法
CN106529670B (zh) 一种基于权重压缩的神经网络处理器、设计方法、芯片
JP7266065B2 (ja) ディープニューラルネットワーク用のシステム、コンピュータ実装方法及びコンピュータプログラム
Su et al. Redundancy-reduced mobilenet acceleration on reconfigurable logic for imagenet classification
CN110378468A (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
DE102019114243A1 (de) Architektur für tiefe neuronale Netze unter Verwendung stückweiser linearer Approximation
CN107729989A (zh) 一种用于执行人工神经网络正向运算的装置及方法
CN106529668A (zh) 加速深度神经网络算法的加速芯片的运算装置及方法
KR20190084705A (ko) 근사 곱셈기를 구비하는 뉴럴 네트워크 처리 장치 및 이를 포함하는 시스템온 칩
CN109472356A (zh) 一种可重构神经网络算法的加速装置及方法
CN107861916A (zh) 一种用于针对神经网络执行非线性运算的方法和装置
CN108268947A (zh) 用于提高神经网络的处理速度的装置和方法及其应用
CN106650925A (zh) 一种基于MIC集群的深度学习框架Caffe***及算法
CN110163359A (zh) 一种计算装置及方法
CN109934336A (zh) 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN110163350A (zh) 一种计算装置及方法
CN209231976U (zh) 一种可重构神经网络算法的加速装置
CN110347489A (zh) 一种基于Spark的多中心数据协同计算的流处理方法
Peyrl et al. Parallel implementations of the fast gradient method for high-speed MPC
CN109657794B (zh) 一种基于指令队列的分布式深度神经网络性能建模方法
CN108304925A (zh) 一种池化计算装置及方法
CN110069444A (zh) 一种计算单元、阵列、模块、硬件***及实现方法
CN109214502A (zh) 神经网络权重离散化方法和***
CN109117455A (zh) 计算装置及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181204

RJ01 Rejection of invention patent application after publication