基于FPGA的CNN算法加速器的设计开题报告

 2021-11-21 04:11

1. 研究目的与意义(文献综述)

近年来,人工智能技术飞速发展,被广泛的应用于各种领域,可以实现目标识别、智能图像分类以及自动驾驶等[1]。最近,基于现代应用的快速发展,深度学习算法的研究与实现得到了进一步的改进,也成为了越来越多的研究人员进行探索的领域。卷积神经网络(cnn)作为一个从人工神经网络扩展的学习架构,也是深度学习最重要的算法之一,被广泛应用于各种应用中。包括视频监控,机器人视觉,自然语言处理等方面。cnn仿造生物的视知觉机制构建,包含卷积运算且具有多层神经元连接从而在图像识别中实现高精度。最近,基于深度学习算法的现代应用的增长进一步改善了深度卷积神经网络的研究。

由于cnn 的具体计算模式,一般目的处理器不适合cnn实施并很难满足性能要求。基于fpga,asic的各种加速器设计被提出以改善cnn运算性能。因为fpga具有良好的性能,高能效,高并行性,以及可重构的特点[2]。基于fpga 的加速器越来越受到研究人员关注。目前fpga 的开发有两种途径:一种是基于hdl的传统途径;另一种是使用高层次综合工具,如hls。vivadohls可以实现直接使用c,c 对xilinx的fpga器件进行编程,这可以大大加快fpga开发流程。fpga作为一种可重复编程的硬件结构,不但可以实现低功耗的计算而且并行计算的特点刚好与卷积神经网络相契合[3-5]

对于人工智能领域来说,模仿人脑高效准确地从大量感知数据中获得本质信息,一直是模式识别理论研究的核心挑战。2006年,机器学习领域的泰斗hinton指出多层的神经网络结构能够学习到更深刻更本质的特征,并通过“逐层初始化”的训练办法克服了传统神经网络训练瓶颈问题,引领了dl的发展方向[6]。从此,深度学习受到了各国学者的广泛关注,谷歌、微软、ibm、百度等拥有大数据的高科技公司相继投入大量资源进行dl(deeplearning)理论研究。2011年以来,微软研究院和谷歌的语音识别人员采用深度神经网络(deep neuralnetwork,dnn)技术,使语音识别有了突破性进展,识别误差可降低20%-30%[6],2013年百度宣布成立百度研究院,而其第一个研究重点就是dl。cnn是dl中最成功的一个分支,近些年来,卷积神经网络受到了更为广泛的关注。2014年的大型视觉辨识挑战赛中,几乎所有的参赛队伍都采用了卷积神经网络及其变形方法。2015年国际计算机视觉与模式识别会议上关于DL 和 CNN 的研究成果较往年有大幅的提升。2015年9月,微软亚洲研究院的“深层残差网络”在ilsvrc中获得图像分类、定位以及检测全部项目的冠军,如分类方面将错误率降低至4.94%,比人眼辨识(错误率5.1%)更精确[7]。cnn也逐渐广泛用于我们现实生活中。美国电话电报公司将卷积神经网络大量的应用于支票识别系统[8];微软[9]手写识别系统以及google[10]检测街景中人脸系统都使用卷积神经网络实现;tesla公司基于卷积神经网络实现了汽车无人驾驶功能[11];同时卷积神经网络还应用在医疗诊断以及图像复原和分割等多个领域。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 研究的基本内容与方案

FPGA上的CNN加速器设计主要由处理元件(PE),外部存储器和片上/片外互连几个组件组成。其中PE是卷积的基本计算单元。用于处理的所有数据都存储在外部存储器中。由于片上资源限制,数据首先被缓存在片上缓冲区中,然后再馈送给PE。双缓冲区用于通过数据传输时间来覆盖计算时间。片内互联专用于PE和片上缓冲存储器之间的数据通信。其中,为了适应芯片上的小部分数据,应该使用循环平铺设计,不正确的平铺可能会降低数据重用的效率和数据处理的并行性[12]。应该考虑到PE和缓冲库的组织以及它们之间的互连。由于还没有接触到使用设计的FPGA的具体型号,所以具体操作流程先不作说明。

CNN作为一种经典的监督学习算法,采用用于识别的前馈过程和后向路径来训练。在本设计中,应专注于加速基于FPGA的前馈计算加速器设计。典型的CNN由两部分组成:一个特征提取器和分类器[13]。特征提取器用于过滤输入图像到代表各种各样的“特征图”图像的功能。特征提取器的输出是包括这些特征的低维矢量,然后将该矢量输入分类器。典型的CNN由多个计算层组成。例如,特征提取器可以包括几个卷积层和可选的子采样层。本设计选择卷积神经网络中的LeNet-5网络。LeNet-5是YannLeCun在1998年设计的用于手写数字识别的卷积神经网络,是最有代表性的系统之一[14]。LeNet-5共有7层,主要有2个卷积层、2个池化层、3个全连接层3种联系方式[15]。基于HLS开发工具将编写的卷积神经网络算法的C语言代码转化成寄存器传输级(RTL)实现,并封装导出RTL级CNN的IP核在Vivado环境中集成硬件加速电路。集成电路通过综合实现下载到FPGA中,完成FPGA的布局布线。对于卷积神经网络的具体代码实现,进行研究后完成相关代码,之后在FPGA上进行硬件加速工作。

3. 研究计划与安排

第1-3周:查阅相关文献资料,明确研究内容,了解本课题研究所需的理论知识,初步确定设计方案,撰写开题报告。

第4-7周:学习fpga的基本设计方法,学习cnn算法的具体内容以及源码分析。

第8-12周:完成设计fpga的卷积神经网络加速器电路软硬件工作,进行系统调试。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献(12篇以上)

[1] 翟俊海, 张素芳, 郝璞. 卷积神经网络及其研究进展[j]. 河北大学学报(自然科学版), 2017(06):85-96.

[2] 邹虹, 杨玉晨. 基于fpga的cnn算法加速[j]. 电子世界, 2019, 561(03):84-85.

[3] 赵彤, 乔庐峰, 陈庆华. 一种基于fpga的cnn加速器设计[j]. 通信技术, 2019(5).

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。