论文部分内容阅读
手写数字识别是一类基础的图像分类问题,具有很高的实用价值,在财会、邮政、金融等领域有着广泛的应用前景。利用计算机完成手写数字识别工作将大大简化人们的生活,节省大量的人力识别成本,具有一定的现实意义。处理图像分类问题主要有两种方法,第一种是传统方法,先人工设计并提取图像的特征,再将提取出来的特征送入分类器进行分类;第二种是基于神经网络的端到端图像分类方法。随着计算机存储和计算能力的不断提升,神经网络技术正如火如荼的发展着,基于神经网络的图像分类方法逐渐成为了研究的热点。由于神经网络具有自动从大量数据中提取复杂结构特征的能力,在很多问题中都取得了超出传统方法的效果,因此针对神经网络技术的研究具有重要的意义。本文利用神经网络技术来处理手写数字识别问题,主要围绕以下三个问题集中地进行研究分析并给出了改进方法:首先,针对经典的单隐层前馈神经网络结构的反向传播算法训练速度偏慢,且不能利用无标签样本的问题,本文结合有监督算法和无监督算法,提出了两种快速准确的单隐层神经网络改进训练算法。其中,第一种改进算法利用无监督的受限玻尔兹曼机算法进行权值预训练;第二种改进算法在第一种改进方法的基础上引入了跨层连接,将输入层的信息直接引入输出层。在手写数字MNIST数据集上进行的实验结果表明,本文提出的两种改进算法比传统单隐层神经网络的反向传播算法具有更好的识别率和更快的训练速度。其次,针对经典的卷积神经网络虽然具有一定程度的平移不变性,但无法很好地解决诸如旋转、尺度不变性的问题,本文结合基于仿射变换的空间变换网络,以及稠密连接的思想,提出了一种改进方法。在畸变手写数字CMNIST数据集上进行的实验结果表明,本文方法可以自动定位畸变手写数字图片中相关的数字部分,并将数字校正为正常姿态,此外相较于传统的神经网络结构,稠密连接方式在本问题中也具有更好的分类精度,从而在一定程度上改善了传统卷积神经网络不变性不强的问题。最后,本文基于Python语言的Flask框架和Keras神经网络框架,设计并实现了一个基于卷积神经网络模型的手写数字识别系统,该系统包含了数据输入、数据预处理、神经网络模型预测和结果输出等模块。实验表明,我们实现的手写数字识别系统能够快速识别用户输入的手写数字,并且具有较好的识别效果。