毕业论文课题相关文献综述
1.1 研究背景及国内外研究现状
卷积神经网络(CNN)现在是许多学科研究的热点之一,被广泛用于多种领域,特别是在模式识别、图像处理、计算机视觉等方面。但是卷积神经网络的主要问题在于计算量太大,特别是其中的卷积层,以Alex-Net为例,占用了90%[1]以上的计算量,卷积神经网络的硬件加速逐渐成为一个热门的研究问题。由于卷积神经网络自身特点,层与层之间可以看做顺序执行,而层内则有着较高的并行性,因此提高层内计算的并行度成为加速卷积神经网络的一个重要方向。
在2009,Farabet等人[2]提出来一种基于FPGA的CNN,该结构使用卷积单元来处理数据,并使用一个通用CPU来控制卷积单元。但是由于FPGA资源的限制,该平台只实现了一个卷积核。如果计算需要多个卷积核,那么只能串行执行。2013年,Peemen等人[3]实现了一个以存储为中心的CNN协处理器,它利用CNN大量内存访问的特点,在存储部分使用SRAM,而PE部分使用SIMD指令。2015年,清华大学的方睿等人,提出一种多级流水线的管道加速器方案。CPU通过PCIE通道提供数据并进行控制整个逻辑单元。近年来,中科院的陈天石等人提出来DianNao系列的加速器[4],目前是卷积神经网络硬件加速领域的较优的一种方案,可以实现多种结构的卷积网络,如MLP、CNN、DNN。存硬件实现的卷积神经网络加速器通用性不好。尽管可以通过配置来实现更多的结构,但是它的灵活性远不如通用CPU。因此可重构加速器与通用CPU相结合的模式是一种高效地解决卷积神经网络加速问题的方案。
但是在这种定制结构中,CPU的选择具有极大的挑战。通常商业授权的IP会限制对指令集的修改,影响卷积神经网络加速器的实现效果。并且,商业授权的IP通常需要高昂的授权费,不利于高校和个人的研究。因此需要一个开源的指令集架构来进行定制加速器的研究。
RISC-V是一种新的开源指令集架构(ISA)[5],目前已经有了一个完整的硬件和硬件生态[6],包括完整的指令集、相应的编译器、模拟器和工具链。利用开源的RISC-V处理器,研究人员可以方便地将可重构加速器整合进SOC,并拓展相应的指令集来实现加速器的软件接口。
1.2 设计目标及平台的选择
本设计主要包含三个部分,RISC-V Core和卷积神经网络加速器,以及将两部分结合起来实现完整功能的SOC部分。卷积神经网络的硬件加速通常可以采用ASIC或者FPGA来实现,两者均是采用定制的硬件电路来加速算法。通常ASIC的性能跟高,功耗更低,但是由于成本过高,因此在本设计中采用FPGA作为硬件平台。
由于硬件实现CNN加速器需要较多资源,因此需要一款大容量的FPGA芯片,以实现更好的硬件加速效果。考虑各方面因素,最终选取了Nexys4 DDR作为硬件平台。Nexys4 DDR上使用Xilinx XC7A100T FPGA芯片。芯片包含了15,850个可编程逻辑单元,每个逻辑单元有4个6输入查找表和8个触发器。芯片有4,860 Kbits的块存储器,240个DSP运算单元,逻辑资源相对丰富。开发板引出数十个IO口和一个VGA接口,拥有128MB的DDR2,足够该系统使用。
1.3 研究意义及前景
卷积神经网络作为目前深度学习的一个重要手段,由于计算量巨大的问题限制了其应用于发展,通常需要在高性能的运算平台上进行模型的推演,因此主要被应用在主机场景,而非便携式应用。而利用卷积神经网络层内并行的特点,对卷积神经网络进行硬件加速,从而极大地提高了卷积网络的运行速度,使得便携设备也可以进行卷积神经网络运算,极大地拓展了深度学习的应用场合。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。