论文部分内容阅读
卷积神经网络(Convolutional Neural Networks,CNN)作为深度学习的代表算法之一,在图片分类、目标检测、语音识别等方面得到了广泛的应用。CNN需要的计算量巨大,但传统的嵌入式系统计算能力十分有限,很难满足在自动驾驶等应用场景中的实时性要求,因此迫切需要设计新的推理加速系统来提升其计算能力。Zynq作为一个CPU+FPGA的新型异构计算平台,在实现CNN加速方面具有巨大的潜力。本文基于Zynq实现了能适应多种CNN模型的嵌入式推理加速系统。首先,论文总结了神经网络理论的发展演进过程,并从3个经典的CNN模型中分离出4个基本算子;然后,提出了利用Zynq进行CNN推理的软硬件协同设计方案,并对CNN的定点数量化进行了研究;接着,研究了每个算子在FPGA上进行硬件加速的方法,针对FPGA的结构特点围绕数据复用和并行度探索问题进行深入研究,并设计出相应的IP核;然后,利用设计的IP核在Zynq平台上搭建出嵌入式CNN推理加速系统,完成了相关的驱动设计和软件开发;最后,利用该系统对CNN模型LeNet-5、AlexNet和VGG-16进行了验证和测试。结果表明,本文设计的推理加速系统能够适应卷积核大小不同的CNN模型。经ZedBoard平台测试,系统对CNN模型LeNet-5、AlexNet和VGG-16的实测性能分别为0.08GOP/s、8.4GOP/s和32.6GOP/s。针对运算量最大的VGG-16模型,该加速系统和CPU的对比测试结果表明,在保持了精度损失小于3%的条件下,本文设计的加速系统的速度是CPU的32.1倍,效能为其503倍。