论文部分内容阅读
卷积神经网络(Convolutional Neural Network, CNN)以其特有的网络结构在语音识别和图像处理等方面有着独特的优越性,得到越来越广泛的关注和应用,其计算规模越来越大,模型层数越来越多。随着微电子制造工艺和集成电路设计的进步,现场可编程门阵列(Field Programmable Gate Array,FPGA)得到了快速发展,因为其资源丰富、设计灵活、功耗低的特点,已经被广泛使用。在FPGA的众多应用中,具有计算密集、存储密集特点的卷积神经网络的研究与实现在视频图像处理等领域具有重要的理论意义和应用价值。 论文首先对卷积神经网络前向传输模型进行研究,深入分析了模型中几种主要运算的计算方法,包括二维卷积运算、三维卷积运算、非线性函数运算、池化操作和分类器。然后为了分析在FPGA芯片上实现卷积神经网络的并行性,论文研究了二维和三维卷积运算的数据相关性,并提出了一种新的三维卷积运算模型,利用在FPGA中实现的中间数据延迟线IDDL(Intermediate Data Delay Line)避免输入数据的重复载入,极大提高了计算模型的计算性能,同时,在三维卷积运算模型中定制了一些硬件结构来降低功耗。论文选择 Xilinx公司 Zynq系列芯片,采用高层次综合工具 HLS(High Level Synthesis)实现卷积神经网络。Zynq中PS(Processing System)部分负责数据传输,PL(Programmable Logic)部分负责模型中的主要运算,实现了论文提出的三维卷积运算模型和一个结构简单的二维卷积神经网络运算模型。二维卷积神经网络运算模型中包含二维卷积运算、非线性函数运算、池化操作和分类器。 论文对实现的三维卷积运算模型和二维卷积神经网络运算模型的资源占用率和功耗情况进行了详细的分析,计算性能与 CPU和 GPU进行了对比。当系统时钟为100M时,三维卷积运算模型处理30张大小为256×256的灰度特征图与11×11×4的卷积核卷积,只需要5.9ms,并达到268.07 GOPS(Giga Operations Per Second)的速度。设计实现的二维卷积神经网络模型对一幅输入图像的处理时间为7.80E-6s。论文提出的三维卷积运算模块的计算性能与CPU相比,平均快14倍,略快于GPU。本文基于FPGA实现的二维卷积神经网络模型的速度是GPU的0.66倍,是CPU的3.69倍。对于每瓦特的速度,FPGA的性能远远优于CPU和GPU。