CN109492761A - 实现神经网络的fpga加速装置、方法和系统 - Google Patents

实现神经网络的fpga加速装置、方法和系统 Download PDF

Info

Publication number
CN109492761A
CN109492761A CN201811274780.3A CN201811274780A CN109492761A CN 109492761 A CN109492761 A CN 109492761A CN 201811274780 A CN201811274780 A CN 201811274780A CN 109492761 A CN109492761 A CN 109492761A
Authority
CN
China
Prior art keywords
network
sub
neural network
background
data
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
CN201811274780.3A
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.)
Shenzhen Lingtu Huishi Technology Co Ltd
Original Assignee
Shenzhen Lingtu Huishi Technology Co Ltd
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 Shenzhen Lingtu Huishi Technology Co Ltd filed Critical Shenzhen Lingtu Huishi Technology Co Ltd
Priority to CN201811274780.3A priority Critical patent/CN109492761A/zh
Publication of CN109492761A publication Critical patent/CN109492761A/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/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
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Abstract

本申请公开了用于实现神经网络的FPGA加速装置、方法和系统,该装置包括至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。利用FPGA实现加速神经网络的运算过程,相对于通用处理器和图形处理器有高性能、低功耗的特点。

Description

实现神经网络的FPGA加速装置、方法和系统
技术领域
本申请涉及深度学习技术领域,特别涉及实现神经网络的FPGA加速装置、方法和系统。
背景技术
随着机器学习技术的不断发展,深度神经网络已经成为认知与识别任务的最佳解决方案,在识别检测和计算机视觉领域引起了广泛关注,尤其在图像识别领域,深度神经网络已达到甚至超越人类的辨识准确度。
深度学习所得到的深度网络结构是一种运算模型,其中包含大量数据节点,每个数据节点与其他数据节点相连,各个节点间的连接关系用权重表示,主流的神经网络处理硬件通常是采用通用处理器(CPU)或者图形处理器(GPU)来实现,其中,随着GPU的大规模并行架构支持的不断推进,检测模型在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍,但GPU的高能耗对其应用造成了一定的限制。相比于GPU,FPGA在功耗方面具有很大的优势。
发明内容
鉴于以上问题,本发明的实施例提供一种实现神经网络的FPGA加速装置、方法和系统。
按照本发明的实施例的用于实现神经网络的FPGA加速装置,包括:至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
按照本发明的实施例的基于FPGA实现神经网络的方法,包括:设置至少一存储单元,存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;设置多个计算单元,根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及设置控制单元,与所述至少一存储单元、所述多个计算单元相连,所述控制单元经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
按照本发明的实施例的基于FPGA实现神经网络的硬件加速系统,包括处理器和前述的FPGA加速装置;其中,所述处理器,用于执行一组程序,向所述FPGA加速装置发送用于计算的初始数据;所述FPGA加速装置,用于根据所述处理器发送的初始数据,执行神经网络的计算,得到计算结果,将所述计算结果返给所述处理器。
从以上的描述可以看出,本发明的实施例的方案利用FPGA实现加速由多个子网络组成的神经网络的运算过程,相对于通用处理器和图形处理器有高性能、低功耗的特点。
附图说明
图1按照本发明的一实施例的实现神经网络的FPGA加速装置的示意图;
图1a为RNN-ResNet的一实施例的神经网络基本单元的结构示意图;
图1b为目标/背景判别网络一实施例的结构示意图;
图1c为目标分类回归网络一实施例的结构示意图;
图2为按照本发明的一实施例的基于FPGA实现神经网络的硬件加速系统的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其他例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
本发明实施例提供的实现神经网络的FPGA加速装置包括:
至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
为了使本发明的目的、技术方案及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明,本发明提供的实现神经网络的FPGA加速装置基于存储-控制-计算的结构:
存储结构用于存储参与计算的数据及操作指令;
控制结构包括译码电路,用于解析操作指令,生成控制信号以控制片上数据的调度与存储以及神经网络计算过程;
计算结构包括算数逻辑单元,用于参与神经网络计算操作,数据在计算结构中实现计算操作。
图1示出了按照本发明的一个实施例的实现神经网络的FPGA加速装置的示意图,该装置100由七个部分构成,包括输入数据存储单元102、权重存储单元104、指令存储单元106、计算单元108、输出数据存储单元110以及控制单元112。
输入数据存储单元102用于存储参与计算的运算数据,该运算数据包括原始特征图数据、子网络中间计算结果或子网络最终计算结果。本实施例神经网络由n个子网络组成,其中,n为大于1的整数。例如包括第1子网络、第2子网络、…、第n子网络,n个子网络按执行顺序j进行运行,j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入。例如第1子网络的执行顺序为1,第2子网络的执行顺序为2,…,第n子网络的执行顺序为n,则原始特征图数据输入第1子网络执行计算,第1子网络的最终计算结果输入第2子网络执行计算,以此类推,第n-1子网络的最终计算结果输入第n子网络执行计算。
权重存储单元104用于存储神经网络n个子网络的权重数据,例如第1子网络的第一权重,第2子网络的第二权重,…,第n子网络的第N权重。其中,该神经网络是先前已经在预置的训练样本上被训练,并且已训练得到使神经网络的精度满足预设精度的神经网络结构权重。在一实施方式中,所述权重数据是利用遗传算法对已经训练好的神经网络进行片下离线压缩后获得的,并将经压缩后的权重数据存储于权重存储单元104中。具体地,压缩后的神经网络基于预置的训练样本的精度不低于预设精度。本实施例采用遗传算法对用于织物疵点检测神经网络执行压缩处理,其实现的原理是根据遗传算法“优胜劣汰”的原理,在兼顾神经网络精度的情况下,以“压缩神经网络”作为准则,对已训练好的神经网络执行各种遗传操作,最后获得结构最简化的神经网络,从而实现对神经网络的压缩处理。本实施例通过离线压缩的方式,在片外将神经网络权重压缩,使模型较大的神经网络也可以应用于FPGA加速器上。
指令存储单元106用于存储参与计算的操作指令,操作指令被解析来实现神经网络计算。
计算单元108用于根据控制单元112产生的控制信号来执行相应的神经网络计算。计算单元108与一个或多个存储单元相关联,计算单元108可以从其相关联的的输入数据存储单元102中的数据存储部件获得数据以进行计算,并且可以向其相关联的输出数据存储单元110写入数据。计算单元108完成神经网络算法中的大部分运算,即向量乘加操作等。计算单元108具有多个,具体实施时,例如可以是,第一计算单元根据操作指令、原始特征图数据以及第一权重数据,执行神经网络计算中向量乘加操作计算得到第一最终计算结果;第二计算单元根据操作指令、第一最终计算结果以及第二权重数据,执行神经网络计算中向量乘加操作计算得到第二最终计算结果;依次类推,第N计算单元根据操作指令、第N-1最终计算结果以及第N权重数据,执行神经网络计算中向量乘加操作计算得到第N最终计算结果。
输出数据存储单元110用于存储计算单元108计算得到的计算结果。
控制单元112分别与输入数据存储单元102、权重存储单元104、指令存储单元106、计算单元108以及输出数据存储单元110相连,控制单元112获得保存在指令存储单元106中的指令并且解析该指令,控制单元112可根据解析指令得到的控制信号控制计算单元108进行神经网络计算。
在装置100的一实施方式中,n=2,组成神经网络的子网络按执行顺序先后依次包括:背景识别网络和目标/背景判别网络。背景识别网络用于根据原始特征图数据识别出其中属于背景特征的部分,其中,背景识别网络可采用时序性神经网络,或,时序性-残差神经网络;其中,所述时序性-残差神经网络为在时序性神经网络的每一基本单元添加残差网络构成的神经网络,所述残差网络将所述基本单元上一时刻的输出加权叠加到所述基本单元当前时刻的输出上。
其中,时序性神经网络包括循环神经网络(RNN:Recurrent Neural Network)、长短时记忆网络(LSTM:Long Short-Term Memory),或门控循环单元网络(GRU:GatedRecurrent Unit)。相应的,所述时序性-残差神经网络包括循环-残差神经网络(RNN-ResNet:Recurrent Neural Network-Residual Network)、长短时记忆-残差神经网络(LSTM-ResNet)、或门控循环单元-残差神经网络(GRU-ResNet)。时序性-残差神经网络可以解决时序性神经网络出现梯度弥散(diffusion of gradients)的问题,下面以RNN-ResNet为例进行说明。图1a是本实施例提供的RNN-ResNet一个实施例的神经网络基本单元的结构示意图,其添加后的神经网络基本单元计算公式如下:
st=f(Uxt+Wst-1)+α·st-1
ot=SOFTMAX(Vst)
其中,xt为t时刻的外界输入,st为t时刻的RNN-ResNet神经网络单元记忆输出,U、V、W为网络参数,f可以是tanh等函数,ot为t时刻的输出,α是残差系数。
可以理解的是,在RNN基本单元中添加了残差系数α,从而使得RNN基本单元的记忆输出st项增加了α·st-1项,将RNN上一时刻的输出加权叠加到当前输出上。当α为0时,即为普通的RNN基本单元,当α为1时,RNN基本单元中的f(Uxt+Wst-1)相当于学习st-st-1,即引入残差机制,当0<α<1时,为两种情况的折衷方案。
本实施例采用RNN-ResNet是因为,如果采用常用的RNN,当神经网络层数较多时,由于随着层数的增多,当使用反向传播方法计算导数的时候,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小,结果造成了整体的损失函数相对于最初几层的权重的导数非常小,这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从训练样本中进行有效的学习,从而出现梯度弥散的现象。而采用RNN-ResNet,在RNN中加入ResNet连接,其中ResNet可以将RNN上一时刻的输出加权叠加到当前输出上,使得较深的神经网络易于训练。
目标/背景判别网络用于根据背景识别网络识别出的背景特征和原始特征图识别出其中属于目标的部分。目标/背景判别网络的输入为背景识别网络获取的背景特征和原始特征图数据,输出为目标特征。目标/背景判别网络根据背景特征对原始特征图进行目标/背景的二分类判别,然后排除其中属于背景的部分,保留其中属于目标的部分。目标/背景判别网络可以包括依次连接的ROI区域池化层、若干隐层和softmax层。
图1b为目标/背景判别网络一个实施例的结构示意图。如图1b所示,目标/背景判别网络可以包括依次连接的一个ROI区域池化层、三个全连接层fc1、fc2、fc3(隐层)和一个softmax层,具体实施时,目标/背景判别网络的网络参数可采用如表1所示。
表1、本实施例目标/背景判别网络参数
在装置100的另一实施方式中,n=3,组成神经网络的子网络按执行顺序先后依次包括:背景识别网络、目标/背景判别网络和目标分类回归网络。其中,背景识别网络和目标/背景判别网络可参考前述实施方式。本实施方式中,利用目标分类回归网络对目标/背景判别网络获取的目标部分进行目标类别判别并输出目标类别信息。
图1c示出了一个实施例目标分类回归网络的结构示意图。具体实施时,目标分类回归网络的网络参数可以采用如表2所示。
表2、本实施例目标分类回归网络参数
在装置100的又一实施方式中,n=3,组成神经网络的子网络按执行顺序先后依次包括:候选区域生成网络、背景识别网络和目标/背景判别网络。其中,候选区域生成网络用于对原始特征图所包含的对象进行识别定位,以生成包含所述对象的候选区域,所述对象包括背景和目标。可选的,候选区域生成网络可采用区域建议网络(RPN:Region ProposalNetwork)。背景识别网络和目标/背景判别网络可参考前述实施方式,其中,背景识别网络的输入为候选区域生成网络生成的候选区域,输出为背景特征;目标/背景判别网络的输入为背景识别网络获取的背景特征和候选区域生成网络生成的候选区域,目标/背景判别网络根据背景特征对候选区域进行目标/背景的二分类判别,然后排除其中属于背景的候选区域,保留其中属于目标的候选区域。
需要说明的是,本发明不限制组成神经网络的子网络的数量和类型,本领域技术人员可根据实际需要选用组成神经网络的子网络的数量和类型。
从以上描述可以看出,本发明的实施例的方案利用FPGA实现加速由多个子网络组成的神经网络的运算过程,相对于通用处理器和图形处理器有高性能、低功耗的特点。
本发明还提供一实施例的基于FPGA实现神经网络的方法,该方法与上述的实现神经网络的FPGA加速装置相对应,由于该方法的实施例基本相似于装置的实施例,所以描述得比较简单,相关之处参见装置实施例的部分说明即可。该方法包括:
设置至少一存储单元,存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;
设置多个计算单元,根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;
以及设置控制单元,与所述至少一存储单元、所述多个计算单元相连,所述控制单元经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
在上述方法的一实施方式中,所述n为2,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络和目标/背景判别网络。
在上述方法的另一实施方式中,所述n为3,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络、目标/背景判别网络和目标分类回归网络,或,候选区域生成网络、背景识别网络和目标/背景判别网络。
在上述方法的又一实施方式中,所述n个子网络的权重数据是利用遗传算法对已经训练好的所述神经网络进行片下离线压缩后获得的。
本发明还提供一种基于FPGA实现神经网络的硬件加速系统,该系统包括处理器和如上所述的FPGA加速装置,其中,所述处理器用于执行一组程序,向所述FPGA加速装置发送用于计算的初始数据;所述FPGA加速装置用于根据所述处理器发送的初始数据,执行神经网络的计算,得到计算结果,将所述计算结果返给所述处理器。在上述FPGA加速系统的一实施方式中,所述处理器包括中央处理器(CPU:Central Processing Unit)、网络处理器(NP:network processor)或ARM(Advanced RISC Machines)处理器,或CPU和NP的组合。
图2示出了按照本发明的一实施例的基于FPGA实现神经网络的硬件加速系统的示意图,该系统200可以包括处理器202、内存204、FPGA加速装置206和总线208,处理器202、内存204和FPGA加速装置206通过总线208协议互连。具体地,系统200和另外一些必要的芯片可安装在一块印制电路板(PCB:printed circuit board)上。
其中,本实施例中,处理器202(processor)为CPU。处理器202是系统200的控制端。处理器202执行一组程序,通过下发一些配置参数控制FPGA加速装置206的计算过程。
内存204(memory)可以包括易失性存储器(volatile memory),例如随机存取存储器(RAM:random-access memory),也可以是非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(HDD:hard disk driver)或固态硬盘(SSD:solid-statedriver),还可以包括上述种类的存储器的组合。内存204用于缓存采集到的数据、输入的权重数据以及FPGA加速装置206返回的计算结果等。
FPGA加速装置206为系统200的硬件加速部件FPGA芯片,用于实现对神经网络算法的加速。FPGA加速装置206包括直接内存存储(DMA)、控制互联(controlinterconnection)、输入缓冲区(input buffer)、输出缓冲区(output buffer)、权重存储缓冲区(weight buffer)、指令存储缓冲区(instruction buffer)和计算单元(PE:Processing Element)。其中,输入缓冲区用于存储处理器202发送的初始数据以及中间处理数据,输出缓冲区用于存储计算结果,权重存储缓冲区用于存储权重数据,指令存储缓冲区用于存储操作指令,直接内存存储负责FPGA加速装置206与内存204间的数据传输,控制互联负责控制信号线路的互联。FPGA加速装置206的具体实现方式参照前述的实施方式。
总线208可以包括数据总线(DATA BUS)和控制总线(CONTROL BUS)。其中,数据总线负责处理器202和FPGA加速装置206的数据传输,数据总线采用AXI-Stream协议,这是高性能传输协议,允许无限制的数据突发传输。控制总线负责处理器202和FPGA加速装置206的控制信号传输,控制总线采用AXI-Lite协议,这是一种轻量级的地址映射单次传输协议,适用于硬件计算单元的控制信号传输。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (10)

1.用于实现神经网络的FPGA加速装置,包括:
至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;
多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;
以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
2.根据权利要求1所述的FPGA加速装置,其中,
所述n为2,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络和目标/背景判别网络。
3.根据权利要求1所述的FPGA加速装置,其中,
所述n为3,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络、目标/背景判别网络和目标分类回归网络,或,候选区域生成网络、背景识别网络和目标/背景判别网络。
4.根据权利要求1所述的FPGA加速装置,其中,
所述n个子网络的权重数据是利用遗传算法对已经训练好的所述神经网络进行片下离线压缩后获得的。
5.基于FPGA实现神经网络的方法,包括:
设置至少一存储单元,存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;
设置多个计算单元,根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;
以及设置控制单元,与所述至少一存储单元、所述多个计算单元相连,所述控制单元经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
6.根据权利要求5所述的方法,其中,
所述n为2,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络和目标/背景判别网络。
7.根据权利要求5所述的方法,其中,
所述n为3,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络、目标/背景判别网络和目标分类回归网络,或,候选区域生成网络、背景识别网络和目标/背景判别网络。
8.根据权利要求5所述的方法,其中,
所述n个子网络的权重数据是利用遗传算法对已经训练好的所述神经网络进行片下离线压缩后获得的。
9.基于FPGA实现神经网络的硬件加速系统,包括:处理器和如权利要求1-4任一项所述的FPGA加速装置;其中,
所述处理器,用于执行一组程序,向所述FPGA加速装置发送用于计算的初始数据;
所述FPGA加速装置,用于根据所述处理器发送的初始数据,执行神经网络的计算,得到计算结果,将所述计算结果返给所述处理器。
10.根据权利要求9所述的FPGA加速系统,其中,
所述处理器包括CPU、NP或ARM处理器。
CN201811274780.3A 2018-10-30 2018-10-30 实现神经网络的fpga加速装置、方法和系统 Pending CN109492761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811274780.3A CN109492761A (zh) 2018-10-30 2018-10-30 实现神经网络的fpga加速装置、方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811274780.3A CN109492761A (zh) 2018-10-30 2018-10-30 实现神经网络的fpga加速装置、方法和系统

Publications (1)

Publication Number Publication Date
CN109492761A true CN109492761A (zh) 2019-03-19

Family

ID=65691704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811274780.3A Pending CN109492761A (zh) 2018-10-30 2018-10-30 实现神经网络的fpga加速装置、方法和系统

Country Status (1)

Country Link
CN (1) CN109492761A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919312A (zh) * 2019-03-29 2019-06-21 北京智芯微电子科技有限公司 卷积神经网络的运算方法、装置及dpu
CN111027018A (zh) * 2019-12-20 2020-04-17 支付宝(杭州)信息技术有限公司 加速计算设备建模的方法、装置、计算设备及介质
CN111401543A (zh) * 2020-06-08 2020-07-10 深圳市九天睿芯科技有限公司 一种全片上存储的神经网络加速器及其实现方法
CN111443328A (zh) * 2020-03-16 2020-07-24 上海大学 基于深度学习的声音事件检测与定位方法
WO2020199914A1 (zh) * 2019-04-03 2020-10-08 华为技术有限公司 训练神经网络的方法和装置
CN112434635A (zh) * 2020-12-02 2021-03-02 深圳龙岗智能视听研究院 卷积神经网络特征提取方法、系统、嵌入式设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313550B2 (en) * 2002-03-27 2007-12-25 Council Of Scientific & Industrial Research Performance of artificial neural network models in the presence of instrumental noise and measurement errors
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN103971162A (zh) * 2014-04-04 2014-08-06 华南理工大学 一种基于遗传算法改进bp神经网络的方法
CN106250812A (zh) * 2016-07-15 2016-12-21 汤平 一种基于快速r‑cnn深度神经网络的车型识别方法
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106529668A (zh) * 2015-11-17 2017-03-22 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
CN107368845A (zh) * 2017-06-15 2017-11-21 华南理工大学 一种基于优化候选区域的Faster R‑CNN目标检测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313550B2 (en) * 2002-03-27 2007-12-25 Council Of Scientific & Industrial Research Performance of artificial neural network models in the presence of instrumental noise and measurement errors
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN103971162A (zh) * 2014-04-04 2014-08-06 华南理工大学 一种基于遗传算法改进bp神经网络的方法
CN106529668A (zh) * 2015-11-17 2017-03-22 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法
CN106250812A (zh) * 2016-07-15 2016-12-21 汤平 一种基于快速r‑cnn深度神经网络的车型识别方法
CN107229967A (zh) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN107368845A (zh) * 2017-06-15 2017-11-21 华南理工大学 一种基于优化候选区域的Faster R‑CNN目标检测方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919312A (zh) * 2019-03-29 2019-06-21 北京智芯微电子科技有限公司 卷积神经网络的运算方法、装置及dpu
WO2020199914A1 (zh) * 2019-04-03 2020-10-08 华为技术有限公司 训练神经网络的方法和装置
CN111027018A (zh) * 2019-12-20 2020-04-17 支付宝(杭州)信息技术有限公司 加速计算设备建模的方法、装置、计算设备及介质
CN111027018B (zh) * 2019-12-20 2023-03-31 支付宝(杭州)信息技术有限公司 加速计算设备建模的方法、装置、计算设备及介质
CN111443328A (zh) * 2020-03-16 2020-07-24 上海大学 基于深度学习的声音事件检测与定位方法
CN111443328B (zh) * 2020-03-16 2023-07-18 上海大学 基于深度学习的声音事件检测与定位方法
CN111401543A (zh) * 2020-06-08 2020-07-10 深圳市九天睿芯科技有限公司 一种全片上存储的神经网络加速器及其实现方法
CN111401543B (zh) * 2020-06-08 2020-11-10 深圳市九天睿芯科技有限公司 一种全片上存储的神经网络加速器及其实现方法
CN112434635A (zh) * 2020-12-02 2021-03-02 深圳龙岗智能视听研究院 卷积神经网络特征提取方法、系统、嵌入式设备及介质
CN112434635B (zh) * 2020-12-02 2024-02-09 深圳龙岗智能视听研究院 卷积神经网络特征提取方法、系统、嵌入式设备及介质

Similar Documents

Publication Publication Date Title
CN109492761A (zh) 实现神经网络的fpga加速装置、方法和系统
CN106295799B (zh) 一种深度学习多层神经网络的实现方法
CN109685819B (zh) 一种基于特征增强的三维医学图像分割方法
CN106022468B (zh) 人工神经网络处理器集成电路及该集成电路的设计方法
CN105681628B (zh) 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
US10482380B2 (en) Conditional parallel processing in fully-connected neural networks
CN106228240A (zh) 基于fpga的深度卷积神经网络实现方法
CN108416436A (zh) 使用多核心处理模块进行神经网络划分的方法及其系统
CN110188795A (zh) 图像分类方法、数据处理方法和装置
CN107066239A (zh) 一种实现卷积神经网络前向计算的硬件结构
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN108764336A (zh) 用于图像识别的深度学习方法及装置、客户端、服务器
CN110020723A (zh) 神经网络处理单元及包括该神经网络处理单元的片上系统
CN107491811A (zh) 用于加速神经网络处理器的方法和系统及神经网络处理器
CN110348574A (zh) 一种基于zynq的通用卷积神经网络加速结构及设计方法
CN109903350A (zh) 图像压缩方法及相关装置
Gupta et al. FPGA implementation of simplified spiking neural network
CN114584581A (zh) 面向智慧城市物联网信物融合的联邦学习系统及联邦学习训练方法
CN108681773A (zh) 数据运算的加速方法、装置、终端及可读存储介质
CN108320018A (zh) 一种人工神经网络运算的装置及方法
CN110162751A (zh) 文本生成器训练方法和文本生成器训练系统
CN116502683A (zh) 一种全流程并行加速脑仿真方法及系统
CN109359542A (zh) 基于神经网络的车辆损伤级别的确定方法及终端设备
CN109389216A (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: 20190319

RJ01 Rejection of invention patent application after publication