您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 基于FPGA的卷积神经网络并行结构研究
分类号:密级:UDC:编号:工学博士学位论文基于FPGA的卷积神经网络并行结构研究博士研究生:陆志坚指导教师:顾国昌教授学科、专业:计算机应用技术哈尔滨工程大学2013年6月分类号:密级:UDC:编号:工学博士学位论文基于FPGA的卷积神经网络并行结构研究博士研究生:陆志坚指导教师:顾国昌教授学位级别:工学博士学科、专业:计算机应用技术所在单位:计算机科学与技术学院论文提交日期:2013年5月论文答辩日期:2013年6月学位授予单位:哈尔滨工程大学ClassifiedIndex:TP391U.D.C:ADissertationfortheDegreeofD.EngTheResearchonParallelArchitectureforFPGA-basedConvolutionalNeuralNetworksCandidate:LuZhijianSupervisor:Prof.GuGuochangAcademicDegreeAppliedfor:DoctorofEngineeringSpecialty:ComputerAppliedTechnologyDateofSubmission:May,2013DateofOralExamination:June,2013University:HarbinEngineeringUniversity哈尔滨工程大学学位论文原创性声明本人郑重声明:本论文的所有工作,是在导师的指导下,由作者本人独立完成的。有关观点、方法、数据和文献的引用已在文中指出,并与参考文献相对应。除文中已注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者(签字):日期:年月日哈尔滨工程大学学位论文授权使用声明本人完全了解学校保护知识产权的有关规定,即研究生在校攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨工程大学有权保留并向国家有关部门或机构送交论文的复印件。本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本学位论文,可以公布论文的全部内容。同时本人保证毕业后结合学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈尔滨工程大学。涉密学位论文待解密后适用本声明。本论文(□在授予学位后即可□在授予学位12个月后□解密后)由哈尔滨工程大学送交有关部门进行保存、汇编等。作者(签字):导师(签字):日期:年月日年月日基于FPGA的卷积神经网络并行结构研究摘要随着集成电路设计和制造工艺的进步,具有高速、高密度可编程逻辑资源的现场可编程门阵列(FieldProgrammableGateArray,FPGA)得到了快速发展,单芯片的集成度越来越高。当前主流的FPGA芯片中包含了大量的可编程逻辑资源、可编程互联资源、存储资源,并通过集成DSP硬核支持高性能乘法部件的实现,这些特点使得FPGA成为实现计算密集型应用加速的一种非常重要的选择。在众多的计算密集型应用中,卷积神经网络(ConvolutionalNeuralNetwork,CNN)作为典型的多层神经网络始终处于研究的核心地位,对其进行深入的研究,在模式识别、科学计算等领域具有重要的理论意义和应用价值。卷积神经网络的并行体系结构是CNN整体计算架构的基础和核心。本文在现有工作的基础上,系统地研究了卷积神经网络并行结构,主要的研究内容包括以下几个方面:卷积神经网络的计算具有多种并行特征,如何根据不同的并行计算特征设计相应的并行结构,充分开发和利用CNN计算的并行性是卷积神经网络并行计算的一个关键问题。本文基于“主机+FPGA”的计算架构,确定卷积神经网络并行计算单元在整个CNN计算架构中的地位以及与其他部件的接口,设计了一种可配置的CNN计算单元并行结构,该结构采用交叉互联开关控制输入和输出特征映射图与CNN计算单元的连接。应用示例表明该结构能够根据卷积神经网络层内计算的不同特征配置相应的计算结构,有利于充分开发卷积神经网络层内计算的并行性,提高卷积神经网络计算性能。由于FPGA硬件资源的限制,完全并行的CNN计算结构无法在FPGA上实现,只能对部分卷积核进行并行计算,如何把大量的卷积核循环语句映射到数量有限的计算单元仍然是一个需要解决的问题。通过给出CNN层内计算模型的循环表示,然后根据不同的并行计算结构对层内计算进行划分,实现对多个循环迭代的卷积核循环语句调度执行;通过给出不同划分方法的代价函数,能够在资源约束的条件下,获取不同并行计算结构的执行性能,进而为卷积神经网络并行计算结构的选择提供全面和精确的信息。卷积核计算单元的执行效率在很大程度上决定着整个卷积神经网络的性能,其中数据缓存结构的设计是二维卷积计算单元设计中的一个关键问题,缓存结构设计的优劣决定着卷积计算单元的硬件实现代价和性能。现有的二维卷积计算单元的内部缓存结构在实际应用中存在各种不足。本文针对如何提高片上存储资源使用效率的问题,提出了一种存储面积优化的数据缓存结构,采用寄存器轮转策略充分开发卷积计算中的数据重哈尔滨工程大学博士学位论文用,实验结果表明该结构提高了对片外存储器带宽和片上存储资源的利用率;针对如何在存储带宽受限条件下,充分开发卷积计算内在并行性和提高输出数据吞吐率的问题,提出了带宽优化的数据缓存结构,该结构通过采用固定带宽的数据广播策略和单数据流驱动的流水线方式,充分利用了片上移位寄存器资源,实验结果表明该结构在满足输出数据吞吐率最大化的条件下,减少了对片外存储带宽的需求。如何确定卷积神经网络应用不同层中特征映射图的数量是卷积神经网络拓扑结构设计中的一个关键问题,本文在对现有卷积神经网络应用拓扑结构研究的基础上对CNN各层特征映射图数量进行设计空间探索,设计了特征映射图数量可配置的卷积神经网络应用C模型,并在NetBatch分布式计算平台进行训练和测试。实验结果表明,该方法能够确定一类卷积神经网络应用不同层特征映射图数量的边界值,为卷积神经网络应用寄存器传输级(RegisterTransferLevel,RTL)设计提供较为精确的拓扑结构信息。关键词:卷积神经网络;现场可编程门阵列;并行结构;计算划分;数据缓存基于FPGA的卷积神经网络并行结构研究AbstractWithgreatprogressofICdesignandmanufacturingtechnology,FPGAs(Field-ProgrammableGateArrays)withhighspeedandhighcapacityhaveobtainedfastdevelopment.Muchmorelogicresourceshavebeenintegratedonasinglechip.Alargenumberofprogrammablelogic,inter-connectionresourcesandstoragearecontainedinmainstreamFPGAchips.FPGAswithintegratedDSPhardIPscansupporthighperformancecomputingofmultiplication.ThesefeaturesmakeFPGAsbecomeanimportancechoiceforacceleratingcompute-intensiveapplications.Amongmostregardedcompute-intensiveapplications,convolutionalneuralnetworksasoneimportantmultilayerneuralnetworksalwayssitethecentralpositionofresearchsubjectandpresentagreatvalueofsolvingpatternrecognitionproblemsinsciencearea.TheparallelarchitectureofCNN(ConvolutionalNeuralNetwork)isthefundamentalpartofCNNunifiedcomputingframework.Based-onexistingwork,thisthesisresearchesonCNNparallelarchitecturesystematicallyandfollowingcontributionshasbeenmade:TheCNNcomputationexhibitsmultipletypesofparallelism.OneofthemainproblemsofCNNparallelcomputingishowtodesigntheparallelstructureandexploittheparallelismaccordingtothosetypesofparallelism.Based-on“Host+FPGA”computingframework,thepositionoftheparallelcomputingunitsandtheinterfacetootherfunctionunitscanbedecided.AconfigurableCNNcomputingparallelstructurehasbeenproposed,inwhichtheconnectionsbetweentheinputandoutputfeaturemapsandCNNcomputingunitsarecontrolledbycross-connectionswitches.Thepracticalapplicationsshowthatthecomputingstructurescanbeconfiguredbytheproposedstructureaccordingtodifferentarchitecturalcharacters,whichcanfullyexploittheintra-layerparallelismandraisetheperformance.WiththeconstraintsofFPGAresources,implementingcompleteparallelstructuresarenotfeasible.Onlypartsoftheconvolutionkernelscanbeimplementedinparallel.Howtomapnumbersofconvolutionloopstolimitedcomputingelementsisstillaunsolvedproblem.ThisthesispresentstheCNNintra-layercomputingloopmodel,andthensplitstheintra-layercomputationaccordingtodifferentparallelcomputingstructuresandschedulesthemultipleiterationsofconvolutionloopstatements.Theexecutiontimeofdifferentcomputing哈尔滨工程大学博士学位论文structurescanbeobtainedbythegivencostfunctions,whichshowsthedifferentcomputationsplittingmethodswithintheresourceconstraints.TheinformationcanbeusedtochoosedifferentCNNparallelstructures.TheCNNcomputingperformancecanbegreatlyaffectedbythecomputingefficiencyofconvolutio
本文标题:基于FPGA的卷积神经网络并行结构研究
链接地址:https://www.777doc.com/doc-4891387 .html