收藏 分销(赏)

一种基于FPGA的卷积神经网络加速器实现方案_李莉.pdf

上传人:自信****多点 文档编号:473142 上传时间:2023-10-13 格式:PDF 页数:9 大小:1.85MB
下载 相关 举报
一种基于FPGA的卷积神经网络加速器实现方案_李莉.pdf_第1页
第1页 / 共9页
一种基于FPGA的卷积神经网络加速器实现方案_李莉.pdf_第2页
第2页 / 共9页
一种基于FPGA的卷积神经网络加速器实现方案_李莉.pdf_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 30 卷 第 4 期北京电子科技学院学报2022 年 12 月Vol.30 No.4Journal of Beijing Electronic Science and Technology InstituteDec.2022一种基于 FPGA 的卷积神经网络加速器实现方案李 莉 陈心宇 高文斌北京电子科技学院,北京市 100070摘 要:近年来在人工智能领域,卷积神经网络(CNN)因为其优异的算法性能获得广泛应用。由于 CNN 的模型结构及卷积运算具有高度并行性,FPGA 加速 CNN 成为硬件加速 CNN 的重要解决方案。本文针对典型的卷积神经网络 LeNet-5,提出一种采用卷积-池化

2、-卷积-池化-卷积五级层间流水线架构的卷积核间全并行、核内部分并行,输出部分并行加速方案,实现卷积神经网络卷积池化运算的硬件加速。实验结果表明,在 129.8Mhz 时钟频率及 16bit 定点精度的情况下,系统对单张图片的处理速度较 CPU 提高近 337 倍,能效比为 13.68GOP/(sW)。关键词:卷积神经网络;FPGA;硬件加速;流水线架构中图分类号:TN791;TP183 文献标识码:A文章编号:1672-464X(2022)4-96-104 基金项目:北京高校“高精尖”学科建设项目(项目编号:20210069Z0402)、2020 教育部一流本科专业建设项目(项目编号:gjyl

3、zy2021001)、国家重点研发计划基金资助项目(项目编号:2017YFB0801803)作者简介:李 莉(1974-),女,山东青岛人,博士,教授,研究领域为网络与系统安全、嵌入式系统安全应用。陈心宇(1998-),男,硕士在读,电子通信与工程专业。E-mail:1849075071 高文斌(1989-),男,江西吉安人,博士,讲师,研究领域为通信信号处理。引言 近年来,深度学习领域中的神经网络技术因为其算法性能方面的优异表现被研究者们广泛关注,在神经网络中卷积神经网络 CNN 表现格外突出1。CNN 作为一种经典的利用标签进行学习的监督学习算法,一直都是计算机图像处理领域的热点2。由于

4、CNN 中存在大量的卷积运算,即乘法和加法运算,如何提升 CNN 的运算性能成了近年来研究者的重要关注点。针对 CNN 中卷积池化的运算计算量大、计算效率低的问题,存在三种解决办法:一是改进神经网络模型,减少神经网络对权值与参数数量的需求3;二是利用快速算法,文献4中采用Winograd 算法,通过减少乘法次数来实现加快卷积运算;三是采用计算效率更高的平台,提高运算的效率。CNN 是多层感知机的一个变种模型,这种模型刚开始被用来模拟大脑皮层的视觉行为,后在计算机视觉识别任务上表现出色被广泛运用于图像识别领域。与传统神经网络不同的是,CNN 卷积层中输出特征面的每个神经元与其输入进行的是局部连接

5、而非全连接,通过对应的连接权值与局部输入进行乘积求和再加上权值的偏置值,得到该神经元输出值,该过程等同于卷积过程。CNN 采用局部感受野、权值共享等思想,显著地减少了网络中自由参数的个第 30 卷一种基于 FPGA 的卷积神经网络加速器实现方案 数,使得使用更多层的深度神经网络来进行监督深度学习成为可能。CNN 由输入层、卷积层、池化层、全连接层及输出层构成,通常采用多个卷积层和池化层交替出现的结构,在卷积层、池化层、全连接层中,层内部的运算都是相互独立的,靠后的层内运算不会影响靠前的层内运算,换言之,以并行的方式实现 CNN 的网络结构是可行的。在文献5中,作者率先指出 CNN 并行特征可以

6、概括为层间并行性、输出间并行性、卷积核间并行性和卷积核内并行性四种类型。但在实际应用中由于各种客观原因,无法兼顾四种并行性,在文献6中作者将探寻 CNN 并行性的最大挑战总结于探究多种并行机制的最佳组合。针对 CNN 模型这种并行的层间结构,CPU的串行实现方式难以发挥 CNN 的并行结构特点,而 FPGA 具有计算资源丰富、逻辑电路设计灵活,并行设计容易实现的特点,广泛应用于硬件加速领域。文献7采用主机+FPGA 的计算架构,通过将卷积层的卷积核参数和特征输入权值一次性全部缓存,再进行卷积的并行运算来减少卷积层的运算时间,但是会占用更多的 FPGA片上资源。文献8考虑到 FPGA 片上资源的

7、有限性,选择对部分卷积核进行并行运算,使用了循环变换方法构建卷积层计算电路,通过循环分块方法将卷积层划分成多组不同的输入-输出分块,构成多输入多输出的模型结构,通过循环展开方法以并行方式计算输入-输出块内的卷积操作,从而以层间并行、层内并行的方式实现卷积层的计算。文献9提供了一种用来优化卷积运算中乘法和累加运算的稀疏卷积算法,降低了卷积运算中乘法运算复杂度。文献10采用移位操作代替卷积运算中的乘法操作来降低硬件资源消耗。在前人研究基础上,本文完成了以下工作。(1)选取 CNN 中典型的 LeNet-5 网络,分析各层结构,考虑 CNN 的四种并行类型:层间并行性、输出间并行性、卷积核间并行性和

8、卷积核内并行性,采用卷积核间全并行、核内部分并行、输出部分并行的方案实现神经网络卷积池化运算的加速。(2)提出一种新的行缓存乘法-加法树结构,一定程度上减少了内存资源消耗,提高了缓存-卷积操作的运算速率。(3)提出卷积-池化-卷积-池化-卷积五级流水线结构,设计控制模块高效地控制各层数据的读入输出,降低了 CNN 的运算所需时间。1 CNN 结构及其分析1.1 LeNet-5 卷积神经网络CNN 通过前向传播来进行识别和模式分类,通过反向传播来进行训练。CNN 模型由多个计算层组成,除输入层和输出层外,CNN 使用卷积层、池化层代替了传统神经网络中的隐含层。CNN 通过反向传播不断更新两层神经

9、元之间连接的权值,使层中的不同神经元能够提取输入的不同特征,实现传统全连接网络达不到的多层深度学习网络的目标。图 1 LeNet-5 神经网络结构如图1 所示,手写体字符识别7 层 CNN LeNet-5 由输入层、卷积层 C1、池化层 S2、卷积层 C3、池化层 S4、卷积层 C5、全连接层 F6 和全连接输出层组成。为了提高加速方案的普适性,本文只研究加速神经网络中具有高度并行性的部分:卷积层、池化层,也就是实现输入层、卷积层 C1、池化层 S2、卷积层 C3、池化层 S4、卷积层C5 的硬件加速。待识别的 3232 单通道二值图像和 6 个 55 大小的卷积核做卷积操作得到6 通道 28

10、28 的二维特征输出,经过 22 的最大池化得到 6 通道 1414 的特征输出,16 个 55 卷积核与前一层 6 通道特征输出中的部分79北京电子科技学院学报2022 年通道做卷积运算,得到 16 通道 1010 输出,经过下一层最大池化得到 16 通道 55 特征输出。池化层 S4 的特征输出和卷积层 C5 的 120 个卷积核都是 55 大小,卷积运算后得到 120 维 11 大小的向量输出。1.2 并行性分析与层间结构分析在上文描述 LeNet-5 结构时,可以注意到,前后卷积层与池化层之间相互独立,但是每层的输入和上层的输出有关。考虑到后一层不需要等待前一层所有数据处理完成再开始处

11、理数据,前一层继续处理数据的同时向后一层输出数据,达到多层同时处理数据的效果,因此层间的数据处理可以用流水线的方式实现。输出间的并行性可以和卷积核间的并行性一起考虑。在LeNet-5 卷积层 C1 中,2828 的特征输入需要和 6 通道的 55 卷积核做卷积运算。对于 6 通道的卷积操作,每个通道的卷积之间互不影响,而且每个通道的卷积运算过程完全相同,所以对于卷积核间的并行性是可行的。在一定程度上,多通道的输出,即输出间的并行性也是可以实现的。对于核内的并行性,即乘法和累加的并行性,在已有的文献中都有提及,这里不再详细说明。综上,本方案针对 LeNet-5 神经网络的前五层卷积层 C1、池化

12、层 S2、卷积层 C3、池化层 S4、卷积层 C5 设计五级流水线架构。采用卷积核间全并行、核内部分并行,输出部分并行的方式实现 CNN 加速,层与层之间采用流水线结构实现数据流的高效处理。2 实现方案 本文基于 FPGA 对 CNN 中典型的 LeNet-5网络进行实现:层与层间采用卷积-池化-卷积-池化-卷积五级流水线设计,来加速 CNN 层间的数据流传递与不同层之间的数据处理;层内卷积运算采用卷积核全并行、核内部分并行、输出部分并行的并行方式来加速 CNN 的卷积、池化运算。2.1 总体方案设计在现行研究下,利用软硬件协同来实现CNN 加速器的架构主要有两种,一种是利用FPGA 片上 C

13、PU 和硬件资源协同实现整体方案11,另一种是通过 PC 机和 FPGA 硬件资源实现整体方案。本文采用第二种 PC 机协同方案:PC 机负责传输图像输入、权值参数和偏置参数以及控制的功能;FPGA 负责 CNN 运算的整个过程,二者通过 UART 串口进行数据的传输交换。CNN 并行加速方案的总体设计结构框图如图 2 所示。图 2 方案的总体设计结构框图本方案硬件设计实现 CNN 的前向测试部分,CNN 的反向学习训练部分、输入的待识别图片二值化、权值浮点数定点化均由 PC 端实现,系统读取训练完成的权值数据、偏置数据和二值化后的图片数据。输入层、卷积层、池化层、全连接层、输出层间设计数据缓

14、存模块,将前一层的输出保存在寄存器中,并等待控制模块输出使能信号控制下一层对前一层数据的读取。卷积层由数据处理模块、卷积模块和激活函数 Relu 模块组成;池化层由最大池化模块组成。2.2 五级流水线设计针对 LeNet-5 神经网络的前五层 卷积层 C1、池化层 S2、卷积层 C3、池化层 S4、卷积层C5 设计五级流水线架构,如图 3 所示。2.3 分模块设计2.3.1 浮点数定点化CNN 训练完成得到模型的参数分别为各卷89第 30 卷一种基于 FPGA 的卷积神经网络加速器实现方案 图 3 五级流水线架构积层所需要的卷积核权值及其偏置的值,经过软件部分的训练,上述参数值大小介于-10

15、与 10之间。对于 FPGA 而言,不能直接处理浮点数,处理正负数小数需要将其定点化为二进制补码。Holt 等人12研究发现 16bit 定点数既能维持一定的分类精度,也能有效地降低能耗。在 16bit中,第一位为符号位,0 代表正,1 代表负,随后五位为整数部分,最后 10 位为小数部分。2.3.2 缓存模块和输入控制模块对于 CNN 的硬件实现来说,待识别的图像数据输入、每层的特征输出都是需要下一级处理的数据,选择合适的缓存方案来保存这些数据显得尤为关键。以待识别的图像输入数据为例,图像数据是 3232bit,考虑到后续卷积操作中卷积核大小为 55,相较于直接采用 5 组寄存器的行缓存结构

16、,采用 4 组寄存器串联和一条数据输入流组成 5 行行缓存结构不仅更能节省FPGA 片上资源,而且更适合需要快速读入缓存数据的情况。读取图像像素数据流是串行读入,在每个时钟周期,优先读取的数据从左到右,从上到下依次流入。该结构如图 4 所示。图 4 5 行行缓存结构在上述行缓存结构中,在每个时钟周期,卷积窗口从左至右,从上到下移动一个像素,实现每个窗口下的卷积运算。在卷积层与池化层之间的缓存器中,在每个时钟周期,22 池化窗口从左往右、从上至下依次平移一个像素,对两行缓存数据进行最大池化操作。控制模块主要是通过输出使能信号来控制池化层 S2、卷积层 C3、池化层 S4、卷积层 C5 的数据输入

17、输出。卷积层 C1 即时处理串行流入的数据,由卷积窗口在像素值上左右上下滑动,横向上,在卷积窗口滑动至第 28 个像素值后需要在第二行的第一个像素值继续向右滑动,滑动至第 5 行第 5 个像素值之后,卷积层 C1 输出第一个卷积窗口的卷积结果。图解如图 5 所示。图 5 控制模块 C1 图解池化层 S2 在接收到 C1 层第一个卷积结果的同时开始工作,因此当池化层 S2 的计数器,经过 432+5=133 个时钟后,S2 的使能信号 s2_en 置为高电平 1,接收数据。除此以外,池化层S2 还需对卷积层 C1 数据取舍,每 32 个数据中的最后 4 个数据是无效数据。因此池化层 S2 开始工

18、作后,每隔 28 个时钟需要将使能信号由高电平 1 置为低电平 0,低电平持续 4 个时钟周期后再置为高电平 1,往复循环,直到得到所有卷积层 C1 的特征输出,如图 6 所示。图 6 控制模块 S2 图解卷积层 C3 必须等到池化层 S2 输出第一个99北京电子科技学院学报2022 年最大池化结果后开始工作。S2 层输出一个最大池化结果需要四个 C1 层的卷积输出,卷积窗口在第二行像素上滑动到第二个卷积输出后,会得到第一个 S2 层池化结果。所以,320+20=340个时钟周期后,卷积层 C3 开始读入数据。在横向上,池化操作的池化窗口滑动步长为 2,卷积层 C3 的使能信号每隔一个时钟周期

19、高低电平交替变换,即高电平每 2 个时钟周期出现一次,重复 14 次。纵向上步长也为 2,偶数行的池化层 S2 特征输出全部舍去,在使能信号上就表现为重复 14 次高低电平后,使能信号置低电平持续 280 个时钟周期后还需要 40 个时钟周期,共计 320 个周期得到下一行的池化操作输出,并以此规律取遍所有数据。池化层 S2 输入使能信号S2_en 和卷积层 C3 输入使能信号 C3_en 的时序逻辑如图 7 所示。池化层 S4、卷积层 C5 使能信号的获得同上。图 7 使能信号时序逻辑2.3.3 卷积模块CNN 中卷积层是 CNN 中最核心的部分。卷积窗口在输入像素上依次滑动,卷积窗口的每一

20、个权值与窗口内像素点做内积。CNN 模型的通道个数称为深度,二维图像的特征输出由输入深度和卷积核的数量共同决定。对于 LeNet-5 来说,卷积层的卷积运算是建立在多通道的卷积运算基础上,不同通道的卷积运算互不干扰,而且不同通道的卷积运算动作完全一致,因此本文采用核间全并行的方式实现多通道卷积运算,以卷积层 C1 六通道为例,其实现结构如图 8 所示。卷积模块中的卷积操作涉及乘法和加法运算。以 55 卷积窗口和 55 像素卷积操作为图 8 核间全并行实现结构例,需要进行 25 次乘法操作。伪代码如下所示。for(x=0;x Row;x+)begin:rowsfor(y=0;y column;y

21、+)begin:columns mult mult55(.ina(buffer),.inb(filter),.dout(mult55);卷积模块中的加法操作即是对卷积窗口中得到的 25 个乘法结果进行累加得到一个卷积窗口的卷积结果。为了发挥 FPGA 并行计算的优势,采用加法树结构实现核内运算的部分并行,如图 9 所示。图 9 卷积加法树结构每个时钟下进行两两加法求和,第一轮一个时钟周期内并行执行 12 组加法运算,第二轮一个时钟周期内并行执行 6 组加法运算,以此类推,第五轮得到最终卷积结果。相较于普通串行001第 30 卷一种基于 FPGA 的卷积神经网络加速器实现方案 实现的累加运算,使

22、用加法树结构,可以实现并行高效的累加运算。卷积操作的结构方案如图10 所示,因篇幅原因,加法树只画一部分。图 10 卷积操作结构方案综上,考虑到采用核间全并行、核内部分并行的方式实现卷积层的卷积运算操作,卷积层的输出采用输出部分并行的方式实现,不同通道的卷积运算结果并行输出,相同通道的卷积核滑动运算结果串行输出。卷积模块后,需要对卷积结果进行 Relu 函数激活。Relu 模块采用的激活函数如下所示。y=x x 00 x 0 Relu 函数设计实现代码如下。module relu(input signedBIT_WIDTH-1 0 relu_in,output signedBIT_WIDTH-

23、1 0 relu_dout);assign relu_out=(relu_inBIT_WIDTH-1)0:relu_in;endmodule2.3.4 池化模块池化层主要通过减少网络的参数来减小计算量,并且能够在一定程度上控制过拟合。本文采用最大池化方案,相较于卷积操作,最大池化操作窗口只需要对 22=4 个特征输入进行取大操作。参考卷积模块中的加法树结构,本文中最大池化操作采用如图 11 所示的池化树结构:从两行缓存器中输入待比较的数据,两两比较大小,得到一个池化窗口四个特征输入的最大值输出。图 11 池化树结构3 实验与实验结果分析本文实验仿真工具采用 Mentor 公司的Modelsim

24、 10.5,通过图 12 所示的仿真结果可以看到,在经历 324+4 个时钟周期(1320ns)后得到卷积层 C1 的输出;在卷积层 C1 输出第一个卷积结果后,经历 32 1+2 个时钟周期(340ns)后得到池化层 S2 的输出,后续的 C3、S4、C5 等层同理。在经过 10735 个时钟周期后得到卷积层 C5 的输出结果。图 12 Modelsim 仿真结果图本文实验选用 Xilinx Zynq 架构的开发板xc7z010clg400-2,CPU 采用主频为 2.3Ghz 的 i5-6300HQ 处理器。在相同的权值数据和模型下,在 Vivado 18.3 下综合,各资源占用情况与其他

25、相关研究对比如表 1 所示。表 1 资源占用情况对比资源LUTLUTRAMFFDSPBUFG本文利用量695701921009915001利用比16.06%0.11%1.17%41.67%3.13%文献11利用量393977238421831722文献13利用量237294753270832052图 13 为综合后时序报告,时钟信号的最差负松弛 WNS 指标为 2.296ns。在不同 FPGA 平台的纵向对比上,计算性101北京电子科技学院学报2022 年图 13 综合时序报告能是一个比较关键的指标,通常用单位 GOP/s(每秒十亿次运算数)来描述,计算公式如式 1。P=OptFrem/Clk

26、_num式 1其中 P 代表计算性能,Clk_num 是总执行时钟周期数,即完成运算所需要的时钟周期的个数,Opt 是 CNN 中涉及乘加运算的总运算数,Frem是最高时钟频率,单位为 MHz。各层的运算数如表 2 所示。表 2 各层运算数神经网络层运算数卷积层 C1649252828池化层 S231414卷积层 C37249251010池化层 S431655卷积层 C5120551649总运算数16936188经分析统计,本方案前向预测过程的总运算数为 16936188 次。在 Vivado 中,Frem最高时钟频率由公式 2 得到,其中 T 为综合预设时钟周期。本 文 预 设 时 钟 周

27、期 T 为 10ns,WNS 为2.296ns,可以计算得到本方案最大时钟频率为 129.8MHz。Frem=1/(T-WNS)式 2把上述参数,代入式 1,可以得到本方案的计算性能为P=16936188129.8Mhz/10735=204.78GOP/s 本方案设计卷积-池化-卷积-池化-卷积五级流水线结构来提高系统吞吐量。吞吐量 TPS的计算如式 3 所示。TPS=(BITSFremN)/t式 3BITS 为 t 时间内运算的比特数,Frem是最高时钟频率,N 为流水线级数。在最高时钟频率129.8MHz 下系统需要经历 10735 个时钟周期得到运算结果,即 t=8270.4ns 后得到

28、结果。本方案的系统吞吐量为TPS=(323216129.84)/8270.4ns=1028.56Gbit/s 在 129.8MHz 最大时钟频率下,表 3 列出了本方案与其他方案在计算性能和功耗方面的对比。文献11和文献15采用 Zynq 系列开发板,处理精度采用 8bit 定点数,能够以较小的功耗实现加速设计,但是相较于 16bit 定点数,计算精度和计算性能都存在差距。相较于其他文献方案,本文方案能效比没有太大优势:相较于文献14,本文方案有较低的功耗;相较于文献15和文献16,本文方案有较高的计算性能;相较于文献17,本文方案,在计算性能没有明显优势的情况下,有着较低的功耗。表 3 加速

29、器方案性能能耗对比方案平台精度功耗/W计算性能/GOP/s能效比/GOP/(sW)文献14ZynqXC7Z03516bit18.54542.829.28文献15ZynqXC7Z0208bit3.584.324.08文献16ZynqXC7Z04516bit9.63136.9714.22文献17Virtex-7VX690T16bit30.2565.918.73文献11Zynq-XC7Z1008bit2.4780.8832.74本文Zynq-XC7Z01016bit14.967 204.7813.68本硬件加速方案和在采用主频为 2.3Ghz 的CPU 下基于 python 实现 LeNet-5 网

30、络的正向预测的所需时间对比如表 4 所示,较 CPU 实现速度提升近 337 倍,实现了 CNN 加速功能。表 4 计算时间对比平台FPGACPU0.0827ms25.9ms4 结语 本文通过对一种典型的 CNN 的权值参数和网络结构进行分析,提出了一种 CNN 加速器硬201第 30 卷一种基于 FPGA 的卷积神经网络加速器实现方案 件实现方案:采用 16 位定点量化方案和一种新的行缓存乘法-加法树结构,设计卷积-池化-卷积-池化-卷积五级流水线结构实现卷积核间全并行、核内部分并行、输出部分并行的卷积池化方案。在 129.8MHz 最高时钟频率和定点化16bit 精度的实验情况下,系统对单

31、张图片的处理速 度 较 CPU 提 高 近 337 倍。在 功 耗 为14.967W 的 情 况 下,系 统 计 算 性 能 达204.78GOP/s,能效比为 13.68GOP/(sW),系统吞吐量为 1028.56Gbit/s。后续工作将集中以下两点:1.对定点数精度选择带来收益损失进行研究;2.选择更复杂的神经网络模型,在提高运算量的基础上优化加速器软硬协同结构,在降低片上资源消耗的基础上进一步提高加速器的性能。参考文献 1 张珂,冯晓晗,郭玉荣,等.图像分类的深度卷积神经网络模型综述J.中国图象图形学报,2021,26(10):2305-2325.2 周飞燕,金林鹏,董军.卷积神经网络

32、研究综述 J.计 算 机 学 报,2017,40(6):1229-1251.3 李振亮,李波.基于矩阵分解的卷积神经网络改进方法J/OL.计算机应用:1-82022-06-11.4 J.Shen,Y.Huang,M.Wen and C.Zhang,Toward an Efficient Deep Pipelined Template-Based Architecture for Accelerating the Entire2-D and 3-D CNNs on FPGA,in IEEETransactions on Computer-Aided Design of In-tegrated C

33、ircuits and Systems,vol.39,no.7,pp.1442-1455,July 2020,doi:10.1109/TCAD.2019.2912894.5 Ma Y,Cao Y,Vrudhula S,et al.OptimizingLoop Operation and Dataflow in FPGA Accel-eration of Deep Convolutional Neural NetworksC/Acm/sigda International SymposiumonField-programmableGateArrays.ACM,2017.6 秦华标,曹钦平.基于

34、FPGA 的卷积神经网络硬件加速器设计J.电子与信息学报,2019,41(11):2599-2605.7 余子健.基于 FPGA 的卷积神经网络加速器D.杭州:浙江大学,2016.8 王巍,周凯利,王伊昌,等.卷积神经网络(CNN)算法的 FPGA 并行结构设计J.微电子学与计算机,2019,36(4):57-62+66.9 Wang Z,Xu K,Wu S,et al.Sparse-YOLO:Hardware/Software Co-Design of an FPGAAccelerator for YOLOv2 J.IEEE Access,2020,PP(99):1-1.10 Yang Y,

35、Huang Q,Wu B,et al.Synetgy:Al-gorithm-hardware Co-design for ConvNet Ac-celerators on Embedded FPGAsJ.2018.11 武世雄,高巍,尹震宇,等.面向 ZYNQ SoC的卷积神经网络加速器研究J/OL.小型微型计算机系统:1-82021-12-29.12 Holt J L,Baker T E.Back propagation simu-lations using limited precision calculationsC/Neural Networks,1991.IJCNN-91-Seatt

36、leInternationalJointConferenceon.IEEE,2002.13 张榜,来金梅.一种基于 FPGA 的卷积神经网络加速器的设计与实现J.复旦学报(自然科学版),2018,57(2):236-242.14 崔江伟,周勇胜,张帆,等.基于流水线架构的卷积神经网络 FPGA 实现J.北京化工大学学报(自然科学版),2021,48(5):111-118.15 Guo K,Sui L,Qiu J,et al.Angel-Eye:AComplete Design Flow for Mapping CNN OntoEmbedded FPGAJ.IEEE Transactions o

37、nComputer-Aided Design of Integrated Circuitsand Systems,2017:1-1.16 Qiu J,Song S,Wang Y,et al.Going Deeper301北京电子科技学院学报2022 年with Embedded FPGA Platform for Convolu-tional Neural NetworkC/the 2016 ACM/SIGDA International Symposium.ACM,2016.17 Li H,Fan X,Li J,et al.A high performanceFPGA-based accel

38、erator for large-scale convo-lutional neural networksC/2016 26th In-ternational Conference on Field ProgrammableLogic and Applications(FPL).IEEE,2016.An FPGA-based Implementation of ConvolutionalNeural Network AcceleratorLI Li CHEN Xinyu GAO WenbinBeijing Electronic Science and Technology Institutio

39、n,Beijing 100070,P.R.ChinaAbstract:In recent years,convolutional neural network(CNN)is widely used in field of artificial in-telligence thanks to excellent algorithm performance.Due to high parallelism of the CNN modelstructure and the convolution operation,FPGA has been a promising hardware solutio

40、n to acceleratingthe CNN.For the typical CNN network LeNet-5,in this paper an acceleration scheme adopting a conv-olutional-pooling-convolutional-pooling-convolutional five-level interlayer pipeline architecture is pro-posed,where hardware acceleration of CNN convolution pooling operation is realize

41、d with full parallel-ism between convolution kernels and partial parallelism within convolution kernel and at the output.Ex-periment results show that speed of system processing a single image increases by about 337 times com-pared with that of the CPU in the case of 129.8Mhz clock frequency and 16bits fixed-point precision,a-chieving energy efficiency ratio of 13.68GOP/(sW).Keywords:convolutional neural network(CNN);FPGA;hardware acceleration;pipeline architecture(责任编辑:夏 超)401

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 品牌综合 > 临存文档

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服