基于FPGA的手写字识别神经网络实现方法开题报告
2020-02-18 18:10:30
1. 研究目的与意义(文献综述)
目的及意义(含国内外研究现状分析)
课题背景及意义
神经网络是神经元之间的互联,其原理是模拟人脑,它会根据不同的问题产生自己的思考过程或者方式,而这些过程就是各种神经元相互作用和相互传递的过程。所谓神经元就是由多个并行处理的单元组合而成的运算单元,而这些处理单元并不需要十分复杂,但是众多的神经元拼接为一个整体之后便可以具备十分复杂的功能,其最基本的特点就是通过多次训练来适应某个应用环境,表现出对新事物的强大学习能力。并行性、模块性和自适应性是神经网络的典型特征,正是基于这些主要特性,人工神经网络已经在很多领域被广泛有效地利用,主要包括以下领域:计算机视觉、模式识别、智能控制、复杂系统分析、人工智能、医疗、经济等。
目前,实现人工神经网络的方法主要分为软件实现和硬件实现两个方面,两个方面均存在各自的优缺点。软件实现神经网络的方法相对成熟,但由于其存在速度慢、并行度低的特点,所以不能满足神经网络对实时运算的需求。而基于硬件实现的神经网络却具有处理速度快、并行度高的特点。
传统研究中,神经网络的硬件实现方法主要包括并行处理器阵列、数模混合vlsi技术以及利用光电器件实现。近年来,随着系统可重构技术的发展,fpga已经成为各大设备厂商疯狂角逐的战场。为了更好地适应神经网络应用市场的需求,英特尔、赛灵思等fpga厂商纷纷推出了自己的神经网络硬件平台解决方案,针对不同类型网络都做出了相应的结构优化。随着fpga技术及片上系统技术的发展,我们过去所熟知的可编程逻辑芯片,将逐步被可编程片上系统所替代。在电路中实现的已不仅仅是简单的逻辑单元,诸如dsp、复杂计算、高速数据收发器等更为复杂的系统也已经成为可能,这使得fpga在各个使用领域都展现出强大的能力。
2. 研究的基本内容与方案
设计的基本内容及可能遇到的问题
设计的基本内容
人工神经网络ann(artificial neuralnetwork)是一个模仿人脑神经网络结构和关系、由物理可实现的大量相互连接的处理单元构成的系统,其结构主要包括输入层、隐含层、输出层。
本课题利用matlab软件强大的矩阵运算能力,通过bp算法训练出准确率高、参数范围合理的三层神经网络结构,在传统归一化bp算法的基础上,对各层权值、阈值进行同步扩大、取整等操作后重新验证网络结构的合理性,最终选取合适的网络结构利用fpga进行实现,并用于手写数字识别。
通过抽象、简化生物神经元后得到的典型人工神经元数学模型如图1所示。
3. 研究计划与安排
(1)第1-3周:查阅相关文献资料,明确研究内容,了解研究所需理论基础。确定方案,完成开题报告。
(2)第4-5周:熟悉掌握基本理论,完成英文文献的翻译,熟悉matlab以及fpga开发环境。
(3)第6-8周:使用matlab软件训练bp神经网络模型并调优。
4. 参考文献(12篇以上)
[1]田丰硕. 面向x射线探测的bp神经网络设计及fpga实现[d].大连理工大学,2017.
[2]张航,陈向东.基于fpga的电子鼻中sigmoid函数分区间线性逼近实现[j].计算机应用,2014,34(s2):352-353 356.
[3]杨景明,杜韦江,吴绍坤,李良,魏立新.基于fpga的bp神经网络硬件实现及改进[j].计算机工程与设计,2018,39(06):1733-1737 1773.