CN111445012A - 一种基于fpga的分组卷积硬件加速器及其方法 - Google Patents

一种基于fpga的分组卷积硬件加速器及其方法 Download PDF

Info

Publication number
CN111445012A
CN111445012A CN202010347520.5A CN202010347520A CN111445012A CN 111445012 A CN111445012 A CN 111445012A CN 202010347520 A CN202010347520 A CN 202010347520A CN 111445012 A CN111445012 A CN 111445012A
Authority
CN
China
Prior art keywords
data
convolution
convolution operation
pictures
input
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.)
Granted
Application number
CN202010347520.5A
Other languages
English (en)
Other versions
CN111445012B (zh
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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202010347520.5A priority Critical patent/CN111445012B/zh
Publication of CN111445012A publication Critical patent/CN111445012A/zh
Application granted granted Critical
Publication of CN111445012B publication Critical patent/CN111445012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于FPGA的分组卷积硬件加速器及其方法。该加速器包括:顶层控制器,用于对输入数据进行处理和分组存放并将权重和激励数据传递给数据分发模块;数据分发模块,用于根据输入特征图尺寸进行数据选择和分组存放并将权重和激励数据分发给卷积运算阵列;卷积运算阵列,用于分组完成稀疏卷积的乘加运算操作;结果控制模块,用于对卷积运算阵列输出的部分和的结果进行累加缓存并进行通道随机混合操作;线性激活函数单元,用于对结果控制模块输出的结果加偏置和激活函数操作;存储器DDR,用于存储原始输入图像数据、卷积运算阵列的中间结果和最终输出的特征图。本发明可以对特征图进行快速卷积操作,并且获得更多的特征图信息。

Description

一种基于FPGA的分组卷积硬件加速器及其方法
技术领域
本发明涉及一种基于FPGA的分组卷积硬件加速器及其方法,属于硬件加速神经网络的技术领域。
背景技术
近些年来,人工神经网络技术越来越成熟,并且广泛应用于人工智能设备中,例如图像识别技术,语音识别技术以及智能语音助手等等。在深度学习领域,有很多神经网络算法如CNN算法,LSTM算法和DNN算法等等,此类神经网络算法旨在使人工智能更加普惠大众,给用户带来更好的体验。但是基于硬件角度来看,神经网络算法都离不开卷积计算的过程,因此卷积神经网络成为硬件加速的关键之处。例如传统的CNN卷积网络算法,其结构包括输入层、卷积层、激励层、池化层、全连接层以及输出层。CNN的卷积操作采用传统的卷积模式,用单一的卷积核组进行卷积操作,这会带来大量的乘法计算,占用大量的硬件资源。如果想要减少硬件资源消耗,加快运算过程,就必须对卷积过程进行优化。常用的硬件加速优化方法有并行计算,即增加硬件运算过程中的并行度,提高运算速度,缺点是占用过多硬件资源。此外现有的硬件优化方法还有近似处理数据,即对复杂的激活函数用近似函数处理,优点是减少了计算量,缺点是降低了精度。
神经网络卷积层运算的主要特点有两个:一是卷积运算所需的数据量大,输入图片和权重参数规模大,对其进行稀疏化并压缩存储可以很好地节省数据存储单元,最大化地利用数据传输带宽;二是运算数据和控制信号复杂,卷积运算需要根据卷积维度信息同时处理多个卷积核的多个通道,以保证运算的流水进行。
发明内容
针对上述现有技术存在的问题,本发明旨在提供一种基于FPGA的分组卷积硬件加速器,以实现减少卷积计算部分参数量,加快卷积计算过程、可扩展可并行度高以及缓解内存压力的目的。本发明的另外一个目的是提供该硬件加速器的运算方法。
本发明加速器采用的技术方案为:
一种基于FPGA的分组卷积硬件加速器,包括:顶层控制器,用于对输入数据进行处理和分组存放,并将权重数据和激励数据传递给数据分发模块;数据分发模块,用于根据输入特征图尺寸进行数据选择和分组存放,并将权重数据和激励数据分发给卷积运算阵列;卷积运算阵列,用于分组完成稀疏卷积的乘加运算操作,输出部分和的结果;结果控制模块,用于对卷积运算阵列输出的部分和的结果进行累加缓存,并进行通道随机混合操作;线性激活函数单元,用于对结果控制模块输出的结果加偏置和激活函数操作;存储器DDR,用于存储原始输入图像数据、卷积运算阵列的中间结果和最终输出的特征图。
进一步地,所述数据分发模块包括取数地址计算单元、存储单元和FIFO缓存器;所述取数地址计算单元用于从所述存储器DDR中取出数据并进行格式转换,所述存储单元用于存储所述取数地址计算单元传输的数据,所述FIFO缓存器用于存储格式转换后的数据。
进一步地,所述卷积运算阵列由多个计算单元构成,每个计算单元包括流水控制器模块、权重非零检测模块、指针控制模块、激励解压模块、乘加运算单元模块和公用BRAM存储,权重非零检测模块将权重数据处理后传递给乘加运算单元模块完成卷积计算,多个计算单元复用公用BRAM存储器。
本发明一种基于FPGA的分组卷积硬件加速器的运算方法,包括以下步骤:1)顶层控制器对输入原始图片进行处理和分组存放,根据输入图片尺寸大小,将输入图片分为大小一致的两组子图片,并分组存放到存储器DDR上;2)数据分发模块根据由顶层控制器输入的两组子图片,将权重数据和激励数据分别分成两组存放,然后将对应每组输入子图片的权重和激励数据分发给卷积运算阵列;3)卷积运算阵列进行分组卷积运算,将运算结果的中间数据暂存在公用BRAM存储器中;4)结果控制模块对卷积运算阵列输出的部分和的结果进行累加缓存,并对卷积运算结果进行通道随机混合操作,之后由顶层控制器判断当前卷积层操作是否为最后一层,如果不是,继续进行步骤3)的卷积运算,如果是,则进行步骤5);5)对卷积运算结果加以偏置并用激活函数处理,最后输出结果。
进一步地,所述步骤1)中,顶层控制器对输入原始图像进行处理的具体过程为:将输入特征图片按照行或列维度展成一个矩阵,并且按照行或列取中位数进行分组存放,其中顶层控制器首先判断矩阵的行或列是否为偶数,若为偶数直接取中位数,若为奇数,则将原始图片矩阵补行或列后再取中位数;这样将权重数据或激励数据按照输出通道维度展开成一个向量,从而把卷积运算转化成矩阵向量乘运算。
进一步地,所述步骤2)中,数据分发模块分组存放数据的具体过程为:将第一组子图片与第一组权重数据对应,第二组子图片与第二组权重数据对应,第一组权重数据与第二组权重数据选取不同卷积核大小,然后将每组子图片的权重数据和激励数据分发给卷积运算单元。
进一步地,所述步骤3)中,分组卷积运算的具体过程为:按照每层卷积运算的尺寸参数信息由顶层控制器静态配置完成分组运算,对于输入的多个原始图片的矩阵,采取分组卷积计算的方式,即每组特征图对应不同的卷积核参数,且每组特征图采用四组卷积核并行计算。
进一步地,所述步骤3)中,分组卷积运算包括非零检测过程,具体为:过滤掉权重数据中“0”的部分,直接将权重数据中包含“1”的部分与激励数据相乘得到卷积运算结果。
本发明的特点在于能够将输入图片进行分组处理,运用不同尺寸大小的卷积核权重参数进行分组卷积运算之后合并,经过激活函数处理之后输出结果。与现有技术相比,本发明的优点是:
(1)本发明通过改变分组卷积原有的运算方式,可以在基本不增加参数量的前提下提高卷积运算的速度,使得硬件利用效率提升以及运算效率提高;
(2)本发明的加速方法可以计算不同尺寸特征图的卷积运算,不同尺寸的卷积核可以获得更多的感受野,提取更多的特征图信息,具有很好的适用性和扩展性;
(3)本发明对加速器整个系统的设计可以很好地满足目前在嵌入式系统下运行卷积神经网络的低功耗高能效比的需求。
附图说明
图1是本发明一种基于FPGA的分组卷积硬件加速器结构框图;
图2是本发明一种基于FPGA的分组卷积硬件加速器运算方法流程图;
图3是硬件加速器主控器分发数据示意图;
图4是分组卷积实现方式示意图;
图5是PE组单元构成示意图;
图6是PE阵列存储共享的实现示意图;
图7是channelshuffle操作示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
如图1所示的一种基于FPGA的分组卷积硬件加速器结构框图,包括顶层控制器、数据分发模块、RAM、结果控制模块、线性函数激活单元、卷积运算PE(Process Element,运算单元)阵列、DDR等,主控器分别与数据分发模块、片外DDR、本地共享RAM相连,数据分发模块和RAM、PE阵列相连;结果控制模块与PE阵列和现行激活函数单元相连。
图2所示为稀疏卷积网络运算方法流程示意图,顶层控制器开始控制信号流,通过主状态机控制输入数据的存放,权重数据和激励数据的分发,卷积运算PE阵列的计算,数据结果的收集,然后对卷积输出结果进行channelshuffle处理,最后将处理过的结果进行判断是否为卷积最后一层,如果不是,就返回上一阶段继续卷积操作过程;如果是,就将结果进行激活函数处理然后编码存入片外DDR。整个卷积操作是通过状态机控制信号保证硬件电路流水化正常运行。
如图3所示为硬件部分的主控器分发数据结构示意图。其中主控制器部分,首先进行输入特征图片数据分组存放,当输入信号拉高,原始特征图片数据输入,并伴有计数器确定图片尺寸大小,紧接着通过奇偶校验判断输入图片矩阵的行数为奇数还是偶数,若为奇数则对原输入图片矩阵做补一行0数据,然后将矩阵按照行展开为两个尺寸相同的子矩阵;若为偶数,则直接将原输入图片矩阵按照行展开为两个尺寸相同的子矩阵。然后将子矩阵存入片外DDR。例如,输入图片矩阵大小为N*N。若N为奇数,则将原矩阵补成(N+1)*N矩阵,然后将(N+1)*N矩阵分为两个((N+1)/2)*N的子矩阵;若N为偶数,则将原矩阵分为N/2*N的两个子矩阵。
数据分发模块包括取数地址计算单元、片上可配置的BRAM存储单元和数据格式缓存转换的FIFO组。数据分发模块会根据接收到的主控制器发来的配置信息,由取数地址计算单元完成对片外动态存储器DDR4的取数操作,取出来的数据进行分组由AXI4接口缓存到片上RAM存储单元,并进一步进行分组处理。根据卷积是分两组运算,四线程并行的规则,对权重数据进行分组存放,分别用两个大寄存器存放分组的权重数据,然后每个大寄存器分为四个小寄存器做并行处理的数据存放。激励数据分发也采用同权重数据相同的方案。最后将分组完成的数据分发缓存到对应的FIFO中,等待运算发送数据。
如图4所示为卷积运算映射方式示意图,以输入特征图为W*W*C为例,(W为特征图宽高尺寸,C为输入通道数),其卷积核尺寸为3*3*C*N和4*4*C*N,(3为一组卷积核的宽和高尺寸,4为另一组卷积核的宽和高尺寸,C为卷积核通道数,N为卷积核个数,也即输出通道数),F为输出特征图尺寸;首先输入特征图片在主控器中被分为W/2*W*C(默认W为偶数),然后一组输入特征图片W/2/*W*C对应3*3*C*N卷积核组,另一组输入特征图片W/2*W*C对应4*4*C*N卷积核组,两组卷积分别四线程并行计算,完成第一阶段卷积计算后数据暂存片上BRAM中,完成所有层卷积运算后,输出卷积结果到结果控制模块。与传统的采用一组卷积核的卷积运算相比,能够减少乘法计算,加快卷积运算。例如,对于传统只采用一组卷积核(尺寸为3*3*C*N)的卷积运算方案对比,输入特征图片尺寸为W*W*C,那么一层卷积运算需要乘法运算为:W*W*N*3*3*C,需要加法运算为:W*W*N*3*3*C+W*W*N*C。那么对于分组卷积运算方案来说,采用两组卷积核(3*3*C*N与4*4*C*N),将输入特征图片(尺寸为W*W*C)分为两组子图片尺寸为W/2*W*C(默认W为偶数),对两组子图片同事进行一层卷积操作,其中所需要的乘法运算为:W/2*W*N*3*3*C+W/2*W*N*4*4*C,所需要的加法运算W/2*W*N*3*3*C+W/2*W*N*C+W/2*W*N*4*4*C+W/2*W*N*C。因为在硬件系统运算时间中,乘法运算的时间占主要部分,因此从上面的数据对比可以看出,当输入图片尺寸比较大的时候即W>>3,那么W*W*N*3*3*C>W/2*W*N*3*3*C+W/2*W*N*4*4*C,也就是说分组卷积运算能够减少一层卷积运算所需要的乘法数量,对于多层卷积运算就可以加快卷积运算速度,实现加速。
如图5所示为本实施例PE阵列内部构成示意图,PE阵列主要负责多层网络的卷积运算。从整体角度出发,整个PE计算模块可以分为两个运算部分,即两组PEarray,不同组的权重参数,两组卷积核参数以及激励参数通过片外DDR传输到不同的PE array上。对于一层完整的卷积运算,一组PEarray进行一组卷积运算,包含4个并行支路,每个支路包含9个计算组(Work Group),每个WG又包含8个PE计算单元。对于PE array的每条并行支路,它的功能是实现卷积操作,并将得到的卷积结果暂存于公用片上BRAM中。此时主控器会判断一层卷积是否结束,如果没有结束,继续该层卷积运算,如果结束将进行下一层卷积运算,并将中间结果存放在本地BRAM上。当所有卷积层运算结束后,卷积运算结果会统一集中在BRAM中,最后将运算结果输入到结果控制模块。
每个PE单元包括流水控制器模块、权重非零检测模块、指针控制模块、激励解压模块、乘加运算单元模块和公用BRAM存储。流水控制器与权重非零检测模块、指针控制模块、激励解压模块、乘加运算单元和公用BRAM相连。流水控制器判断卷积是否全部完成。权重非零检测模块会把数据分发模块发送的权重数据进行非零检测,只传输非零值和其对应的位置信息到乘加运算单元;指针控制模块和激励解压模块会根据对应的非零权重值,从公用的BRAM中取出非零权重值对应的运算所需的激励值,同时发送到各个PE单元以备运算;乘加运算单元模块主要负责矩阵向量乘中的乘法和加法计算。
如图6所示为PE阵列存储共享的实现示意图,PE阵列的共享BRAM存储根据数据分发模块发送的权重向量非零值的位置取出对应的激励进行乘加运算,由于每个PEarray内所有的权重向量的位置是相同的,所以单个PE所需要的对应激励值也是相同的,只需要很少的存储器保存一份激励值,并解码同时发送给PE即可满足PE阵列的矩阵要求。而对于所有PE而言,其进行矩阵向量乘运算中矩阵和向量的非零值位置完全相同,故PE阵列计算速度相匹配,达到运算阵列低存储负载均衡的设计目的。与此同时,每个PEarray中的四并行支路还可以共享分发的权重数据,实现激励和权重的高复用率。
结果控制模块主要处理PE阵列完成的卷积运算结果,因为多组卷积可能使得提取到图片的特征趋于局部性,因此需要对卷积结果做一个channelshuffle操作,打乱卷积输出图片的通道,使得输出结果随机化。如图7所示,将原通道数据与其他通道数据交叉打乱,然后输出。
综上所述,利用本发明实施例提出的一种基于FPGA的分组卷积硬件加速器,可以有效地节省存储硬件资源,提高卷积运算速度,PE阵列的并行计算保证了硬件资源的高利用率,以提高整体系统的数据吞吐率,达到很高的能效比,可以实现神经网络硬件加速。

Claims (8)

1.一种基于FPGA的分组卷积硬件加速器,其特征在于,包括:
顶层控制器,用于对输入数据进行处理和分组存放,并将权重数据和激励数据传递给数据分发模块;
数据分发模块,用于根据输入特征图尺寸进行数据选择和分组存放,并将权重数据和激励数据分发给卷积运算阵列;
卷积运算阵列,用于分组完成稀疏卷积的乘加运算操作,输出部分和的结果;
结果控制模块,用于对卷积运算阵列输出的部分和的结果进行累加缓存,并进行通道随机混合操作;
线性激活函数单元,用于对结果控制模块输出的结果加偏置和激活函数操作;
存储器DDR,用于存储原始输入图像数据、卷积运算阵列的中间结果和最终输出的特征图。
2.根据权利要求1所述的一种基于FPGA的分组卷积硬件加速器,其特征在于,所述数据分发模块包括取数地址计算单元、存储单元和FIFO缓存器;所述取数地址计算单元用于从所述存储器DDR中取出数据并进行格式转换,所述存储单元用于存储所述取数地址计算单元传输的数据,所述FIFO缓存器用于存储格式转换后的数据。
3.根据权利要求1所述的一种基于FPGA的分组卷积硬件加速器,其特征在于,所述卷积运算阵列由多个计算单元构成,每个计算单元包括流水控制器模块、权重非零检测模块、指针控制模块、激励解压模块、乘加运算单元模块和公用BRAM存储,权重非零检测模块将权重数据处理后传递给乘加运算单元模块完成卷积计算,多个计算单元复用公用BRAM存储器。
4.利用如权利要求1所述一种基于FPGA的分组卷积硬件加速器的运算方法,其特征在于,包括以下步骤:
1)顶层控制器对输入原始图片进行处理和分组存放,根据输入图片尺寸大小,将输入图片分为大小一致的两组子图片,并分组存放到存储器DDR上;
2)数据分发模块根据由顶层控制器输入的两组子图片,将权重数据和激励数据分别分成两组存放,然后将对应每组输入子图片的权重和激励数据分发给卷积运算阵列;
3)卷积运算阵列进行分组卷积运算,将运算结果的中间数据暂存在公用BRAM存储器中;
4)结果控制模块对卷积运算阵列输出的部分和的结果进行累加缓存,并对卷积运算结果进行通道随机混合操作,之后由顶层控制器判断当前卷积层操作是否为最后一层,如果不是,继续进行步骤3)的卷积运算,如果是,则进行步骤5);
5)对卷积运算结果加以偏置并用激活函数处理,最后输出结果。
5.根据权利要求4所述的运算方法,其特征在于,所述步骤1)中,顶层控制器对输入原始图像进行处理的具体过程为:将输入特征图片按照行或列维度展成一个矩阵,并且按照行或列取中位数进行分组存放,其中顶层控制器首先判断矩阵的行或列是否为偶数,若为偶数直接取中位数,若为奇数,则将原始图片矩阵补行或列后再取中位数;这样将权重数据或激励数据按照输出通道维度展开成一个向量,从而把卷积运算转化成矩阵向量乘运算。
6.根据权利要求4所述的运算方法,其特征在于,所述步骤2)中,数据分发模块分组存放数据的具体过程为:将第一组子图片与第一组权重数据对应,第二组子图片与第二组权重数据对应,第一组权重数据与第二组权重数据选取不同卷积核大小,然后将每组子图片的权重数据和激励数据分发给卷积运算单元。
7.根据权利要求4所述的运算方法,其特征在于,所述步骤3)中,分组卷积运算的具体过程为:按照每层卷积运算的尺寸参数信息由顶层控制器静态配置完成分组运算,对于输入的多个原始图片的矩阵,采取分组卷积计算的方式,即每组特征图对应不同的卷积核参数,且每组特征图采用四组卷积核并行计算。
8.根据权利要求4或7所述的运算方法,其特征在于,所述步骤3)中,分组卷积运算包括非零检测过程,具体为:过滤掉权重数据中“0”的部分,直接将权重数据中包含“1”的部分与激励数据相乘得到卷积运算结果。
CN202010347520.5A 2020-04-28 2020-04-28 一种基于fpga的分组卷积硬件加速器及其方法 Active CN111445012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010347520.5A CN111445012B (zh) 2020-04-28 2020-04-28 一种基于fpga的分组卷积硬件加速器及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010347520.5A CN111445012B (zh) 2020-04-28 2020-04-28 一种基于fpga的分组卷积硬件加速器及其方法

Publications (2)

Publication Number Publication Date
CN111445012A true CN111445012A (zh) 2020-07-24
CN111445012B CN111445012B (zh) 2023-04-18

Family

ID=71656302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010347520.5A Active CN111445012B (zh) 2020-04-28 2020-04-28 一种基于fpga的分组卷积硬件加速器及其方法

Country Status (1)

Country Link
CN (1) CN111445012B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016665A (zh) * 2020-10-20 2020-12-01 深圳云天励飞技术股份有限公司 计算神经网络在处理器上运行时间的方法及装置
CN112052941A (zh) * 2020-09-10 2020-12-08 南京大学 一种应用于cnn网络卷积层的高效存算系统及其运算方法
CN112418396A (zh) * 2020-11-20 2021-02-26 北京工业大学 一种基于fpga的稀疏激活感知型神经网络加速器
CN112862091A (zh) * 2021-01-26 2021-05-28 合肥工业大学 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN113010469A (zh) * 2021-03-18 2021-06-22 恒睿(重庆)人工智能技术研究院有限公司 图像特征提取方法、装置以及计算机可读存储介质
CN113222133A (zh) * 2021-05-24 2021-08-06 南京航空航天大学 一种基于fpga的压缩lstm加速器及加速方法
CN113255898A (zh) * 2021-06-16 2021-08-13 合肥工业大学 基于Winograd算法的卷积神经网络硬件加速器及计算方法
CN113487017A (zh) * 2021-07-27 2021-10-08 湖南国科微电子股份有限公司 数据卷积处理方法、装置及计算机设备
CN113946538A (zh) * 2021-09-23 2022-01-18 南京大学 一种基于行缓存机制的卷积层融合存储装置及方法
CN114065927A (zh) * 2021-11-22 2022-02-18 中国工程物理研究院电子工程研究所 一种硬件加速器的激励数据分块处理方法及硬件加速器
CN114780910A (zh) * 2022-06-16 2022-07-22 千芯半导体科技(北京)有限公司 用于稀疏化卷积计算的硬件系统和计算方法
CN115936086A (zh) * 2023-01-09 2023-04-07 苏州浪潮智能科技有限公司 基于深度神经网络的加速方法、装置、设备及介质
WO2023160735A3 (zh) * 2023-06-09 2024-03-21 南京大学 一种运算方法和运算单元

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN109993279A (zh) * 2019-03-11 2019-07-09 东南大学 一种基于查找表计算的双层同或二值神经网络压缩方法
CN110909874A (zh) * 2019-11-22 2020-03-24 迪爱斯信息技术股份有限公司 一种神经网络模型的卷积运算优化方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993279A (zh) * 2019-03-11 2019-07-09 东南大学 一种基于查找表计算的双层同或二值神经网络压缩方法
CN109993297A (zh) * 2019-04-02 2019-07-09 南京吉相传感成像技术研究院有限公司 一种负载均衡的稀疏卷积神经网络加速器及其加速方法
CN110909874A (zh) * 2019-11-22 2020-03-24 迪爱斯信息技术股份有限公司 一种神经网络模型的卷积运算优化方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
包荣鑫: "《基于剪枝的深度神经网络压缩研究》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *
彭康坚: "《基于目标检测的神经网络压缩与优化算法》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052941A (zh) * 2020-09-10 2020-12-08 南京大学 一种应用于cnn网络卷积层的高效存算系统及其运算方法
CN112052941B (zh) * 2020-09-10 2024-02-20 南京大学 一种应用于cnn网络卷积层的高效存算系统及其运算方法
CN112016665A (zh) * 2020-10-20 2020-12-01 深圳云天励飞技术股份有限公司 计算神经网络在处理器上运行时间的方法及装置
CN112418396A (zh) * 2020-11-20 2021-02-26 北京工业大学 一种基于fpga的稀疏激活感知型神经网络加速器
CN112862091A (zh) * 2021-01-26 2021-05-28 合肥工业大学 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN113010469A (zh) * 2021-03-18 2021-06-22 恒睿(重庆)人工智能技术研究院有限公司 图像特征提取方法、装置以及计算机可读存储介质
CN113010469B (zh) * 2021-03-18 2023-05-26 恒睿(重庆)人工智能技术研究院有限公司 图像特征提取方法、装置以及计算机可读存储介质
CN113222133A (zh) * 2021-05-24 2021-08-06 南京航空航天大学 一种基于fpga的压缩lstm加速器及加速方法
CN113255898B (zh) * 2021-06-16 2022-08-02 合肥工业大学 基于Winograd算法的卷积神经网络硬件加速器及计算方法
CN113255898A (zh) * 2021-06-16 2021-08-13 合肥工业大学 基于Winograd算法的卷积神经网络硬件加速器及计算方法
CN113487017A (zh) * 2021-07-27 2021-10-08 湖南国科微电子股份有限公司 数据卷积处理方法、装置及计算机设备
CN113946538A (zh) * 2021-09-23 2022-01-18 南京大学 一种基于行缓存机制的卷积层融合存储装置及方法
CN113946538B (zh) * 2021-09-23 2024-04-12 南京大学 一种基于行缓存机制的卷积层融合存储装置及方法
CN114065927B (zh) * 2021-11-22 2023-05-05 中国工程物理研究院电子工程研究所 一种硬件加速器的激励数据分块处理方法及硬件加速器
CN114065927A (zh) * 2021-11-22 2022-02-18 中国工程物理研究院电子工程研究所 一种硬件加速器的激励数据分块处理方法及硬件加速器
CN114780910B (zh) * 2022-06-16 2022-09-06 千芯半导体科技(北京)有限公司 用于稀疏化卷积计算的硬件系统和计算方法
CN114780910A (zh) * 2022-06-16 2022-07-22 千芯半导体科技(北京)有限公司 用于稀疏化卷积计算的硬件系统和计算方法
CN115936086A (zh) * 2023-01-09 2023-04-07 苏州浪潮智能科技有限公司 基于深度神经网络的加速方法、装置、设备及介质
WO2023160735A3 (zh) * 2023-06-09 2024-03-21 南京大学 一种运算方法和运算单元

Also Published As

Publication number Publication date
CN111445012B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN111445012B (zh) 一种基于fpga的分组卷积硬件加速器及其方法
CN109886400B (zh) 基于卷积核拆分的卷积神经网络硬件加速器系统及其计算方法
CN108171317B (zh) 一种基于soc的数据复用卷积神经网络加速器
CN108229645B (zh) 卷积加速和计算处理方法、装置、电子设备及存储介质
CN109447241B (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
CN109409511B (zh) 一种用于动态可重构阵列的卷积运算数据流调度方法
CN108170640B (zh) 神经网络运算装置及应用其进行运算的方法
CN111079923B (zh) 适用于边缘计算平台的Spark卷积神经网络系统及其电路
CN113807509B (zh) 神经网络加速装置、方法和通信设备
CN111898733A (zh) 一种深度可分离卷积神经网络加速器架构
CN114781629B (zh) 基于并行复用的卷积神经网络的硬件加速器及并行复用方法
CN110766128A (zh) 卷积计算单元、计算方法及神经网络计算平台
CN113033794B (zh) 基于深度可分离卷积的轻量级神经网络硬件加速器
CN111340198A (zh) 基于fpga的数据高度复用的神经网络加速器
CN113537482B (zh) 神经网络计算模块、方法和通信设备
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration
CN113792868B (zh) 神经网络计算模块、方法和通信设备
CN113222129B (zh) 一种基于多级缓存循环利用的卷积运算处理单元及系统
CN112862091B (zh) 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN111626410B (zh) 一种稀疏卷积神经网络加速器及计算方法
CN111667052A (zh) 专用神经网络加速器的标准与非标准卷积一致性变换方法
CN214586992U (zh) 神经网络加速电路、图像处理器及三维成像电子设备
KR20240035999A (ko) 뉴럴 프로세싱 유닛 및 컴퓨트-인-메모리 프로세싱 엘리먼트들을 사용한 하이브리드 머신 러닝 아키텍처
KR20240036594A (ko) 인-메모리 연산을 위한 부분 합 관리 및 재구성가능 시스톨릭 플로우 아키텍처들
CN115222028A (zh) 基于fpga的一维cnn-lstm加速平台及实现方法

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
GR01 Patent grant
GR01 Patent grant