论文部分内容阅读
随着神经网络技术的迅猛发展,卷积神经网络正逐渐成为图像处理领域的首选算法,但卷积神经网络庞大的计算量使得其难以在各类移动应用场景中大规模推广使用。因此,利用适用于并行计算的FPGA来实现卷积神经网络已成为热点。但FPGA虽适合设计并行计算,却并不适合设计通用处理器可轻易实现的各类业务逻辑,因此很多应用采取的方案是同时使用FPGA和微处理器进行设计,这种设计的缺点是增加了开发成本,且不利于提升系统性能。为解决这一问题,Xilinx公司率先推出了Zynq系列平台,该平台是行业内首个将FPGA和微处理器集成进一个芯片中的平台,可轻松解决传统的双芯片设计带来的通信成本高、开发成本高等问题,适合需要进行高性能计算的移动应用场景。本研究基于Xilinx Zynq平台,设计了一种易于拓展的卷积神经网络计算模型。本文首先介绍了卷积神经网络和Xilinx Zynq平台,并对卷积神经网络在FPGA上实现硬件加速中的关键问题进行了分析。然后对本研究中基于Xilinx Zynq平台设计的卷积神经网络计算模型进行了详细的介绍,并针对计算模型的拓展给出了若干优化设计。最后,本文对本研究设计的计算模型进行了实验并对其可拓展性进行了分析,实验和分析表明本计算模型具有较好的计算性能,且具有良好的拓展性。本研究的计算模型设计了一个乘加器计算阵列来实现高性能并行计算,该阵列对卷积神经网络进行逐层加速。此外,还设计了流计算层模块,将若干会影响计算阵列效率的输入通道数和输出通道数较少的层固化到FPGA中对输入数据进行流式计算。流计算层模块不需要对权重数据以及计算的中间数据在外部内存上进行缓存,因此不会产生与外部内存的数据传输,有利于提高计算模型整体的计算效率和部署的灵活性。在Xilinx Zynq 7020平台上,16位定点数的计算模型在100MHz运行频率下实现了11.23帧每秒的检测速度,计算性能达到了30.37 GOP/s。对比通用处理器i5-8250U,该计算模型的计算性能是通用处理器的4.88倍,能耗比是其33.29倍。对比同类型的其他研究,本计算模型同样具有一定的优势。此外,本计算模型在多个方面均具有良好的可拓展性,支持动态地获取和配置网络结构,能够在运行时调整计算模型中的网络结构,且可以实现同时对多个网络进行加速计算。