论文部分内容阅读
基于深度卷积神经网络(Deep Convolutional Neural Network,DCNN)的深度学习算法在图像分类、视频分析和语音识别等众多应用中显示出优于传统算法的巨大优势。DCNN的工作原理是对输入网络中的图片,由多个卷积层从输入数据中提取特征,然后经过分类层判断,最终得到输出结果。由于卷积层与全连接层是计算密集型运算,因此DCNN很难在低功耗的系统中实现实时的分类效果。本文基于开放运算语言(Open Computing Language,OpenCL)异构并行计算框架提出了一种针对低成本、低功耗SoC-FPGA的深度卷积神经网络加速系统。本文首先对DCNN的计算复杂度和并行度进行了分析,然后在OpenCL异构并行计算框架下,设计了卷积、池化、局部响应归一化、数据传入与数据传出五个具有特殊数据重用和任务映射方案的加速内核,由AlteraOpenCL扩展管道连接构成一个深度流水线结构,可以执行一系列基本的CNN运算,而无需再将层间数据存储回外部存储器中。这种深度流水结构能显著减少对SoC-FPGA至关重要的内存带宽需求。本文最终的设计是在Cyclone-VSoC-FPGA硬核处理器上实现的,为了验证本文提出的DCNN加速系统的通用性,本文选用了 AlexNet和VGG-16两个不同深度的CNN模型分别作了物体分类和人脸识别两个应用的加速实验,对于AlexNet网络,本文设计的平均分类时间为120毫秒/张,系统功耗为2.1瓦。将本文设计的DCNN加速系统与目前提出的基于移动CPU和GPU上最先进的软件加速器相比,在功耗相似的前提下,结果显示本文的加速系统在实时性上分别达到了 170倍和4倍的加速比。由于本文工作是首次针对低成本、低功耗的SoC-FPGA基于OpenCL的深度卷积神经加速系统的研究,为了与其他基于高端FPGA的设计进行比较,本文在Stratix-VA7FPGA重新编译了本文所提出的DCNN加速系统,并且在DE5-Net开发板上测试了性能,对于AlexNet网络,其平均分类时间为10.5毫秒/张,结果与已有的FPGA加速系统进行比较,在DSP资源和功耗相似的前提下,本文的设计将DCNN运行时间提高了 4.3倍。