基于BP神经网络的手写数字识别

 2022-01-17 11:01

论文总字数:25062字

目 录

1.绪论 1

1.1 数字识别的背景和发展 1

1.2 人工神经网络简介 1

1.3论文内容和结构 2

2.神经网络在数字识别中的作用 2

2.1 感知器 2

2.2 BP神经网络 3

2.2.1 BP算法简介 3

2.2.2 BP神经网络的一般算法 4

2.2.3 误差反向传播 5

3. 图像预处理 6

3.1 图像预处理概述 6

3.2 预处理工作 6

3.2.1 灰度化 6

3.2.2 图像平滑去噪 7

3.2.3 二值化 8

3.2.4图像切割 9

3.2.5 归一化 9

4. 手写数字识别神经网络的设计 9

4.1 BP神经网络的设计概括 9

4.2神经网络隐藏层层数和神经元数目的确定 10

4.3 激活函数的选择 12

4.4 网络权值初始化 14

4.5 正则化 15

4.6 网络设计效果 16

5. 结论 17

参考文献 18

致谢 19

附录 20

基于BP神经网络的手写数字识别

夏能

ABSTRACT:Handwritten digits recognition is one of the hot issues in machine vision.Its application has broad prospects.Because of its excellent generalization ability, neural network can approach nonlinear functions with arbitrary accuracy. This character makes neural network be able to solve the problem of handwritten digits recognition.In this paper, a neural network based on back propagation is designed by python.This article is divided into three main parts: image preprocessing, neural network principle introduction and network design.Image preprocessing means to do some pretreatments which include: gray processing, binarization, normalization, denoising to the collected handwritten digital images in order to standardize them.In the network design section, a three-layer BP neural network is designed according to the actual situation. The ReLU function is selected as the activation function, softmax as the output layer and the cross entropy function as the loss function. In order to make sure we can select the least number of ganglion points under the condition of maintain the network performance as well as possible,we should test the network convergence speed and recognition accuracy under the influence of different numbers of ganglion points. And then adjust parameter constantly according to the effect of network performance.The neural network designed in this paper can achieve 90% recognition accuracy with the test times of 5000 or so, which indicates that the BP neural network is feasible for the recognition of handwritten digits.

Keywords: BP neural network, back propagation, image preprocessing, handwritten numeral recognition.

绪论

数字识别的背景和发展

字符识别是机器视觉的一个重要组成部分,字符识别有脱机识别和联机识别两种识别方式。联机识别是指通过写字板进行字符输入,系统根据收集到的轨迹信息直接进行识别;脱机识别是指使用照相机或者扫描仪将纸张上的字符转化为图像信息,然后系统识别其中的字符信息。

无论是脱机识别还是联机识别都经历了从限制性(Constrainted)到非限制性(Unconstrainted)的发展过程。目前,就人类所使用的文字,大部分都只包含了数量较小的字符集,英语字符集含有26个不同的字符、俄文含有32个字符以及阿拉伯数字集含有10个字符。对于这类数量较小的字符集,光学文字识别已经可以做到不对书写者夹任何限制,其中阿拉伯数字作为非限制OCR的主导[2]。但是对于像汉字这中大类别数据集,为了确保识别的准确率还必须对书写加以限制。手写数字识别技术,不仅涉及诸如图像处理、组合数学、概率论和计算机人工智能等学科,而且涉及文字学和生物学等学科,具有很强的综合性以及重要的研究价值:

  1. 阿拉伯数字是在大多数国家都被使用的字符,因此对于阿拉伯数字的识别可以不考虑各国的地域差异,不同国家的研究人员的研究也更为方便。
  2. 因为我国信息技术的发展和计算机互联网的大规模使用,有大量的数据需要输入计算机。在信息化的工作生活中,我们将面对数量非常大的数据。数字识别处理的都是数据量很大的报表,这对其识别的精度和速度都提出了很大的要求。

尽管经过多年的研究,人们已经在手写数字识别领域已经获得了很大的进步,但是目前为止识别准确率还无法与人工识别的精确度。手写字符识别是所有字符识别中最难实现的,其原因如下:首先,数字中几个字符之间的差别不够明显,想要机器进行精确判断很难,例如数字‘8’和‘9’[3];其次,手写数字由于受到书写者和工具等一系列因素的影响,同一个字符之间也会有很大差别,例如字体的大小、笔画的粗细和笔画的局部扭曲都直接影响字符识别的准确性;第三,阿拉伯数字虽然只有10个,但是由于地区差异和个人因素写法千差万别且带有明显的地域特征,也给正确识别带来了难度。

经过长期的研究,为了准确识别手写数字,人们提出了很多方法来识别字符。其中主要包括全局分析和局部分析。全局分析即采用像素密度、数学变化等并结合统计分类方法来对图片进行分析;局部分析从字符的基本框架上提取节点、弧、圈和笔画等关键特征。经过多年的研究表明,对于没有限制条件的手写数字,目前还没识别很精确的方法。

人工神经网络简介

人类的意识和思维来源于大脑,大脑由数量庞大的神经元构成。大脑中的每个神经元细胞都是独立工作的细胞,神经元之间通过突触相互连接形成处理信息的功能。通过外界刺激信号的强弱,神经元之间会做出相应的调整,外界刺激越频繁连接越紧密。神经元根据与之相连的其他神经元传递过来的信号来做出相应反映,每个神经元都是一个独立的小处理单元,这些神经元按照一定的方式相互连接就构成了大脑内部的神经元网络。神经元之间连接的强弱根据外部刺激信号作自适应变化,其中的每个神经元随着接受到的激活信号的综合大小做出兴奋或抑制的反应。根据现代医学研究,人类的学习过程实际就是大脑神经元不断接受刺激并且能够对类似刺激做出快速反应的过程。

人工神经网络(Artificial Neural Network,ANN)最初的灵感来源于生物大脑的学习过程,在抽象和理解了大脑神经结构和刺激反应机制后,以网络拓扑为基础建立具有学习能力的数学模型。神经网络是将神经元节点通过权重阈值和激活函数相互连接,组成的信息响应网状拓扑结构。因为采用了并行分布式的信号处理机制,所以处理速度较快,容错能力较强。神经网络具有如下特点:(1)高度的并行性;(2)高度的非线性全局作用;(3)联想记忆功能和良好的容错性;(4)良好的自适应、自学习功能;(5)知识的分布存储;(6)非凸性。正是因为神经网络具有这些特点,解决了传统人工智能在语言识别,非线性问题处理的不足,使他成功应用于智能学习的很多领域。

1.3主要工作

对于手写数字的识别,虽然也有其他有效的方法,但是神经网络的泛化性能和识别效果也都很好。并且神经网络与传统方法相比,是真正通过自我学习来识别字符的,因此未来的发展前景广阔。本文通过设计一个三层的神经网络来实现手写数字的识别,主要探讨了BP神经网络基本参数设定对网络性能的影响。最终通过设定合理的网络层数、各层神经元参数、正则化项、学习步长并对权值进行合理的初始化,最终使训练好的神经网络对测试数据达到了90%的识别率。在神经网络的设计训练过程中,发现存在很多的问题,比如:各层网络的神经元节点数以及正则系数等没有比较统一的确定方法,只能结合经验和网络的表现手动进行调整;激活函数存在一定的缺陷,没有比较完美的激活函数等等,这些不足还有待未来的研究。

论文内容概要:

第1部分:绪论。本部分主要介绍了数字识别的背景和人工神经网络的发展历史,并且分析了神经网络在手写数字识别中的可行性。

第2部分:详细介绍了BP神经算法。本章对BP神经网络的发展历史进行了介绍,并且对网络的信息正向传播和误差反向传播过程进行详细的数学推导和证明。

剩余内容已隐藏,请支付后下载全文,论文总字数:25062字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

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