论文部分内容阅读
随着芯片制造工艺和协处理器的不断发展,FPGA芯片内部集成了越来越多的DSP以及片内存储资源,使得FPGA在计算密集型硬件加速方面具有巨大优势。作为典型的计算密集型应用,深度神经网络中的卷积神经网络在人脸识别、图像分割等领域都具有重要的指导意义和应用价值,一直备受学术界和工业界的青睐。然而,目前通用处理器实现卷积神经网络的方法,无法充分挖掘网络模型内部的并行性。在目前对实时性和低功耗的应用需求越来越旺盛的前提下,越来越多的研究人员开始采用FPGA对基于卷积神经网络的应用进行开发。Alexnet作为卷积神经网络领域内具有重要历史意义的一个网络模型,不仅证明了卷积神经网络在复杂模型下的有效性,并使用GPU使大数据训练在可接受的时间范围内得到了结果。因此,研究Alexnet模型的计算加速对复杂模型下卷积神经网络加速的研究具有重要意义。论文以此为研究背景,在充分研究和分析了当前研究成果的基础之上,设计实现了一种基于FPGA的Alexnet前向网络加速器,通过优化模型结构、流水式层间处理以及提高网络并行性来提高网络的整体识别速度。本文的主要研究工作包括:1、对Alexnet前向识别网络性能的主要影响因素进行了研究并对网络模型中激活函数和池化模块进行了优化改进。论文首先对网络模型中存在的并行性计算进行了研究。其次,给出了前向计算过程的分析以及乘法计算量的分析。最后,分析激活函数和池化模块的计算量,并结合激活函数和池化模块比较计算输出最大值的特点以及FPGA的特性,对网络模型进行了优化。在保证输出结果不变的前提下,减少了 397428次比较运算,占激活函数和池化模块优化前计算量的76.4%。2、完成了基于FPGA的Alexnet前向网络关键模块的优化设计。本文首先完成了卷积神经网络内部基本单元的设计及其二维并行加速的设计,分析了二维并行加速的加速比。其次,根据每层输出的缓存结果的数据量大小,对芯片内部的块RAM资源进行合理的分配,从而确定了每层网络的并行度,完成了网络内每一层结构的设计。3、完成了基于FPGA的Alexnet前向网络实现及性能分析。基于FPGA开发平台,完成Alexnet前向网络整体框架设计及实现,编写仿真文件进行验证,并完成对资源使用情况以及设计性能进行分析。给出了前向识别网络中每一层具体所需的计算时间,列出了加速器设计整体的资源使用情况,完成了与GPU、CPU识别速率的对比,并对识别结果的正确性进行了验证。