CN108764466B - 基于现场可编程门阵列的卷积神经网络硬件及其加速方法 - Google Patents

基于现场可编程门阵列的卷积神经网络硬件及其加速方法 Download PDF

Info

Publication number
CN108764466B
CN108764466B CN201810187619.6A CN201810187619A CN108764466B CN 108764466 B CN108764466 B CN 108764466B CN 201810187619 A CN201810187619 A CN 201810187619A CN 108764466 B CN108764466 B CN 108764466B
Authority
CN
China
Prior art keywords
neural network
data
convolutional neural
gate array
programmable gate
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.)
Active
Application number
CN201810187619.6A
Other languages
English (en)
Other versions
CN108764466A (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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN201810187619.6A priority Critical patent/CN108764466B/zh
Publication of CN108764466A publication Critical patent/CN108764466A/zh
Application granted granted Critical
Publication of CN108764466B publication Critical patent/CN108764466B/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/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

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

Abstract

本发明公开了一种基于现场可编程门阵列的卷积神经网络硬件及其加速方法,现场可编程门阵列平台包括软件部分以及硬件部分。其中软件部分负责Off‑Chip memory的读写以及bit stream的加载控制,硬件部分负责卷积神经网络的加速处理,包括以下步骤:根据卷积神经网络的各层配置数据的不同,由软件部分控制加载不同的配置数据对现场可编程门阵列进行实时重构;根据卷积神经网络计算中的内存的读写需求,搭建软硬件协作系统;根据卷积神经网络的特点,对数据进行并行分批次处理,加速计算进行。该发明能够在现场可编程门阵列的硬件资源基础上搭建出符合卷积神经网络结构特点的硬件处理单元,相比于通用处理器具有低功耗、高性能的特点。

Description

基于现场可编程门阵列的卷积神经网络硬件及其加速方法
技术领域
本发明涉及一种基于现场可编程门阵列的卷积神经网络硬件及其加速方法,属于计算机硬件加速领域。
背景技术
目前,基于深度学习策略的感知机在模式识别、语言翻译等多个领域内取得了巨大的成功。其中,以AlexNet、Google Net以及VGGNet为代表的卷积神经网络在图像分类与图像识别的成功掀起了一阵深度学习的研究狂潮。在深度学习领域,研究者们目前使用的主流计算结构是CPU+GPU的异构计算结构。CPU(中央处理器)的良好逻辑性以及GPU(图形处理器)的并行性相结合,形成了当今最流行的深度学习的研究平台。但是随着神经网络的参数以及深度的不断增加,CPU+GPU的异构计算方式的能耗比高的缺点也显示了出来。近几年,FPGA在并行计算上体现的优秀性能,吸引了广大研究者的目光,同时,研究表明,相同计算量的并行计算下GPU的能耗比FPGA(现场可编程门阵列)高出2-3个数量级,这促使了基于FPGA的深度学习的加速策略以及CPU+FPGA的异构计算结构的出现。
基于FPGA的设计目的在于加速CNN的学习过程,并且取得相当大的速度提升以及与CPU和GPU相比更高的能量效率。这一研究方向的难点在于如何用最小的资源做出最快最优的设计。
来自马拉加大学的Francisco提出了一种为深度BP算法的实现搭建的单个乘法器组成的FPGA结构(Layer multiplexing FPGA implementation for deep back-propagation learning)。该论文中针对神经网络的深度的不断增加,提出了一种利用单个乘法器来实现不同深度大小的神经网络的BP计算的方式,解决了深度神经网络的计算问题。但是该方案的缺点也正是在于其单一的乘法器结构,无法发挥出FPGA的并行特点。
来自中国科技大学苏州研究院的王超提出了一种在FPGA上的可伸缩的深度学习加速器单元(DLAU:A Scalable Deep LearningAcceleratorUnit on FPGA)。该论文中提到一种矩阵卷积的处理方法,将矩阵的卷积处理成矩阵的相乘,然后预先对特征图矩阵以及卷积核矩阵进行排序,最终转化成向量的相乘,简化了矩阵卷积的计算。但是该方案对矩阵的预操作部分太过复杂,而且并没有从资源角度上减少乘法器的使用。
发明内容
有鉴于此,本发明目的是:提供一种基于现场可编程门阵列的卷积神经网络硬件及其加速方法,能够充分发挥FPGA的并行特点,减少资源的使用,根据具体的硬件资源设计出针对卷积神经网络的加速系统,该系统具有功耗低、资源使用量小、性能优秀的特点。
为解决上述技术问题,本发明是通过以下技术方案实现:
一种基于现场可编程门阵列的卷积神经网络硬件加速方法,其特征在于,具体包括以下步骤:
步骤1,根据卷积神经网络的各层配置数据的不同,由加载控制模块选择性地加载不同层级的配置数据对现场可编程门阵列进行实时重构;
步骤2,根据卷积神经网络计算中输入特征图以及权值的存储需求,搭建由ARM硬核处理器以及现场可编程门阵列相结合的存储系统;
步骤3,根据卷积神经网络各层级的特点,对各层级中的输入特征图和权值的乘法累加运算进行并行分批次处理,从而实现卷积神经网络计算的加速。
作为本发明一种基于现场可编程门阵列的卷积神经网络硬件加速方法,所述步骤1具体包括以下步骤为:
步骤1.1,通过控制器单元与主控制器的通信,针对卷积神经网络在现场可编程门阵列上的运行状态进行检测,从而确定当前所进行的卷积神经网络的层级;
步骤1.2,对于当前卷积神经网络的层级,在预先设置好的加载文件中加载相应的bit stream的设置,进行实时重构。
作为本发明一种基于现场可编程门阵列的卷积神经网络硬件加速方法,所述步骤3中的并行分批次处理具体包括以下部分:
步骤3.1,在卷积运算中,将经过裁剪与拼接操作后的输入特征图数据输入到并行乘法器模块进行乘法运算,增加时钟利用率;
步骤3.2,在全连接层的运算中,将一层中的大量数据分成多个批次输入到并行乘法器模块,减少数据通信的带宽需求。
作为本发明一种基于现场可编程门阵列的卷积神经网络硬件加速方法,在步骤3.1中,所述的裁剪与拼接操作具体包括以下步骤:
步骤3.11,将外部存储器的数据读取到数据预处理单元;
步骤3.12,根据当前运行状态下的卷积神经网络的层级,结合下抽样层的特征,运用符号函数对卷积层进行近似计算,即通过基于符号函数的二值化运算对目标计算的结果进行预测,以少量计算的代价得出近似结果,计算得出最有可能作为下抽样层采集的那个窗口,并过滤掉其他多余的卷积运算,将同一个下抽样窗口中的N个卷积运算降低到1个卷积运算;
步骤3.13,通过观察卷积运算的规律,将输入的特征图进行拼接处理,预处理成相应的数据矩阵,将卷积运算转换成矩阵,并且运用其数据的可重复利用的特性,分析每次的需要输入数据、可重复利用的数据以及实际需要输入的数据,降低对数据传输带宽的要求。
作为本发明一种基于现场可编程门阵列的卷积神经网络硬件加速方法,在步骤3.2中,所述的全连接层运算的分批次处理,具体包括以下步骤:
步骤3.21,根据硬件部分与软件部分通信的带宽限制,以及硬件部分硬件资源的限制,将全连接层中的N次乘法操作,切分成X个批次,每个批次进行N/X次乘法操作;
步骤3.22,将同一个批次数据输入到一个并行乘积累加网络内,进行并行的乘积累加计算
步骤3.23,将每一批次的乘积累加结果结合到一起,形成新的特征图输出。
一种基于现场可编程门阵列的卷积神经网络硬件,包括:
控制单元,用于检测片上卷积神经网络的运行状态以及片外主控制器的相互通信,协助控制输入图谱数据、权值数据以及权值更新数据的读出和写入;
数据预处理单元,用于根据当前卷积神经网络的运行层的特点,对数据进行裁剪与拼接操作,简化计算,降低功耗;
计算单元,用于计算卷积运算、累加运算、激活函数的运算、下抽样运算以及全连接运算;
权值更新单元,用于进行权值更新运算,并将更新完成的数据送回片外存储器中。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本设计能够充分发挥FPGA的并行特点,减少资源的使用,根据具体的硬件资源设计出针对卷积神经网络的加速系统,该系统具有功耗低、资源使用量小、性能优秀的特点。
附图说明
图1是本发明实施例的基于现场可编程门阵列的卷积神经网络的可重构并行分批次加速策略的流程图;
图2是本发明实施例中通过软件部分控制加载不同的bit stream对现场课编程门阵列进行实时重构的实现方案;
图3是常规的卷积处理方法与本发明的实施例中的卷积处理方法的对比;
图4是本发明的实施例中的卷积层处理方法的具体操作流程;
图5是卷积层的一般模型;
图6是本发明的实施例中的矩阵的卷积转化为矩阵的乘积运算的示意图;
图7是本发明的实施例中一个3*3的输入特征图与一个2*2的卷积核卷积的示意图;
图8是本发明的实施例中分析了输入、缓存以及实际所需的输入之后采用的数据处理结构示意图;
图9是本发明的实施例中针对全连接层的大批量数据的运算采用的并行分批次小运算的示意图;
图10是本发明的实施例中的软硬件协作系统的结构示意图;
图11是本发明实施例的基于FPGA的CNN可重构并行分批次加速策略的一种可能的应用场景。
具体实施方式
以下结合具体实施对上述方案做进一步的说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例:
本发明实施例中展现了一种基于现场可编程门阵列的卷积神经网络硬件加速方法。
图1为本发明实施例的基于现场可编程门阵列的卷积神经网络的可重构并行分批次加速策略100的流程图。该策略100包括:
S110,根据卷积神经网络的各层配置数据的不同,由软件部分控制加载不同的bitstream对现场可编程门阵列进行实时重构;
S120,根据卷积神经网络计算中的内存的读写需求,搭建软硬件协作系统;
S130,根据卷积神经网络的特点,对数据进行并行分批次处理,加速计算进行。
图2描述了本发明实施例中通过软件部分控制加载不同的bit stream对现场课编程门阵列进行实时重构。该部分主要分为以下步骤:(1)预先制作好各个layer的bit file并存储到存储器中;(2)通过控制器对当前即将运行的layer进行判断,加载相应的bitfile,完成FPGA的重配置。
下面通过图3和图4,对本发明的实施例中矩阵的裁剪处理进行详细描述。
图3是常规的卷积处理方法与本发明的实施例中的卷积处理方法的对比,可以看出,常规的卷积层处理方法分为以下步骤:(1)输入特征图:将上一层的输出特征图加载到当前层中;(2)卷积:讲输入特征图与卷积核进行卷积操作;(3)池化:讲卷积操作之后的结果进行池化操作;(4)输出特征图:将结果输出。本发明中设计了一个裁剪器,用来简化卷积的计算,从而达到,加速卷积层计算的目的。本发明中的卷积层处理方法分为如下部分:(1)输入特征图:同上;(2)裁剪操作:该部分包括了近似计算以及池化计算;(3)卷积操作:同上;(4)输出特征图:同上。本发明的卷积层处理方法在图5中进行详细说明。
图4中展示了本发明的实施例中的卷积层处理方法的具体操作流程,有如下几个步骤:(1)将卷积核经过符号函数进行处理(这里用了3元符号函数,即判断卷积核中数据是否为正数、负数或者0。如果为正数,用1表示;如果是负数,用-1表示;如果是0,用0表示);(2)将进过符号函数处理之后的卷积核与输入特征图中一个下抽样窗口内的数据进行卷积运算;(3)以第2步中得到的结果为判断依据,将其送入下抽样层进行池化操作,得到选择信号;(4)用第3步中得到的选择信号对输入特征图中的一个下抽样窗口内的数据进行选择;(5)将第4步中选择器的结果与卷积核进行卷积操作,得到最终的输出特征图的一部分。本发明的卷积层处理方法通过近似计算的方式,利用简单的乘积累加计算(多bit与0、1或-1进行乘法运算)代替复杂的乘积累加计算(多bit与多bit的乘法运算),降低了数据处理的时间,加快了整体速度的运行。
下面通过图5、图6、图7以及图8,对本发明的实施例中矩阵的拼接处理进行详细描述。
图5中展示了卷积层的一般模型,首先输入特征图分别与卷积核进行卷积操作,然后再通过一个加法操作得到最终的输出特征图。这里假设输入特征图大小为3*3,卷积核大小为2*2。在这一卷积过程中,由于举证卷积运算的特点,可以将矩阵的卷积转化为矩阵的乘积运算,具体方法如下:(1)将卷积核K旋转180度得到新的卷积核K’;(2)将K’从输入特征图的左上角开始,按照固定的步长,进行移动;(3)新的卷积核K’与输入特征图重合的部分进行矩阵的点积,然后进行累加计算从而得到卷积的结果。
由上述矩阵的卷积转化为矩阵的乘积运算,将矩阵进行拼凑可以得到图6所示,该图中将原本的3幅输入特征图整合在了一个Input_matrix 170中,并且按照一定的顺序来排列。同时将3个卷积核都整合到了一个Kernel_matrix 160中,这样就可以通过图中公式140来求得Output_matrix 150中的Y0、Y1、Y2、Y3。图3中的计算结果与图2中的传统方法是一致的,虽然多运用了一些资源(原本的3*3输入特征图被整合成4*4矩阵),但是却将矩阵的卷积计算给简化了。同时,图3中的Input_matrix 170中关于数据的排列还有一个特性。每一块拓展后的4*4矩阵都是关于主对角线对称的,这个特性可以从图4中看出。
图7中描述了是一个3*3的输入特征图与一个2*2的卷积核卷积的操作,步长为1。图中可以看出在在step1、step2、step3、step4中,输入数据关于主对角线对称。因此,本发明针对这一特点采用了图8所示的方案。
图8中的表格分析了输入、缓存以及实际所需的输入,最终得出了图8中的数据处理结构:利用输入控制模块决定输入端需要进行输入的数据;利用缓存模块存储需要缓存以及后面的运算中需要用到的数据。这样的结构大大节省了数据传输的带宽要求。
下面通过图9,对本发明的实施例中的数据并行分批次处理进行详细描述。
本发明的实施例中的数据并行分批次处理主要用于全连接层。在全连接层中通常会出现大批量数据的乘积累加计算。这里为了减少系统对数据带宽的需求,将大批量数据的乘积累加计算拆分成了多个小批量的数据的乘积累加,同时也节省了资源的利用。如图9所示,图9的左边是大批量数据的乘积累加,共有N个数据,经过并行分批次处理后得到图9的右边的方法,即将N个数据拆分成X个批次进行运作,具体步骤如下:(1)计算第1批次的乘积累加;
(2)计算第2批次的乘积累加,并与第1批次的乘积累加结果做加法运算;(3)计算第3批次的乘积累加,并与第2步中的加法运算结果做加法运算;(4)依次类推,最终得到最后的输出。
下面通过图10,对本发明的实施例中的软硬件协作系统进行详细描述。
图10中主要分为Off-Chip和On-Chip两部分。On-Chip部分运用现场可编程门阵列搭建控制单元(ControllerUnit)、数据预处理单元(Pre-processing Unit)、计算单元(Compute Unit)以及权值更新单元(Weight Updating Unit),将CNNs的卷积层(Convolutional layer)、池化层(Pooling layer)以及全连接层(Full-connect layer)通过现场可编程门阵列实现。Off-chip部分利用ARM实现针对memory的管理功能的搭建。On-chip与Off-chip两部分通过总线接口进行了连接。各部分的功能如下:
1.ControllerUnit:检测片上卷积神经网络的运行状态以及片外主控制器的相互通信,协助控制输入图谱数据、权值数据以及权值更新数据的读出和写入;
2.Pre-processing Unit:根据当前卷积神经网络的运行层的特点,对数据进行裁剪与拼接操作,简化计算,降低功耗。数据的裁剪与拼接操作正如上面所述。具体步骤如下:(1)根据On-chip Controller的指示,接受来自Off-chip的Input maps的数据,同时从On-chip BRAM中取出当前layer所对应的卷积核(Convolutional kernels);(2)将卷积核经过符号函数进行处理,将此结果与原本的卷积核数据一并送入Compute Unit中;
3.Compute Unit:计算卷积运算、累加运算、激活函数的运算、下抽样运算以及全连接运算。这里的卷积操作主要采用上面所描述的裁剪操作,步骤如下:(1)先对卷积的结果进行近似计算,该近似计算的具体步骤如上述卷积层的处理方法所示;(2)将近似计算的结果作为多路选择器的选择端口,选择相应的数据与卷积核进行卷积操作;
4.Weight Updating Unit:进行权值更新运算,并将更新完成的数据送回片外存储器中。
图11为本发明实施例的基于FPGA的CNN可重构并行分批次加速策略的一种可能的应用场景。该应用场景主要由两部分组成,一部分是PC端,一部分是FPGA端。
PC端主要用于图片的输入以及神经网络的配置,主要包括两个阶段:训练与检测。在训练阶段时,PC端将预先制作好的图片训练集(每张图片统一大小,方便之后的计算)以及神经网络的配置(包括总共的层数、每层的卷积核大小以及每张图片需要循环训练的次数等)通过接口(可以是以太网、USB或者PCI-E等其中任何一种)发送到FPGA端。在检测阶段时,由于神经网络的配置已经在训练阶段时完成,该部分只需要将需要检测的图片通过接口发送到FPGA,同时接收FPGA传来的结果数据,并将其在用户界面上显示出来。
FPGA端主要分为Off-Chip端和On-Chip端。Off-Chip端首先需要接收PC端发送的神经网络的配置信息,并在接下来的训练阶段控制每一层进行时FPGA对相应的bit stream的加载重构以及整个硬件部分计算的进行;其次需要将PC端传过来的图片以及神经网络的数据存储到片外存储器中,随时准备计算运行时读写操作。On-Chip端则主要负责计算部分,运用本发明的并行分批次的加速策略完成卷积神经网络的计算。
以上对一种基于现场可编程门阵列的卷积神经网络硬件加速方法进行了详细的介绍,并用具体的实例对本发明原理及实施的可能场景加以阐述。上述只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并根据所给方案实现出来。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (3)

1.一种基于现场可编程门阵列的卷积神经网络硬件加速方法,其特征在于,具体包括以下步骤:
步骤1,根据卷积神经网络的各层配置数据的不同,由加载控制模块选择性地加载不同层级的配置数据对现场可编程门阵列进行实时重构;
步骤2,根据卷积神经网络计算中输入特征图以及权值的存储需求,搭建由ARM硬核处理器以及现场可编程门阵列相结合的存储系统;
步骤3,根据卷积神经网络各层级的特点,对各层级中的输入特征图和权值的乘法累加运算进行并行分批次处理,从而实现卷积神经网络计算的加速;
上述步骤3中的并行分批次处理具体包括以下部分:
步骤3.1,在卷积运算中,将经过裁剪与拼接操作后的输入特征图数据输入到并行乘法器模块进行乘法运算,增加时钟利用率;
其中,步骤3.1中所述裁剪与拼接操作具体包括以下步骤:
步骤3.11,将外部存储器的数据读取到数据预处理单元;
步骤3.12,根据当前运行状态下的卷积神经网络的层级,结合下抽样层的特征,运用符号函数对卷积层进行近似计算,即通过基于符号函数的二值化运算对目标计算的结果进行预测,以少量计算的代价得出近似结果,计算得出最有可能作为下抽样层采集的那个窗口,并过滤掉其他多余的卷积运算,将同一个下抽样窗口中的N个卷积运算降低到1个卷积运算;
步骤3.13,通过观察卷积运算的规律,将输入的特征图进行拼接处理,预处理成相应的数据矩阵,将卷积运算转换成矩阵,并且运用其数据的可重复利用的特性,分析每次的需要输入数据、可重复利用的数据以及实际需要输入的数据,降低对数据传输带宽的要求;
步骤3.2,在全连接层的运算中,将一层中的大量数据分成多个批次输入到并行乘法器模块,减少数据通信的带宽需求。
2.根据权利要求1所述的一种基于现场可编程门阵列的卷积神经网络硬件加速方法,其特征在于,所述步骤1具体包括以下步骤为:
步骤1.1,通过控制器单元与主控制器的通信,针对卷积神经网络在现场可编程门阵列上的运行状态进行检测,从而确定当前所进行的卷积神经网络的层级;
步骤1.2,对于当前卷积神经网络的层级,在预先设置好的加载文件中加载相应的bitstream的设置,进行实时重构。
3.根据权利要求1所述的一种基于现场可编程门阵列的卷积神经网络硬件加速方法,在步骤3.2中,所述全连接层的运算的分批次处理,具体包括以下步骤:
步骤3.21,根据硬件部分与软件部分通信的带宽限制,以及硬件部分硬件资源的限制,将全连接层中的N次乘法操作,切分成X个批次,每个批次进行N/X次乘法操作;
步骤3.22,将同一个批次数据输入到一个并行乘积累加网络内,进行并行的乘积累加计算;
步骤3.23,将每一批次的乘积累加结果结合到一起,形成新的特征图输出。
CN201810187619.6A 2018-03-07 2018-03-07 基于现场可编程门阵列的卷积神经网络硬件及其加速方法 Active CN108764466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810187619.6A CN108764466B (zh) 2018-03-07 2018-03-07 基于现场可编程门阵列的卷积神经网络硬件及其加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810187619.6A CN108764466B (zh) 2018-03-07 2018-03-07 基于现场可编程门阵列的卷积神经网络硬件及其加速方法

Publications (2)

Publication Number Publication Date
CN108764466A CN108764466A (zh) 2018-11-06
CN108764466B true CN108764466B (zh) 2022-02-11

Family

ID=63980164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810187619.6A Active CN108764466B (zh) 2018-03-07 2018-03-07 基于现场可编程门阵列的卷积神经网络硬件及其加速方法

Country Status (1)

Country Link
CN (1) CN108764466B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740619B (zh) * 2018-12-27 2021-07-13 北京航天飞腾装备技术有限责任公司 用于目标识别的神经网络终端运行方法和装置
CN109858610A (zh) * 2019-01-08 2019-06-07 广东浪潮大数据研究有限公司 一种卷积神经网络的加速方法、装置、设备及存储介质
CN109740725A (zh) * 2019-01-25 2019-05-10 网易(杭州)网络有限公司 神经网络模型运行方法及装置、以及存储介质
CN109871939B (zh) * 2019-01-29 2021-06-15 深兰人工智能芯片研究院(江苏)有限公司 一种图像处理方法及图像处理装置
CN109961450B (zh) * 2019-02-19 2021-08-24 厦门码灵半导体技术有限公司 图像二值化处理方法、装置、存储介质和电子设备
CN109934336B (zh) * 2019-03-08 2023-05-16 江南大学 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN110188869B (zh) * 2019-05-05 2021-08-10 北京中科汇成科技有限公司 一种基于卷积神经网络算法的集成电路加速计算的方法及系统
CN110209627A (zh) * 2019-06-03 2019-09-06 山东浪潮人工智能研究院有限公司 一种面向智能终端的ssd硬件加速方法
CN110503201A (zh) * 2019-08-29 2019-11-26 苏州浪潮智能科技有限公司 一种神经网络分布式并行训练方法与装置
CN110717583B (zh) * 2019-09-30 2020-08-25 上海寒武纪信息科技有限公司 卷积电路、处理器、芯片、板卡和电子设备
CN111008691B (zh) * 2019-11-06 2022-03-08 北京中科胜芯科技有限公司 一种权值和激活值都二值化的卷积神经网络加速器架构
EP4064134B1 (en) * 2020-01-16 2024-05-22 Sophgo Technologies Ltd. Neural network processing method, device and system
CN111342896B (zh) * 2020-03-02 2021-04-02 深圳市南科信息科技有限公司 基于卷积神经网络的自编码算法
CN113627600B (zh) * 2020-05-07 2023-12-29 合肥君正科技有限公司 一种基于卷积神经网络的处理方法及其系统
CN111783971B (zh) * 2020-07-02 2024-04-09 上海赛昉科技有限公司 一种用于深度神经网络的可高度灵活配置的数据后处理器
CN112434635B (zh) * 2020-12-02 2024-02-09 深圳龙岗智能视听研究院 卷积神经网络特征提取方法、系统、嵌入式设备及介质
CN112925741B (zh) * 2021-03-29 2023-01-24 上海西井信息科技有限公司 异构计算方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
CN105930902A (zh) * 2016-04-18 2016-09-07 中国科学院计算技术研究所 一种神经网络的处理方法、系统
CN106228238A (zh) * 2016-07-27 2016-12-14 中国科学技术大学苏州研究院 现场可编程门阵列平台上加速深度学习算法的方法和系统
CN106250939A (zh) * 2016-07-30 2016-12-21 复旦大学 基于fpga+arm多层卷积神经网络的手写体字符识别方法
CN107463990A (zh) * 2016-06-02 2017-12-12 国家计算机网络与信息安全管理中心 一种卷积神经网络的fpga并行加速方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
CN105930902A (zh) * 2016-04-18 2016-09-07 中国科学院计算技术研究所 一种神经网络的处理方法、系统
CN107463990A (zh) * 2016-06-02 2017-12-12 国家计算机网络与信息安全管理中心 一种卷积神经网络的fpga并行加速方法
CN106228238A (zh) * 2016-07-27 2016-12-14 中国科学技术大学苏州研究院 现场可编程门阵列平台上加速深度学习算法的方法和系统
CN106250939A (zh) * 2016-07-30 2016-12-21 复旦大学 基于fpga+arm多层卷积神经网络的手写体字符识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A high performance FPGA-based accelerator for large-scale convolutional neural networks;Li H 等;《2016 26th International Conferenceon Field Programmable Logic and Applications》;20161231;全文 *
基于FPGA的卷积神经网络加速器设计;王思阳;《中国优秀硕士学位论文全文数据库信息科技辑》;20180215;全文 *

Also Published As

Publication number Publication date
CN108764466A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108764466B (zh) 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN110473141B (zh) 图像处理方法、装置、存储介质及电子设备
US10929746B2 (en) Low-power hardware acceleration method and system for convolution neural network computation
CN108108809B (zh) 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法
CN105681628B (zh) 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法
CN109190756B (zh) 基于Winograd卷积的运算装置及包含该装置的神经网络处理器
CN106951926B (zh) 一种混合架构的深度学习方法及装置
WO2020073211A1 (zh) 运算加速器、处理方法及相关设备
JP2021521515A (ja) 演算を加速するための方法および加速器装置
US20190026626A1 (en) Neural network accelerator and operation method thereof
CN108280514A (zh) 基于fpga的稀疏神经网络加速系统和设计方法
JP2021521516A (ja) 演算を加速するための加速器及びシステム
Kästner et al. Hardware/software codesign for convolutional neural networks exploiting dynamic partial reconfiguration on PYNQ
CN109409510B (zh) 神经元电路、芯片、系统及其方法、存储介质
EP3388981B1 (en) Convolutional processing system
CN111414994A (zh) 一种基于FPGA的Yolov3网络计算加速系统及其加速方法
CN111488051A (zh) 基于cpu和fpga协同计算的云端深度神经网络优化方法
CN108763159A (zh) 一种基于fpga的lstm前向运算加速器
CN107292458A (zh) 一种应用于神经网络芯片的预测方法和预测装置
CN109472734B (zh) 一种基于fpga的目标检测网络及其实现方法
CN109086871A (zh) 神经网络的训练方法、装置、电子设备和计算机可读介质
CN107909537A (zh) 一种基于卷积神经网络的图像处理方法及移动终端
Duan et al. Energy-efficient architecture for FPGA-based deep convolutional neural networks with binary weights
CN116543076A (zh) 图像处理方法、装置、电子设备及存储介质
CN117217274B (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
GR01 Patent grant
GR01 Patent grant