基于FPGA的Alexnet前向网络加速
发布时间:2020-04-02 01:51
【摘要】:随着芯片制造工艺和协处理器的不断发展,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识别速率的对比,并对识别结果的正确性进行了验证。
【图文】:
法中复杂的数据重建和特征提取[29]过程。逡逑2.1.1卷积神经网络前向传播网络结构逡逑卷积神经网络是一种前馈神经网络,包含多个隐藏层,如图2-1所示,每层逡逑由多个独立地神经元节点组成的二维平面组成。逡逑S\邋逦逡逑「逡逑\逦A逦逦—逡逑\邋i逡逑1邋_逡逑v—.—''逦,逦^逡逑Image逦Convolution邋Layers逡逑图2-1邋—般卷积神经网络结构逡逑首先对输入的图像数据进行卷积处理,并对卷积后的数据加偏置,得到特征逡逑映射图谱,如C1层所示。然后对特征映射图中的像素值进行池化操作,其中池逡逑化可分为最大池化和均值池化。对池化的数据再进行加权值,加偏置,并通过一逡逑6逡逑
定数目的特征图谱(featuremaps)构成[31]。特征图谱上的每一个节点与上一层的逡逑邻近节点相连,这些相邻的节点构成的区域就组成了该节点在上一层的局部感知逡逑野[32]。如图2-2所示,为了得到下一层的特征图谱,,输入特征图谱首先与训练好逡逑的权值数据做卷积运算,这些权值数据组成的矩阵又称为滤波器或特征预测器,逡逑然后将得到的特征图谱传输至激活函数。通过应用不同的特征检测器得到新的特逡逑征图谱。卷积运算三维卷积公式定义为:逡逑K-\邋K-\逡逑(2-D逡逑?=0邋//=0邋^'=0逡逑其中,%是第m帧在位置(U)处输出的特征图谱的值;.是第n帧输入逡逑图像在位置处的值;逦是连接第n帧输入图像和第m帧输出图像的卷积逡逑核在位置(墜方)处的权重;是在第m帧输出图像处添加的偏置。逡逑 ̄ ̄|逦/邋逦逦n\邋M逡逑喊喊逦\逡逑彟^k 逦逦逦邋\逡逑■L4-]N
本文编号:2611272
【图文】:
法中复杂的数据重建和特征提取[29]过程。逡逑2.1.1卷积神经网络前向传播网络结构逡逑卷积神经网络是一种前馈神经网络,包含多个隐藏层,如图2-1所示,每层逡逑由多个独立地神经元节点组成的二维平面组成。逡逑S\邋逦逡逑「逡逑\逦A逦逦—逡逑\邋i逡逑1邋_逡逑v—.—''逦,逦^逡逑Image逦Convolution邋Layers逡逑图2-1邋—般卷积神经网络结构逡逑首先对输入的图像数据进行卷积处理,并对卷积后的数据加偏置,得到特征逡逑映射图谱,如C1层所示。然后对特征映射图中的像素值进行池化操作,其中池逡逑化可分为最大池化和均值池化。对池化的数据再进行加权值,加偏置,并通过一逡逑6逡逑
定数目的特征图谱(featuremaps)构成[31]。特征图谱上的每一个节点与上一层的逡逑邻近节点相连,这些相邻的节点构成的区域就组成了该节点在上一层的局部感知逡逑野[32]。如图2-2所示,为了得到下一层的特征图谱,,输入特征图谱首先与训练好逡逑的权值数据做卷积运算,这些权值数据组成的矩阵又称为滤波器或特征预测器,逡逑然后将得到的特征图谱传输至激活函数。通过应用不同的特征检测器得到新的特逡逑征图谱。卷积运算三维卷积公式定义为:逡逑K-\邋K-\逡逑(2-D逡逑?=0邋//=0邋^'=0逡逑其中,%是第m帧在位置(U)处输出的特征图谱的值;.是第n帧输入逡逑图像在位置处的值;逦是连接第n帧输入图像和第m帧输出图像的卷积逡逑核在位置(墜方)处的权重;是在第m帧输出图像处添加的偏置。逡逑 ̄ ̄|逦/邋逦逦n\邋M逡逑喊喊逦\逡逑彟^k 逦逦逦邋\逡逑■L4-]N
本文编号:2611272
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/2611272.html