论文部分内容阅读
近年来,在图像识别领域,卷积神经网络得到了高速发展和广泛重视。而神经网络中大规模的矩阵乘加运算并不适应于当前复杂的CPU结构,因此普遍使用基于GPU的异构计算平台的解决方案进行加速。但是GPU平台由于功耗较高,在部署方面存在局限性,而FPGA等低功耗平台同样适合于神经网络的部署,本文针对卷积神经网络在FPGA可重构平台上的解决方案,主要做出了以下贡献: 1.从神经网络结构和硬件结构两方面提出神经网络加速方案。在网络结构方面,本文提出了通过动态范围精度量化、网络剪枝与改变数据编码方式这三个方面对网络结构进行优化,一定程度上降低了网络对于计算和访存的需求,为FPGA平台上神经网络的部署提供了基础。在硬件结构方面,本文提出了片上队列缓冲、卷积操作向量化以及池化操作维度分解等加速方案,并为神经网络在FPGA平台上的运行设计了一套完整结构。 2.提出了一套软硬件结合的神经网络完整部署方案。本文提出了一套端到端的将现有神经网络部署到FPGA平台的模型与方案,称为FPNN。通过FPNN,用户只需输入网络的结构定义,工具便可自动进行网络结构的优化并利用OpenCL模型生成FPGA的硬件配置并完成部署。 3.在Arria10FPGA平台上验证并对系统设计进行测评。为验证神经网络在FPGA平台上的实际效果,选取了利用AlexNet与Faster-RCNN网络的两个典型场景,在基于Altera Atria10FPGA的DE5a-net开发板以及主流CPU、GPU平台上进行测试。测试结果表明,在结果准确度仅有微小下降的情况下,FPGA平台的神经网络运行速度远超CPU平台,并能在仅消耗十分之一功耗的前提下达到与Nvidia Titan Xp GPU相近的运行速度。