CN106228240B - 基于fpga的深度卷积神经网络实现方法 - Google Patents

基于fpga的深度卷积神经网络实现方法 Download PDF

Info

Publication number
CN106228240B
CN106228240B CN201610615714.2A CN201610615714A CN106228240B CN 106228240 B CN106228240 B CN 106228240B CN 201610615714 A CN201610615714 A CN 201610615714A CN 106228240 B CN106228240 B CN 106228240B
Authority
CN
China
Prior art keywords
convolution
calculation
matrix
fpga
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.)
Active
Application number
CN201610615714.2A
Other languages
English (en)
Other versions
CN106228240A (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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CN201610615714.2A priority Critical patent/CN106228240B/zh
Publication of CN106228240A publication Critical patent/CN106228240A/zh
Application granted granted Critical
Publication of CN106228240B publication Critical patent/CN106228240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

本发明方法属于数字图像处理、模式识别技术领域。具体为一种基于FPGA的深度卷积神经网络实现方法。本发明实现的硬件平台是XilinxZYNQ‑7030可编程片上SoC,硬件平台内置FPGA和ARM Cortex A9处理器。本发明首先将训练好的网络模型参数加载到FPGA端,然后在ARM端对输入数据进行预处理,再将结果传输到FPGA端,在FPGA端实现深度卷积神经网络的卷积计算和下采样,形成数据特征向量并传输至ARM端,完成特征分类计算。本发明利用FPGA的快速并行处理和极低功耗的高效能计算特性,实现深度卷积神经网络模型中复杂度最高的卷积计算部分,在保证算法正确率的前提下,大幅提升算法效率,降低功耗。

Description

基于FPGA的深度卷积神经网络实现方法
技术领域
本发明属于数字图像处理、模式识别技术领域,具体涉及一种在FPGA硬件平台上实现深度卷积神经网络模型的方法。
背景技术
在当前计算机技术及互联网高速发展的情况下,数据规模呈爆发式增长,海量数据的智能化分析处理成为有效利用数据价值的关键所在。人工智能技术是实现从海量数据中发现有价值的信息的一种有效手段,近年来在计算机视觉、语音识别和自然语言处理等应用领域取得突破性进展。基于深度卷积神经网络的深度学习算法模型是其中的一个典型代表。
卷积神经网络(Convolutional Neural Network,CNN)受神经科学研究的启发。经过20多年的演变,在模式识别,人机对抗等领域取得令人瞩目的理论研究及实际应用成果,在著名的人机围棋对抗赛中,基于CNN+蒙特卡洛搜索树算法的人工智能系统AlphaGo,以4:1大比分优势战胜了世界围棋冠军李世石。典型的CNN算法模型由两部分组成:特征提取器和分类器。其中特征提取器负责生成输入数据的低维特征向量,对数据具有较好的鲁棒性。该向量作为分类器(通常基于传统的人工神经网络)的输入数据进行分类,得到输入数据的分类结果。
在实现卷积神经网络算法模型中,卷积计算占整个算法模型90%的计算量[1],因此卷积层的高效计算是大幅提升CNN算法模型计算效率的关键,通过硬件加速实现卷积计算是一种有效途径。
当前,业内普遍使用GPU集群实现深度学习算法模型,通过大规模并行计算实现深度神经网络模型,取得了令人瞩目的高效率与高性能结果,然而GPU的高功耗也制约了其大规模应用,进而成为深度卷积神经网络算法模型的实际推广应用的瓶颈所在。FPGA具有高性能并行计算和超低功耗的优点,在FPGA上实现深度学习算法模型是该领域的必然发展方向。
目前利用FPGA实现CNN的方案主要有三种:
(1)利用软核CPU实现控制部分,配合FPGA实现算法加速;
(2)利用硬核SoC内嵌的硬核ARM Cortex A9 CPU实现控制部分,配合FPGA实现算法加速;
(3)利用云端服务器配合FPGA实现算法加速。
三种方案各有利弊,根据不同的运用场合,可以选择不同的加速方案。
在深度卷积神经网络中,卷积层计算占用了超过90%的计算量,而且是整个网络模型中承前启后的关键环节,其计算效率直接影响了模型算法实现的性能。然而,在FPGA上实现卷积计算具有很大难度,主要体现在以下几个方面:
(1)深度学习算法模型目前基本还处于学术界研究的阶段,大规模产业化应用还有很多算法及模型优化的工作,因此算法模型需要不断优化,以适应不同的应用场景,需要对深度学习理论及算法有非常深入的理解;
(2)FPGA的研发基于底层的硬件语言,适于算法模型相对稳定的情况,不断变化的深度学习算法模型为其在FPGA上实现带来很大的难度;
(3)在FPGA上实现深度卷积神经网络,需要对FPGA的工程实现具有丰富的经验。FPGA的运行时钟频率和使用的乘法器等模块的输出延时(Latency)互相矛盾,时钟频率越高,模块的输出延时越长,时钟频率越低,模块的输出延时越短。需要借助工程经验通过手工实验找到相对平衡的参数。
发明内容
本发明方法的目的是提供一种高效率、低功耗的实现深度卷积神经网络模型的方法,以解决当前基于GPU或CPU的深度学习模型功耗大、效率低的问题。
本发明对FPGA硬件设计进行了优化,有效降低了资源消耗,能够在低端FPGA硬件平台上实现深度卷积神经网络模型。
本发明提供的实现深度卷积神经网络模型的方法,实现的硬件平台是XilinxZYNQ-7030可编程片上SoC,硬件平台内置FPGA和ARM Cortex A9处理器。本发明首先将训练好的网络模型参数加载到FPGA端,然后在ARM端对输入数据进行预处理,再将结果传输到FPGA端,在FPGA端实现深度卷积神经网络的卷积计算和下采样,形成数据特征向量并传输至ARM端,完成特征分类计算。具体包括4个过程:模型参数加载过程、输入数据预处理操作过程、卷积和下采样计算过程、分类计算过程:
1、模型参数加载过程为:
(1)离线训练深度卷积神经网络模型;
(2)ARM端加载训练模型参数;
(3)将模型参数传输至FPGA;
2、输入数据预处理操作过程为:
(1)归一化处理;
(2)将处理结果传输至FPGA;
(3)在FPGA端存储至Block RAM;
3、卷积和下采样计算过程为:
(1)初始化卷积流水线;
(2)卷积计算;
(3)池化下采样计算;
(4)重新初始化卷积流水线,进行多层卷积下采样计算;
4、分类计算过程为:
(1)将特征向量传回ARM端;
(2)通过分类模型计算;
(3)输出分类结果。
具体介绍如下:
步骤1、加载训练模型参数
(1)在ARM端加载离线训练的深度卷积神经网络模型参数;
(2)将训练模型参数传输至FPGA端;
(3)FPGA端经过FIFO缓存后存储在Block RAM(块随机存储器)中;
步骤2、预处理深度卷积神经网络模型
(1)对输入数据进行归一化处理,使其满足模型卷积运算要求;
(2)利用APB总线将ARM端归一化数据传输至FPGA端;
(3)FPGA端将归一化数据经过FIFO缓存后存入Block RAM;
步骤3、卷积和下采样计算
针对深度卷积神经网络模型中计算量最大的卷积层计算,设计深度流水线实现模式。设网络模型有H个卷积层和池化层。第h个(h=1,2,…,H)卷积层输入为T个m×m浮点数(32位)矩阵,输出为S个(m-n+1)×(m-n+1)浮点数(32位)矩阵,卷积核为K个n×n浮点数(32位)矩阵(n≤m),输入数据滑动窗尺度为n×n,横向滑动步长为1,纵向滑动步长为1。
(1)初始化卷积运算流水线
定义n+1个数据缓存寄存器P0,P1,…,Pn-1,Pn,每个寄存器存放m个数据。其中n个寄存器(P(i-1)%(n+1)+0,P(i-1)%(n+1)+1,…,P(i-1)%(n+1)+n-1)存放第t个(t=1,2,…,T)输入数据矩阵的第i个(i=1,2,…,m-n+1)子矩阵(n×m)数据,其中%表示取余数,如果(i-1)%(n+1)+x>n,则(i-1)%(n+1)+x=0,(i-1)%(n+1)+x+1=1,…,其中x=0,1,…,n-1。如果n<m,P(i-1)%(n+1)+n寄存器存放输入数据矩阵中的第i+n行数据,在卷积计算过程中实现并行初始化,以减少FPGA空闲周期,提高计算效率。
定义1个卷积核矩阵缓存寄存器W,存放第k个(k=1,2,…,K)n×n个卷积核矩阵权值数据。
(2)第h个卷积层计算
完成网络第h个卷积层第t个输入数据矩阵和第k个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活。
具体来说,在进行每次卷积计算的同时,初始化第i+n个数据缓存寄存器P(i-1)%(n+1)+n,作为卷积中第i+1个子矩阵卷积计算的缓存输入数据,实现循环卷积。
在FPGA端通过浮点IP(Floating-point IP)核构建Sigmoid函数,实现卷积计算结果的激活;所述Sigmoid函数的表达式为:
Figure DEST_PATH_IMAGE002
。具体步骤为:
如前所述,输入数据为m×m浮点数矩阵,卷积核为n×n浮点数矩阵,滑动窗尺度为n×n,横向滑动步长为1,纵向滑动步长为1,则卷积结果为(m-n+1)×(m-n+1)的浮点数矩阵,矩阵的每个元素加上偏置量b11(离线训练模型参数),利用Sigmoid函数激活后,结果为(m-n+1)×(m-n+1)的浮点数矩阵,存入Block RAM。
完成1次卷积计算后,重新初始化卷积核矩阵缓存寄存器W,进行下一次卷积计算,往复循环卷积计算,计算结果为S个(m-n+1)×(m-n+1)浮点数矩阵,存入Block RAM。
(3)第h个池化层计算
实现第h个卷积层计算结果的池化计算,结果为S个[(m-n+1)/2]×[(m-n+1)/2]浮点数矩阵,存入Block RAM。具体步骤为:设卷积计算结果数据滑动窗尺度为2×2,步长为2,采用平均下采样法实现池化,即逐个2×2浮点数矩阵相加,计算结果取均值,获得S个[(m-n+1)/2]×[(m-n+1)/2]浮点数矩阵,作为第h+1个卷积层计算的输入矩阵。
步骤4、分类计算
将卷积计算和池化计算结果传回ARM端进行分类运算。具体步骤为:FPGA端将Block RAM中的卷积池化计算结果矩阵,通过FIFO缓存,APB总线传输至ARM端,ARM端利用Softmax运算完成数据分类计算,得到输入数据的分类结果并输出。
本发明方法的主要特点有:
(1)在低端FPGA上实现了深度卷积神经网络模型;
(2)利用流水线计算方式实现了深度卷积神经网络模型中的卷积计算加速;
(3)控制芯片采用Soc内嵌ARM处理器实现,具有体积小,功耗低,效率高的特点,可广泛应用于嵌入式系统领域。
本发明利用FPGA的快速并行处理和极低功耗的高效能计算特性,实现深度卷积神经网络模型中复杂度最高的卷积计算部分,在保证算法正确率的前提下,大幅提升算法效率。相比于传统基于CPU或GPU实现深度卷积神经网络的方法,本发明方法在有效提高算法计算速度的同时,大幅降低了功耗,有效解决了采用CPU或GPU实现深度卷积神经网络导致的运算时间长或功耗大的问题。
附图说明
图1基于FPGA的深度卷积神经网络实现流程图。
图2MNIST数据库(部分)。
图3矩阵转置原理图。
图4流水线计算示意图。
图5卷积计算示意图。
图6 深度卷积神经网络结构图。
图7下采样计算示意图。
图8 基于FPGA的深度卷积神经网络模型仿真结果。
图9 数字“7”的实测分类结果(MNIST数据库)。
具体实施方式
以下结合附图解释运用了本发明方法,在FPGA硬件平台上利用深度卷积神经网络模型实现手写体字符识别算法的具体实施。(该深度卷积神经网络模型由输入层I,第一个卷积层C1,第一个下采样层S1,第二个卷积层C2,第二个下采样层S2和全链接层Softmax组成。输入图片大小为28×28,第一层卷积层包含1个大小为5×5的卷积核,第二个卷积层包含3个大小为5×5的卷积核)。
利用深度卷积神经网络模型的手写体字符识别算法在FPGA上实现的具体运算步骤如附图1所示。
1、加载训练好的模型参数
首先参考DeepLearnToolbox-master中CNN的函数,并进行一定的修改(将卷积函数重写,并将神经网络层数改为5层,一个输入层,两个卷积层,两个下采样层;第一个卷积层1个大小为5×5的卷积核,第二个卷积层3个大小为5×5的卷积核,两个下采样层的滑动步长为2,滑动窗2×2矩阵,训练次数设为10),利用Matlab训练深度卷积神经网络,然后在ARM端加载训练好的权值参数和偏置参数,最后将训练好的模型参数传输至FPGA端,经过FIFO缓存后存储在Block RAM中。
2、预处理
附图2所示的MNIST手写体图像读入内存,每个像素除以255进行归一化,然后按照附图3所示进行转置。
3、将预处理结果传输至FPGA
通过ZYNQ-7030 Soc上APB总线,将预处理结果传输至FPGA端,经过FIFO缓存后存储在Block RAM中。
4、初始化卷积运算流水线
如附图4所示,定义6个数据缓存寄存器P0,P1,P2,P3,P4,P5,每个寄存器可存放28个浮点数数据。其中5个寄存器(P(i-1)%(5+1)+0,P(i-1)%(5+1)+1,…,P(i-1)%(5+1)+5-1)存放输入图像矩阵的第i个(i=1,2,…,24)子矩阵(5×28)数据,其中%表示取余数。如果(i-1)%(5+1)+x>5,则(i-1)%(5+1)+x=0,(i-1)%(5+1)+x+1=1,…,其中x=0,1,…,4。P(i-1)%(5+1)+5寄存器存放输入图像矩阵中的第i+5行数据。
定义1个卷积核矩阵缓存寄存器W,存放第1个卷积层的1个5×5个卷积核矩阵权值数据。
5、进行第1个卷积层计算
完成网络第1个卷积层输入图像矩阵和第1个卷积层第1个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活。
在进行卷积计算的同时,初始化第i+5个数据缓存寄存器P(i-1)%(5+1)+5,作为卷积中第i+1个子矩阵卷积计算的缓存输入数据,实现循环卷积,如附图5所示。
在FPGA端通过浮点IP(Floating-point IP)核构建Sigmoid函数,实现卷积计算结果的激活。Sigmoid函数的表达式为:
Figure 217358DEST_PATH_IMAGE002
具体步骤为:
如前所述,输入图像为28×28浮点数矩阵,卷积核为5×5浮点数矩阵,滑动窗尺度为5×5,横向滑动步长为1,纵向滑动步长为1,则卷积结果为24×24的浮点数矩阵,矩阵的每个元素加上偏置量b11(离线训练模型参数),利用Sigmoid函数激活后,结果为24×24的浮点数矩阵,存入Block RAM。
完成1次卷积计算后,计算结果为1个24×24浮点数矩阵,存入Block RAM。
6、进行第1个池化层计算
实现第1个卷积层计算结果的池化计算,如附图6所示,结果为1个12×12浮点数矩阵,存入Block RAM。具体步骤为:卷积计算结果数据滑动窗尺度为2×2,步长为2,采用平均下采样法实现池化,即逐个2×2浮点数矩阵相加,计算结果取均值,获得1个12×12浮点数矩阵,作为第2个卷积层计算的输入矩阵,如附图7所示。
7、重新初始化卷积流水线
如附图4所示,重新初始化6个数据缓存寄存器P0,P1,P2,P3,P4,P5,每个寄存器存放12个浮点数数据。其中5个寄存器(P(i-1)%(5+1)+0,P(i-1)%(5+1)+1,…,P(i-1)%(5+1)+5-1)存放输入矩阵的第i个(i=1,2,…,8)子矩阵(5×12)数据,其中%表示取余数。如果(i-1)%(5+1)+x>5,则(i-1)%(5+1)+x=0,(i-1)%(5+1)+x+1=1,…,其中x=0,1,…,4。P(i-1)%(5+1)+5寄存器存放输入矩阵中的第i+5行数据。
重新初始化卷积核矩阵缓存寄存器W,存放第2个卷积层的第1个5×5个卷积核矩阵权值数据。
8、进行第2个卷积层计算
完成网络第2个卷积层输入数据矩阵和第2个卷积层第1个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活。
重新初始化卷积核矩阵缓存寄存器W,存放第2个卷积层的第2个5×5个卷积核矩阵权值数据,完成网络第2个卷积层输入数据矩阵和第2个卷积层第2个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活。
重新初始化卷积核矩阵缓存寄存器W,存放第2个卷积层的第3个5×5个卷积核矩阵权值数据,完成网络第2个卷积层输入数据矩阵和第2个卷积层第3个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活。
在进行每次卷积计算的同时,初始化第i+5个数据缓存寄存器P(i-1)%(5+1)+5,作为卷积中第i+1个子矩阵卷积计算的缓存输入数据,实现循环卷积,如附图5所示。
具体步骤为:如前所述,输入图像为12×12浮点数矩阵,卷积核为3个5×5浮点数矩阵,滑动窗尺度为5×5,横向滑动步长为1,纵向滑动步长为1,则卷积结果为3个8×8的浮点数矩阵,3个矩阵的每个元素分别加上偏置量b21,b22,b23(离线训练模型参数),利用Sigmoid函数激活后,结果为3个8×8的浮点数矩阵,存入Block RAM。
完成2次卷积计算后,计算结果为3个8×8浮点数矩阵,存入Block RAM。
9、进行第2个池化层计算
实现第2个卷积层计算结果的池化计算,如附图6所示,结果为3个4×4浮点数矩阵,存入Block RAM。具体步骤为:卷积计算结果数据滑动窗尺度为2×2,步长为2,采用平均下采样法实现池化,即逐个2×2浮点数矩阵相加,计算结果取均值,获得3个4×4浮点数矩阵,作为Softmax层的输入矩阵,如附图7所示。
10、分类计算
将卷积计算和池化计算结果传回ARM端进行分类运算。具体步骤为:FPGA端将Block RAM中的卷积池化计算结果矩阵,通过FIFO缓存,APB总线传输至ARM端,ARM端利用Softmax运算完成数据分类计算,得到输入图片的分类结果并输出。
上述方法处理MNIST数据库中数字图片“7”的仿真结果如图8所示。
上述方法处理MNIST数据库中数字图片“7”的实测分类结果如图9所示。
参考文献
[1] Cong J, Xiao B. Minimizing Computation in Convolutional NeuralNetworks[M]// Artificial Neural Networks and Machine Learning – ICANN 2014.Springer International Publishing, 2014:33-7.
[2] Farabet C, Poulet C, Han J Y, et al. CNP: An FPGA-based processorfor Convolutional Networks[J]. International Conference on Field ProgrammableLogic & Applications, 2009:32-37.
[3] Gokhale V, Jin J, Dundar A, et al. A 240 G-ops/s MobileCoprocessor for Deep Neural Networks[C]// IEEE Embedded Vision Workshop.2014:696-701.
[4] Zhang C, Li P, Sun G, et al. Optimizing FPGA-based AcceleratorDesign for Deep Convolutional Neural Networks[C]// Acm/sigda InternationalSymposium. 2015:161-170.
[5] Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classificationwith Deep Convolutional Neural Networks[J]. Advances in Neural InformationProcessing Systems, 2012, 25(2):2012.
[6] Farabet C, Martini B, Corda B, et al. NeuFlow: A runtimereconfigurable dataflow processor for vision[J]. 2011, 9(6):109-116.
[7] Matai J, Irturk A, Kastner R. Design and Implementation of anFPGA-Based Real-Time Face Recognition System[C]// IEEE, InternationalSymposium on Field-Programmable Custom Computing Machines. 2011:97-100.
[8] Sankaradas M, Jakkula V, Cadambi S, et al. A Massively ParallelCoprocessor for Convolutional Neural Networks[C]// IEEE InternationalConference on Application-Specific Systems, Architectures and Processors.IEEE Computer Society, 2009:53-60.。

Claims (1)

1.一种基于FPGA的深度卷积神经网络实现方法,其特征在于具体步骤为:
步骤1、加载训练模型参数
(1)在ARM端加载离线训练的深度卷积神经网络模型参数;
(2)将训练模型参数传输至FPGA端;
(3)FPGA端经过FIFO缓存后存储在块随机存储器中;
步骤2、预处理深度卷积神经网络模型
(1)对输入数据进行归一化处理,使其满足模型卷积运算要求;
(2)利用APB总线将ARM端归一化数据传输至FPGA端;
(3)FPGA端将归一化数据经过FIFO缓存后存入块随机存储器;
步骤3、卷积和下采样计算
设网络模型有H个卷积层和H个池化层,第h个卷积层输入为T个m×m 32位浮点数矩阵,h=1,2,…,H;输出为S个(m-n+1)×(m-n+1)32位浮点数矩阵,卷积核为K个n×n 32位浮点数矩阵,n≤m,输入数据滑动窗尺度为n×n,横向滑动步长为1,纵向滑动步长为1;
(1)初始化卷积运算流水线
定义n+1个数据缓存寄存器P0,P1,…,Pn-1,Pn,每个寄存器存放m个数据,其中n个寄存器P(i-1)%(n+1)+0,P(i-1)%(n+1)+1,…,P(i-1)%(n+1)+n-1存放第t个输入数据矩阵的第i个子矩阵n×m数据,t=1,2,…,T,i=1,2,…,m-n+1;用%表示取余数,如果(i-1)%(n+1)+x>n,则(i-1)%(n+1)+x=0,(i-1)%(n+1)+x+1=1,…,其中x=0,1,…,n-1;如果n<m,P(i-1)%(n+1)+n寄存器存放输入数据矩阵中的第i+n行数据,在卷积计算过程中实现并行初始化,以减少FPGA空闲周期,提高计算效率;
定义1个卷积核矩阵缓存寄存器W,存放第k个n×n个卷积核矩阵权值数据,k=1,2,…,K;
(2)第h个卷积层计算
完成网络第h个卷积层第t个输入数据矩阵和第k个卷积核的卷积计算,通过Sigmoid函数实现计算结果的激活;
在进行每次卷积计算的同时,初始化数据缓存寄存器P(i-1)%(n+1)+n,作为卷积中第i+1个子矩阵卷积计算的缓存输入数据,实现循环卷积;
在FPGA端通过浮点IP核构建Sigmoid函数,实现卷积计算结果的激活,Sigmoid函数的表达式为:
Figure FDA0002538557580000011
具体步骤为:
如前所述,输入数据为m×m浮点数矩阵,卷积核为n×n浮点数矩阵,滑动窗尺度为n×n,横向滑动步长为1,纵向滑动步长为1,则卷积结果为(m-n+1)×(m-n+1)的浮点数矩阵,矩阵的每个元素加上偏置量b11,即离线训练模型参数,利用Sigmoid函数激活后,结果为(m-n+1)×(m-n+1)的浮点数矩阵,存入Block RAM;
完成1次卷积计算后,重新初始化卷积核矩阵缓存寄存器W,进行下一次卷积计算,往复循环卷积计算,计算结果为S个(m-n+1)×(m-n+1)浮点数矩阵,存入Block RAM;
(3)第h个池化层计算
实现第h个卷积层计算结果的池化计算,结果为S个[(m-n+1)/2]×[(m-n+1)/2]浮点数矩阵,存入Block RAM;具体步骤为:设卷积计算结果数据滑动窗尺度为2×2,步长为2,采用平均下采样法实现池化,即逐个2×2浮点数矩阵相加,计算结果取均值,获得S个[(m-n+1)/2]×[(m-n+1)/2]浮点数矩阵,作为第h+1个卷积层计算的输入矩阵;
步骤4、分类计算
将卷积计算和池化计算结果传回ARM端进行分类运算;具体步骤为:FPGA端将BlockRAM中的卷积池化计算结果矩阵,通过FIFO缓存,APB总线传输至ARM端,ARM端利用Softmax运算完成数据分类计算,得到输入数据的分类结果并输出。
CN201610615714.2A 2016-07-30 2016-07-30 基于fpga的深度卷积神经网络实现方法 Active CN106228240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610615714.2A CN106228240B (zh) 2016-07-30 2016-07-30 基于fpga的深度卷积神经网络实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610615714.2A CN106228240B (zh) 2016-07-30 2016-07-30 基于fpga的深度卷积神经网络实现方法

Publications (2)

Publication Number Publication Date
CN106228240A CN106228240A (zh) 2016-12-14
CN106228240B true CN106228240B (zh) 2020-09-01

Family

ID=57536621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610615714.2A Active CN106228240B (zh) 2016-07-30 2016-07-30 基于fpga的深度卷积神经网络实现方法

Country Status (1)

Country Link
CN (1) CN106228240B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227086B2 (en) 2017-01-04 2022-01-18 Stmicroelectronics S.R.L. Reconfigurable interconnect
US11531873B2 (en) 2020-06-23 2022-12-20 Stmicroelectronics S.R.L. Convolution acceleration with embedded vector decompression
US11562115B2 (en) 2017-01-04 2023-01-24 Stmicroelectronics S.R.L. Configurable accelerator framework including a stream switch having a plurality of unidirectional stream links
US11593609B2 (en) 2020-02-18 2023-02-28 Stmicroelectronics S.R.L. Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks
US12619678B2 (en) 2022-06-23 2026-05-05 Stmicroelectronics S.R.L. Acceleration of 1X1 convolutions in convolutional neural networks

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060268A (ja) * 2016-10-03 2018-04-12 株式会社日立製作所 認識装置および学習システム
KR102881595B1 (ko) * 2016-12-22 2025-11-06 삼성전자주식회사 컨볼루션 신경망 시스템 및 그것의 동작 방법
CN106529517B (zh) * 2016-12-30 2019-11-01 北京旷视科技有限公司 图像处理方法和图像处理设备
CN106650691A (zh) * 2016-12-30 2017-05-10 北京旷视科技有限公司 图像处理方法和图像处理设备
CN106682702A (zh) * 2017-01-12 2017-05-17 张亮 深度学习方法和系统
CN106875011B (zh) * 2017-01-12 2020-04-17 南京风兴科技有限公司 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN106909970B (zh) * 2017-01-12 2020-04-21 南京风兴科技有限公司 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置
CN108304922B (zh) * 2017-01-13 2020-12-15 华为技术有限公司 用于神经网络计算的计算设备和计算方法
WO2018137177A1 (zh) * 2017-01-25 2018-08-02 北京大学 一种基于nor flash阵列的卷积运算方法
CN106779060B (zh) * 2017-02-09 2019-03-08 武汉魅瞳科技有限公司 一种适于硬件设计实现的深度卷积神经网络的计算方法
CN106875012B (zh) * 2017-02-09 2019-09-20 武汉魅瞳科技有限公司 一种基于fpga的深度卷积神经网络的流水化加速系统
TWI607389B (zh) * 2017-02-10 2017-12-01 耐能股份有限公司 卷積神經網路的池化運算裝置及方法
CN106991474B (zh) * 2017-03-28 2019-09-24 华中科技大学 深度神经网络模型并行的全连接层数据交换方法及系统
CN106991999B (zh) * 2017-03-29 2020-06-02 北京小米移动软件有限公司 语音识别方法及装置
CN108804974B (zh) * 2017-04-27 2021-07-02 深圳鲲云信息科技有限公司 目标检测算法的硬件架构的资源估算、配置方法及系统
CN108229645B (zh) 2017-04-28 2021-08-06 北京市商汤科技开发有限公司 卷积加速和计算处理方法、装置、电子设备及存储介质
CN107229969A (zh) * 2017-06-21 2017-10-03 郑州云海信息技术有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN107451653A (zh) * 2017-07-05 2017-12-08 深圳市自行科技有限公司 深度神经网络的计算方法、装置及可读存储介质
CN107451654B (zh) * 2017-07-05 2021-05-18 深圳市自行科技有限公司 卷积神经网络的加速运算方法、服务器及存储介质
CN107451659B (zh) * 2017-07-27 2020-04-10 清华大学 用于位宽分区的神经网络加速器及其实现方法
CN107622305A (zh) * 2017-08-24 2018-01-23 中国科学院计算技术研究所 用于神经网络的处理器和处理方法
CN107689223A (zh) * 2017-08-30 2018-02-13 北京嘉楠捷思信息技术有限公司 一种音频识别方法及装置
CN109729734B8 (zh) * 2017-08-31 2020-11-24 中科寒武纪科技股份有限公司 芯片装置及相关产品
US10839286B2 (en) * 2017-09-14 2020-11-17 Xilinx, Inc. System and method for implementing neural networks in integrated circuits
CN107564522A (zh) * 2017-09-18 2018-01-09 郑州云海信息技术有限公司 一种智能控制方法及装置
CN107656899A (zh) * 2017-09-27 2018-02-02 深圳大学 一种基于fpga的模板卷积实现方法和系统
CN107749044A (zh) * 2017-10-19 2018-03-02 珠海格力电器股份有限公司 图像信息的池化方法及装置
CN109754062B (zh) * 2017-11-07 2024-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN107844833A (zh) * 2017-11-28 2018-03-27 郑州云海信息技术有限公司 一种卷积神经网络的数据处理方法、装置及介质
CN108009631A (zh) * 2017-11-30 2018-05-08 睿视智觉(深圳)算法技术有限公司 一种基于fpga的vgg-16通用处理模块及其控制方法
WO2019109336A1 (en) * 2017-12-08 2019-06-13 Baidu.Com Times Technology (Beijing) Co., Ltd. Stereo camera depth determination using hardware accelerator
CN109961133B (zh) * 2017-12-14 2020-04-24 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN108416422B (zh) * 2017-12-29 2024-03-01 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN108388943B (zh) * 2018-01-08 2020-12-29 中国科学院计算技术研究所 一种适用于神经网络的池化装置及方法
CN108154229B (zh) * 2018-01-10 2022-04-08 西安电子科技大学 基于fpga加速卷积神经网络框架的图片处理方法
CN108362628A (zh) * 2018-01-11 2018-08-03 天津大学 基于偏振衍射成像流式细胞仪的无标记细胞流式分选方法
CN109643336A (zh) * 2018-01-15 2019-04-16 深圳鲲云信息科技有限公司 人工智能处理装置设计模型建立方法、系统、存储介质、终端
US11874898B2 (en) 2018-01-15 2024-01-16 Shenzhen Corerain Technologies Co., Ltd. Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal
WO2019136752A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能卷积处理方法、装置、可读存储介质、及终端
CN110178146B (zh) * 2018-01-15 2023-05-12 深圳鲲云信息科技有限公司 反卷积器及其所应用的人工智能处理装置
CN109416756A (zh) * 2018-01-15 2019-03-01 深圳鲲云信息科技有限公司 卷积器及其所应用的人工智能处理装置
US11568232B2 (en) 2018-02-08 2023-01-31 Quanta Computer Inc. Deep learning FPGA converter
CN108108809B (zh) * 2018-03-05 2021-03-02 山东领能电子科技有限公司 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法
CN108537330B (zh) * 2018-03-09 2020-09-01 中国科学院自动化研究所 应用于神经网络的卷积计算装置及方法
CN108256636A (zh) * 2018-03-16 2018-07-06 成都理工大学 一种基于异构计算的卷积神经网络算法设计实现方法
CN108710892B (zh) * 2018-04-04 2020-09-01 浙江工业大学 面向多种对抗图片攻击的协同免疫防御方法
CN108615076B (zh) * 2018-04-08 2020-09-11 瑞芯微电子股份有限公司 一种基于深度学习芯片的数据存储优化方法和装置
CN108470211B (zh) * 2018-04-09 2022-07-12 郑州云海信息技术有限公司 一种卷积计算的实现方法、设备和计算机存储介质
CN108520300A (zh) * 2018-04-09 2018-09-11 郑州云海信息技术有限公司 一种深度学习网络的实现方法和装置
CN110399976B (zh) * 2018-04-25 2022-04-05 华为技术有限公司 计算装置和计算方法
CN108549935B (zh) * 2018-05-03 2021-09-10 山东浪潮科学研究院有限公司 一种实现神经网络模型的装置及方法
CN108805270B (zh) * 2018-05-08 2021-02-12 华中科技大学 一种基于存储器的卷积神经网络系统
CN108595379A (zh) * 2018-05-08 2018-09-28 济南浪潮高新科技投资发展有限公司 一种基于多级缓存的并行化卷积运算方法及系统
CN108805267B (zh) * 2018-05-28 2021-09-10 重庆大学 用于卷积神经网络硬件加速的数据处理方法
CN108764182B (zh) * 2018-06-01 2020-12-08 阿依瓦(北京)技术有限公司 一种优化的用于人工智能的加速方法和装置
CN108711429B (zh) * 2018-06-08 2021-04-02 Oppo广东移动通信有限公司 电子设备及设备控制方法
CN109086879B (zh) * 2018-07-05 2020-06-16 东南大学 一种基于fpga的稠密连接神经网络的实现方法
CN109032781A (zh) * 2018-07-13 2018-12-18 重庆邮电大学 一种卷积神经网络算法的fpga并行系统
CN109117949A (zh) * 2018-08-01 2019-01-01 南京天数智芯科技有限公司 用于人工智能设备的灵活数据流处理器和处理方法
CN109036459B (zh) * 2018-08-22 2019-12-27 百度在线网络技术(北京)有限公司 语音端点检测方法、装置、计算机设备、计算机存储介质
CN109102070B (zh) * 2018-08-22 2020-11-24 地平线(上海)人工智能技术有限公司 卷积神经网络数据的预处理方法和装置
CN109214506B (zh) * 2018-09-13 2022-04-15 深思考人工智能机器人科技(北京)有限公司 一种基于像素的卷积神经网络建立装置及方法
US20200090023A1 (en) * 2018-09-14 2020-03-19 Huawei Technologies Co., Ltd. System and method for cascaded max pooling in neural networks
US20200090046A1 (en) * 2018-09-14 2020-03-19 Huawei Technologies Co., Ltd. System and method for cascaded dynamic max pooling in neural networks
CN109359732B (zh) 2018-09-30 2020-06-09 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
CN109376843B (zh) * 2018-10-12 2021-01-08 山东师范大学 基于fpga的脑电信号快速分类方法、实现方法及装置
CN109146067B (zh) * 2018-11-19 2021-11-05 东北大学 一种基于FPGA的Policy卷积神经网络加速器
CN109670578A (zh) * 2018-12-14 2019-04-23 北京中科寒武纪科技有限公司 神经网络首层卷积层数据处理方法、装置及计算机设备
CN109800867B (zh) * 2018-12-17 2020-09-29 北京理工大学 一种基于fpga片外存储器的数据调用方法
CN109711539B (zh) * 2018-12-17 2020-05-29 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN109740748B (zh) * 2019-01-08 2021-01-08 西安邮电大学 一种基于fpga的卷积神经网络加速器
CN109784483B (zh) * 2019-01-24 2022-09-09 电子科技大学 基于fd-soi工艺的二值化卷积神经网络内存内计算加速器
CN109871939B (zh) * 2019-01-29 2021-06-15 深兰人工智能芯片研究院(江苏)有限公司 一种图像处理方法及图像处理装置
CN109615067B (zh) * 2019-03-05 2019-05-21 深兰人工智能芯片研究院(江苏)有限公司 一种卷积神经网络的数据调度方法及装置
TWI696129B (zh) * 2019-03-15 2020-06-11 華邦電子股份有限公司 可執行人工智慧運算的記憶體晶片及其運算方法
CN110032374B (zh) * 2019-03-21 2023-04-07 深兰科技(上海)有限公司 一种参数提取方法、装置、设备及介质
CN110084363B (zh) * 2019-05-15 2023-04-25 电科瑞达(成都)科技有限公司 一种基于fpga平台的深度学习模型加速方法
CN110223687B (zh) * 2019-06-03 2021-09-28 Oppo广东移动通信有限公司 指令执行方法、装置、存储介质及电子设备
CN110209627A (zh) * 2019-06-03 2019-09-06 山东浪潮人工智能研究院有限公司 一种面向智能终端的ssd硬件加速方法
CN110727634B (zh) * 2019-07-05 2021-10-29 中国科学院计算技术研究所 面向物端数据处理的嵌入式智能计算机系统
CN110458279B (zh) * 2019-07-15 2022-05-20 武汉魅瞳科技有限公司 一种基于fpga的二值神经网络加速方法及系统
CN110472442A (zh) * 2019-08-20 2019-11-19 厦门理工学院 一种自动检测硬件木马ip核
TWI724515B (zh) * 2019-08-27 2021-04-11 聯智科創有限公司 機器學習服務提供方法
CN110619387B (zh) * 2019-09-12 2023-06-20 复旦大学 一种基于卷积神经网络的通道扩展方法
CN110689088A (zh) * 2019-10-09 2020-01-14 山东大学 基于cnn的libs矿石光谱数据分类方法及装置
CN110910434B (zh) * 2019-11-05 2023-05-12 东南大学 基于fpga高能效实现深度学习视差估计算法的方法
CN110991632B (zh) * 2019-11-29 2023-05-23 电子科技大学 一种基于fpga的异构神经网络计算加速器设计方法
CN110880038B (zh) * 2019-11-29 2022-07-01 中国科学院自动化研究所 基于fpga的加速卷积计算的系统、卷积神经网络
CN111008629A (zh) * 2019-12-07 2020-04-14 怀化学院 一种基于Cortex-M3的表端数字识别方法
CN110928318A (zh) * 2019-12-31 2020-03-27 苏州清研微视电子科技有限公司 基于fpga的双目视觉辅助驾驶系统
CN111310921B (zh) * 2020-03-27 2022-04-19 西安电子科技大学 一种轻量级深度卷积神经网络的fpga实现方法
CN111667053B (zh) * 2020-06-01 2023-05-09 重庆邮电大学 一种卷积神经网络加速器的前向传播计算加速方法
CN111832718B (zh) * 2020-06-24 2021-08-03 上海西井信息科技有限公司 芯片架构
CN111860773B (zh) * 2020-06-30 2023-07-28 北京百度网讯科技有限公司 处理装置和用于信息处理的方法
CN112508184B (zh) * 2020-12-16 2022-04-29 重庆邮电大学 一种基于卷积神经网络的快速图像识别加速器设计方法
CN113012689B (zh) * 2021-04-15 2023-04-07 成都爱旗科技有限公司 一种电子设备和深度学习硬件加速方法
CN113762491B (zh) * 2021-08-10 2023-06-30 南京工业大学 一种基于fpga的卷积神经网络加速器
CN113850814A (zh) * 2021-09-26 2021-12-28 华南农业大学 一种基于cnn模型的荔枝叶片病虫害识别方法
CN114299514B (zh) * 2021-12-07 2025-05-13 南京理工大学 一种手写数字识别实现方法
CN114546484A (zh) * 2022-02-21 2022-05-27 山东浪潮科学研究院有限公司 基于微架构处理器的深度卷积优化方法、系统及装置
CN116188868B (zh) * 2023-03-08 2025-11-11 合肥工业大学 一种基于zynq开发板的塑料分选方法
CN116718894B (zh) * 2023-06-19 2024-03-29 上饶市广强电子科技有限公司 玉米灯的电路稳定性测试方法及其系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882164B1 (en) * 2004-09-24 2011-02-01 University Of Southern California Image convolution engine optimized for use in programmable gate arrays
CN104035750A (zh) * 2014-06-11 2014-09-10 西安电子科技大学 一种基于fpga的实时模板卷积实现方法
CN105046681A (zh) * 2015-05-14 2015-11-11 江南大学 一种基于SoC的图像显著性区域检测方法
CN105469039A (zh) * 2015-11-19 2016-04-06 天津大学 基于aer图像传感器的目标识别系统
CN105491269A (zh) * 2015-11-24 2016-04-13 长春乙天科技有限公司 基于反卷积图像复原的高保真视频放大方法
CN105678379A (zh) * 2016-01-12 2016-06-15 腾讯科技(深圳)有限公司 一种cnn的处理方法和装置
CN105678378A (zh) * 2014-12-04 2016-06-15 辉达公司 间接访问样本数据以在并行处理系统中执行多卷积操作
CN105740773A (zh) * 2016-01-25 2016-07-06 重庆理工大学 基于深度学习和多尺度信息的行为识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9078162B2 (en) * 2013-03-15 2015-07-07 DGS Global Systems, Inc. Systems, methods, and devices for electronic spectrum management

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882164B1 (en) * 2004-09-24 2011-02-01 University Of Southern California Image convolution engine optimized for use in programmable gate arrays
CN104035750A (zh) * 2014-06-11 2014-09-10 西安电子科技大学 一种基于fpga的实时模板卷积实现方法
CN105678378A (zh) * 2014-12-04 2016-06-15 辉达公司 间接访问样本数据以在并行处理系统中执行多卷积操作
CN105046681A (zh) * 2015-05-14 2015-11-11 江南大学 一种基于SoC的图像显著性区域检测方法
CN105469039A (zh) * 2015-11-19 2016-04-06 天津大学 基于aer图像传感器的目标识别系统
CN105491269A (zh) * 2015-11-24 2016-04-13 长春乙天科技有限公司 基于反卷积图像复原的高保真视频放大方法
CN105678379A (zh) * 2016-01-12 2016-06-15 腾讯科技(深圳)有限公司 一种cnn的处理方法和装置
CN105740773A (zh) * 2016-01-25 2016-07-06 重庆理工大学 基于深度学习和多尺度信息的行为识别方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A Multistage Dataflow Implementation of a Deep Convolutional Neural Network Based on FPGA For High-Speed Object Recognition;Li, Ning 等;《2016 IEEE SOUTHWEST SYMPOSIUM ON IMAGE ANALYSIS AND INTERPRETATION》;20160308;第165-168页 *
Design space exploration of FPGA-based Deep Convolutional Neural Networks;Mohammad Motamedi 等;《2016 21st Asia and South Pacific Design Automation Conference》;20160310;全文 *
Fast Pipeline 128times128 pixel spiking convolution core for event-driven vision processing in FPGAs;Yousefzadeh, A 等;《2015 First International Conference on Event-Based Control, Communication and Signal Processing 》;20151231;全文 *
一种新型2-D卷积器的FPGA实现;桑红石 等;《微电子学与计算机》;20110930;全文 *
基于FPGA的图像卷积IP核的设计与实现;朱学亮 等;《微电子学与计算机》;20160630;第188-192页 *
空间模板卷积滤波算法的FPGA实现新方法;李明 等;《计算机应用与软件》;20100831;第17-18页 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227086B2 (en) 2017-01-04 2022-01-18 Stmicroelectronics S.R.L. Reconfigurable interconnect
US11562115B2 (en) 2017-01-04 2023-01-24 Stmicroelectronics S.R.L. Configurable accelerator framework including a stream switch having a plurality of unidirectional stream links
US11675943B2 (en) 2017-01-04 2023-06-13 Stmicroelectronics S.R.L. Tool to create a reconfigurable interconnect framework
US12073308B2 (en) * 2017-01-04 2024-08-27 Stmicroelectronics International N.V. Hardware accelerator engine
US12118451B2 (en) 2017-01-04 2024-10-15 Stmicroelectronics S.R.L. Deep convolutional network heterogeneous architecture
US11593609B2 (en) 2020-02-18 2023-02-28 Stmicroelectronics S.R.L. Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks
US11880759B2 (en) 2020-02-18 2024-01-23 Stmicroelectronics S.R.L. Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks
US11531873B2 (en) 2020-06-23 2022-12-20 Stmicroelectronics S.R.L. Convolution acceleration with embedded vector decompression
US11836608B2 (en) 2020-06-23 2023-12-05 Stmicroelectronics S.R.L. Convolution acceleration with embedded vector decompression
US12619678B2 (en) 2022-06-23 2026-05-05 Stmicroelectronics S.R.L. Acceleration of 1X1 convolutions in convolutional neural networks

Also Published As

Publication number Publication date
CN106228240A (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
CN106228240B (zh) 基于fpga的深度卷积神经网络实现方法
CN111459877B (zh) 基于FPGA加速的Winograd YOLOv2目标检测模型方法
CN109284817B (zh) 深度可分离卷积神经网络处理架构/方法/系统及介质
TWI795519B (zh) 計算裝置、機器學習運算裝置、組合處理裝置、神經網絡芯片、電子設備、板卡及執行機器學習計算的方法
CN109978161B (zh) 一种通用的卷积-池化同步处理卷积核系统
CN108427990B (zh) 神经网络计算系统和方法
CN110263925B (zh) 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置
CN110163357B (zh) 一种计算装置及方法
CN107545303B (zh) 用于稀疏人工神经网络的计算装置和运算方法
CN113051216B (zh) 一种基于FPGA加速的MobileNet-SSD目标检测装置及方法
CN108090565A (zh) 一种卷积神经网络并行化训练加速方法
CN110390385A (zh) 一种基于bnrp的可配置并行通用卷积神经网络加速器
CN109447241B (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
CN110458279A (zh) 一种基于fpga的二值神经网络加速方法及系统
CN107729989A (zh) 一种用于执行人工神经网络正向运算的装置及方法
CN108256636A (zh) 一种基于异构计算的卷积神经网络算法设计实现方法
CN107239824A (zh) 用于实现稀疏卷积神经网络加速器的装置和方法
CN111582451B (zh) 图像识别层间并行流水线型二值化卷积神经网络阵列架构
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
CN108320018B (zh) 一种人工神经网络运算的装置及方法
CN110991631A (zh) 一种基于fpga的神经网络加速系统
CN110991630A (zh) 一种面向边缘计算的卷积神经网络处理器
CN107203808A (zh) 一种二值卷积装置及相应的二值卷积神经网络处理器
CN111275167A (zh) 一种用于二值卷积神经网络的高能效脉动阵列架构
CN109948787A (zh) 用于神经网络卷积层的运算装置、芯片及方法

Legal Events

Date Code Title Description
C06 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