基于FPGA的人工神经网络的研究与实现
发布时间:2017-06-15 19:08
本文关键词:基于FPGA的人工神经网络的研究与实现,,由笔耕文化传播整理发布。
【摘要】:人工神经网络ANNs(Artificial Neural Network)是一个模仿人脑神经网络结构和关系、由物理可实现的大量相互连接的处理单元组成的系统。如今,人工神经网络已经在多个领域得到广泛应用,比如信号处理、医疗卫生、控制系统、模式识别等。我们常见的实现神经网络的方法都是基于软件的。由于软件运算速度慢,所以要提出一种能够满足实时运算要求的新的神经网络实现方法。本文实现了一种基于FPGA的神经网络,它的特点是并行运算,运算速度快。该基于硬件实现的神经网络体现出神经网络固有的并行处理特性,处理速度得到大大提升。本论文首先介绍了如今人工神经网络研究的背景和国内外研究现状,以及人工神经网络硬件实现的方法和意义。然后,对典型的BP神经网络算法进行研究,包括具体的算法实现步骤。BP算法的实质是采用梯度下降法来不断修改神经元之间的联接权值,以此达到求解最优解的目的。由于本设计主要以26个英文大写字母的实时识别为应用背景,所以在介绍硬件实现神经网络需要考虑的问题中,对字母图像的数字化过程也予以了考虑。随后对硬件实现整个BP神经网络进行模块划分,并对各个模块进行硬件设计。其中,激励函数的硬件实现是基于FPGA的神经网络硬件设计的重点。本论文选用得到广泛运用的Sigmoid函数作为BP神经网络的激活函数,并用查找表和分段线性函数逼近相结合的方法在FPGA上实现了Sigmoid函数。除此之外,本文在设计整个神经网络的体系结构中采用了一种脉动阵列结构。该结构体现出神经网络的并行特性,它的硬件实现能够使得整个网络的运算处理速度得到很大的提升。然后,用Verilog硬件描述语言对设计好的神经网络进行硬件实现。之后,使用ModelsimSE 6.2仿真软件和Xilinx公司的Vivado集成开发工具对设计进行功能仿真和综合优化。在误差范围内,硬件功能实现正确。并且,设计对FPGA的资源利用率也比较低,在10%以下。最后,通过板级验证,整个硬件网络的最高时钟频率可以达到70MHz,可以满足26个英文大写字母实时识别的要求。因此,本文设计的基于FPGA的人工神经网络达到了设计的初衷。
【关键词】:人工神经网络 激活函数 FPGA 硬件实现
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP183
【目录】:
- 摘要5-6
- ABSTRACT6-11
- 符号对照表11-12
- 缩略语对照表12-16
- 第一章 绪论16-22
- 1.1 课题研究背景及意义16-17
- 1.2 神经网络相关技术及发展现状17-19
- 1.2.1 神经网络技术的研究历史和发展现状17-18
- 1.2.2 可重构技术发展现状18
- 1.2.3 FPGA的发展现状18-19
- 1.3 本课题的主要工作19
- 1.4 论文结构及内容安排19-22
- 第二章 神经网络及其实现技术22-38
- 2.1 神经元模型22-24
- 2.1.1 生物神经元模型22-23
- 2.1.2 人工神经元数学模型23-24
- 2.2 神经网络模型24-33
- 2.2.1 BP神经网络介绍24-25
- 2.2.2 BP神经网络算法25-30
- 2.2.3 BP算法流程30-31
- 2.2.4 BP神经网络的改进31-33
- 2.3 神经网络学习模式33-34
- 2.3.1 有监督学习33
- 2.3.2 无监督学习33
- 2.3.3 离线(Off-Line)学习33-34
- 2.3.4 在线(On-Line)学习34
- 2.4 神经网络实现技术研究的内容和价值34
- 2.5 神经网络实现技术分类34-37
- 2.5.1 神经网络的VLSI实现35-37
- 2.5.2 神经网络的分子/化学实现37
- 2.5.3 神经网络的光学实现37
- 2.6 本章小结37-38
- 第三章 基于FPGA的神经网络的设计与实现38-60
- 3.1 基于FPGA的神经网络设计与实现需要考虑的问题38-42
- 3.1.1 样本值的选取38-39
- 3.1.2 初始权值的选取39
- 3.1.3 学习率的选取39
- 3.1.4 期望误差的选取39
- 3.1.5 训练次数的选取39-40
- 3.1.6 数据表示规则40-41
- 3.1.7 激励函数的实现方法41-42
- 3.2 基于FPGA的动态可重构技术42
- 3.3 基于FPGA的神经网络的模块划分42-44
- 3.3.1 BP算法描述43
- 3.3.2 模块划分43-44
- 3.4 基于FPGA的神经网络各模块的设计实现44-51
- 3.4.1 MAC模块的设计实现44-45
- 3.4.2 WU单元的设计实现45-46
- 3.4.3 神经网络激活函数的硬件设计实现46-48
- 3.4.4 神经网络激活函数的导数的设计实现48-50
- 3.4.5 神经网络FSM的设计50
- 3.4.6 中间数据存储模块TM50-51
- 3.5 基于FPGA的BP神经网络的整体设计51-56
- 3.5.1 映射算法51-54
- 3.5.2 神经网络体系结构设计54-56
- 3.6 BP神经网络算法的训练流程56-58
- 3.7 本章小结58-60
- 第四章 基于FPGA的神经网络的实现结果与分析60-70
- 4.1 功能仿真与误差分析60-63
- 4.1.1 MAC模块仿真结果与误差分析60-61
- 4.1.2 Sigmoid模块仿真结果与误差分析61-62
- 4.1.3 WU模块仿真结果与误差分析62-63
- 4.2 逻辑综合与实现63-68
- 4.2.1 逻辑综合63-65
- 4.2.2 时序报告与分析65-68
- 4.2.3 板级验证68
- 4.3 性能评估68
- 4.4 本章小结68-70
- 第五章 总结与展望70-72
- 5.1 总结70
- 5.2 展望70-72
- 参考文献72-74
- 致谢74-76
- 作者简介76-77
【参考文献】
中国期刊全文数据库 前10条
1 毛健;赵红东;姚婧婧;;人工神经网络的发展及应用[J];电子设计工程;2011年24期
2 冯志力;;人工神经网络技术实现的研究现状[J];广西轻工业;2011年11期
3 薛维琴;李莉华;戴明;;基于FPGA的人工神经网络系统的实现方法[J];电子设计工程;2010年09期
4 陈晓畋;韩爱芳;;基于FPGA的可重构计算技术研究[J];计算机与信息技术;2010年04期
5 陈明忠;;BP神经网络训练算法的分析与比较[J];科技广场;2010年03期
6 盛荣菊;马建伟;;人工神经网络FPGA硬件实现的研究进展[J];电气自动化;2009年05期
7 李利歌;阎保定;侯忠;;基于FPGA的神经网络硬件可重构实现[J];河南科技大学学报(自然科学版);2009年01期
8 张智明;张仁杰;;神经网络激活函数及其导数的FPGA实现[J];现代电子技术;2008年18期
9 林祥金;张志利;朱智;;人工神经网络FPGA实现研究进展与发展趋势[J];控制工程;2007年S3期
10 李昂;王沁;李占才;万勇;;基于FPGA的神经网络硬件实现方法[J];北京科技大学学报;2007年01期
本文关键词:基于FPGA的人工神经网络的研究与实现,由笔耕文化传播整理发布。
本文编号:453255
本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/453255.html