中国科学院机构知识库网格
Chinese Academy of Sciences Institutional Repositories Grid
基于FPGA的深度卷积神经网络高效计算与加速研究

文献类型:学位论文

作者李钢
答辩日期2018-06
授予单位中国科学院大学
授予地点北京
导师程健
关键词Fpga 卷积神经网络 加速器 分块卷积
英文摘要
近年来,深度卷积神经网络模型被广泛用于各种应用中,如图像分类、物体检测、语音识别等,并且展示了前所未有的高性能。然而,深度模型在提供高精度的同时也引入了巨大的计算复杂度。随着网络模型的加宽和加深,基于CPU的计算系统已经无法满足现实需求。另一方面,虽然GPU具有强大的计算能力,但是受限于体积和能耗,无法高效部署于边缘计算设备,如无人机、可穿戴设备等。因此,专用深度网络加速器受到了越来越多的关注。其中,基于FPGA的神经网络加速器由于具有较好的灵活性和较高的性能功耗比,逐渐成为工业界和学术界的研究焦点。
深度神经网络的计算量、中间结果量和参数量都十分巨大。如何将这类大规模深度网络在资源相对受限的FPGA平台上高效的部署是整体系统能否达到实际需求的关键,因此,本文主要围绕大规模深度卷积神经网络在资源受限FPGA平台上的高效加速而展开。
本文的主要内容和贡献如下:
1.循环分块(Loop Tiling)是基于FPGA的设计中缓解片上存储压力的一种重要方法。然而,卷积操作本身的特性使得相邻分块的边界处存在数据依赖,这样的结果是,片外缓存的数据存在物理不连续的问题,在重新传回片内之前需要进行复杂的数据重组,造成DMA传输的复杂度大大增加,传输延时也随之提高。针对这一问题,本文提出了面向FPGA的大规模深度卷积神经网络优化方法:分块卷积,其目的在于用多个部分区域上的卷积替代整体卷积,从而完全消除不同分块间数据依赖性。我们将分块卷积利用到已有的VGG-16加速器中,结果表明,基于分块卷积的加速器可以充分利用传输带宽,减少DMA数据传输的设计复杂度和配置开销,降低了35\%的系统延时。此外,分块卷积在ILSVRC 12数据集上的分类精度相比于原始模型没有任何损失。
2.DRAM频繁访问是系统功耗和延时的主要来源。高效的计算都需要尽可能减少片外传输,但是对于大规模网络,如VGG-16,当某一层中间结果的绝对数据量大于片内缓存时,仍然无法避免片外传输。我们发现,基于分块卷积的深度卷积神经网络可以很好的进行多层融合,也就是说,当多个卷积层融合在一起进行运算时,我们并不需要将中间层的结果缓存,这样可以大大减少片上缓存的开销。同时,由于分块卷积消除了块间依赖,可以进一步提升加速器的吞吐率。基于此,我们设计了基于分块卷积和多层融合的加速器。我们首次实现了VGG-16网络在中低端资源受限FPGA(Xilinx ZYNQ ZC706)上的高效加速而完全不需要中间结果的片外传输,并且性能高达394.75 GOP/s,帧率达到12.19帧/秒,综合性能达到了28nm工艺中低端FPGA上的最高纪录。我们也用类似的方法在YOLOv2检测模型上做了实验,加速器性能达到263.33 GOP/s,能够满足实时性的需求
源URL[http://ir.ia.ac.cn/handle/173211/21597]  
专题毕业生_硕士学位论文
作者单位中国科学院自动化研究所
推荐引用方式
GB/T 7714
李钢. 基于FPGA的深度卷积神经网络高效计算与加速研究[D]. 北京. 中国科学院大学. 2018.

入库方式: OAI收割

来源:自动化研究所

浏览0
下载0
收藏0
其他版本

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。