APP下载

基于自编码特征提取及弹性学习的手写数字识别

2014-07-19姜芳芳何明一王欣欣

现代电子技术 2014年10期

姜芳芳 何明一 王欣欣

摘 要: 针对自编码算法提取输入特征能更好地发现样本间的相关性的优点,以自编码算法提取待识别样本特征作为多层前向网络的输入,以弹性BP算法训练网络,并用MNIST手写数字数据库样本测试。从正确率、拒识率、错误率和可靠率4项性能指标方面与逐像素方法进行了综合对比测试。研究表明,采用自编码特征提取、多层前向神经网络作为分类器以及弹性BP 算法进行训练的手写数字识别,具有更快的收敛速度和更高的识别可靠率。

关键词: 多层前向神经网络; 自编码算法; 弹性BP算法; MNIST数据库

中图分类号: TN911?34; TP183 文献标识码: A 文章编号: 1004?373X(2014)10?0031?04

Abstract: As the autoencoder algorithm for input feature extraction is better in discovering the correlation between samples, an new approach is proposed for handwriting number recognition (HNR), in which the autoencoder algorithm is taken to extract the feature under recognition as the input of multilayer feedforward network, resilient back propagation (BP) algorithm is emplored to train the classifer, and some saples chosen from MNIST handwriting digits database are used to test the performance of this new approach. A comprehensive comparisons between this new approach and the pixel?by?pixel method is coducted in correct rate, rejection rate, error rate and reliability rate. This study results show that the proposed new approach (the autoencoder feature extraction, multilayer feedforward neural network classifier and resilient back propagation training algorithm are used together) has faster training speed and higher recognition reliability.

Keywords: multilayer feedforward neural network; autoencoder algorithm; resilient back propagation algorithm; MNIST database

手写数字识别(Handwriting Number Recognition,HNR) [1?2]主要指利用计算机智能的识别书写在纸张上的阿拉伯数字,是光学字符识别(Optical Character Recognition,OCR)技术的一个重要方面,有广泛的应用需求。多层前向神经网络[3](MultiLayer Feedforward Neural Network,MLFNN)由于具有很好的非线性映射能力,在非线性函数逼近、模式识别与分类等领域得到广泛的应用。在用神经网络进行模式识别的过程中,特征提取[4?5]是一个重要的环节,它会直接影响神经网络分类器识别的效果。基于神经网络的字符识别的输入特征提取一般采用逐像素方法[6],这是一种最简单的特征提取方法,其特点是算法简单,运算速度快,但对特征较少的图像,这种方法提取的信息量过大,适应性不强,不能很好的表示各类样本特征。本文在前人工作基础上,采用自编码算法[7]提取待分类样本的特征作为多层前向网络的输入,通过弹性BP算法[8]对网络进行训练,以期训练速度及识别效果的提升。最后,用公开的MNIST数据库[9]中部分手写数字进行验证。

1 系统原理

基于多层前向网络的识别系统如图1所示。

特征提取是识别系统中关键的组成部分,会直接影响系统的识别效果,本文采用自编码特征提取方法。神经网络是识别系统实现功能的载体或方法,利用神经网络的学习和记忆功能,先让神经网络学习训练样本中大量样本信息,以记住各模式类别中的样本特征,然后在测试样本时,神经网络可以回忆起之前记住的各模式类别的特征,从而确定测试样本所属的模式类别。本文多层神经网络的训练算法为弹性BP算法。

以下主要介绍特征提取模块中的自编码特征提取方法,及神经网络分类器。

2 基于自编码的特征提取

当神经元的激励函数是sigmoid函数时,神经元的输出接近于1的时候认为它被激活,而输出接近于0的时候认为它被抑制,稀疏性限制表示为:使得神经元大部分的时间都是被抑制。斯坦福大学Andrew NG在UFLDL教程[7]中介绍的自编码技术将传统的三层前向网络目标值设为输入值,在此网络隐层加入稀疏性限制后,将经误差反向传播学到的隐层输出作为待识别样本特征,此方法可更好地发现数据间的相关性。

如果网络的输入数据是完全随机的,比如每一个输入[xi]都是一个与其他特征完全无关的独立同分布高斯随机变量,那么这一压缩表示将会非常难学习。但是如果输入数据中隐含着一些特定的结构,例如某些输入特征是彼此相关的,那么这一算法就可以发现输入数据中的这些相关性。具体来说,如果隐层神经元的数量少于输入层,训练好的网络隐层输出其实是学习到了输入数据的压缩表示,当隐层神经元的数量大于输入层神经元的数量时,给隐层神经元加入稀疏性限制,那么此网络仍然可以学习到数据之间的关系。

3 基于多层前向神经网络的分类模块设计

多层神经网络由若干层神经元组成,不同层的神经元作用各不相同,输入层接受来自外界的信号,输出层给出对输入信号的判别或决策,隐层用来表示或存贮知识。此网络可实现样本数据(由输入模式与期望输出模式对组成)的映射,同时它还具有推广与概括等能力,即当输入模式不是学习过的样本数据时,网络的输出也能与该输入最接近的样本输入对应的期望输出比较接近。图3为多层前向网络的基本结构。其中输入层神经元个数为[ni],隐层神经元个数为[nh],输出层神经元个数为[no]。

4 基于弹性BP算法的网络训练

网络的训练算法一般采用最速下降法[10],但是最速下降法存在诸如收敛速度慢,网络易陷于局部极小,学习过程易发生振荡或平台效应等缺点。为了完善多层前向神经网络的训练算法并提高学习速度,将弹性BP算法引入到多层前向网络的学习中对其简要论述。

6 结 语

本文以自编码算法提取特征作为网络输入,以弹性BP算法训练网络,并用标准手写数字识别库数据样本进行测试。得出的主要结论是,自编码算法提取特征用于多层前向网络能提高网络的收敛速度和识别精度。

参考文献

[1] LORiGO L M, GOVINDARAJU V. Offline Arabic handwriting recognition: a survey [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(5): 712?724.

[2] 柳回春,马树元,吴平东,等.手写体数字识别技术的研究[J]. 计算机工程,2003,29(4):24?25.

[3] HAGAN M T, DEMUTH H B, BEALE M H.神经网络设计 [M].戴葵,译.北京:机械工业出版社,2007.

[4] 翟俊海,赵文秀,王熙照.图像特征提取研究[J].河北大学学报:自然科学版,2009(1):106?112.

[5] 董慧.手写体数字识别中的特征提取和特征选择研究[D].北京:北京邮电大学,2007.

[6] 胡小锋,赵辉.Visual C++/Matlab图像处理与识别实用案例精选[M].北京:人民邮电出版社,2004.

[7] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. New York, USA: ACM, 2008: 1096?1103.

[8] RIEDMILLER M, BRAUN H. A direct adaptive method for faster backpropagation learning: the RPROP algorithm [C]// Proceedings of the IEEE International Conference on Neural Networks. San Francisco, CA: IEEE, 1993: 586?591.

[9] MADSEN K, NIELSEN H B, TINGLEFF O. Methods for non?linear least squares problems [M]. Denmark: Informatics and Mathematical Modeling, Technical University of Denmark, 2004.

[10] CUN L, BOSER B, DENKER J S, et al. Handwritten digit recognition with a back?propagation network [M]// Advances in Neural Information Processing Systems. [S.l.]: Morgan Kaufmann, 1990: 396?404.

3 基于多层前向神经网络的分类模块设计

多层神经网络由若干层神经元组成,不同层的神经元作用各不相同,输入层接受来自外界的信号,输出层给出对输入信号的判别或决策,隐层用来表示或存贮知识。此网络可实现样本数据(由输入模式与期望输出模式对组成)的映射,同时它还具有推广与概括等能力,即当输入模式不是学习过的样本数据时,网络的输出也能与该输入最接近的样本输入对应的期望输出比较接近。图3为多层前向网络的基本结构。其中输入层神经元个数为[ni],隐层神经元个数为[nh],输出层神经元个数为[no]。

4 基于弹性BP算法的网络训练

网络的训练算法一般采用最速下降法[10],但是最速下降法存在诸如收敛速度慢,网络易陷于局部极小,学习过程易发生振荡或平台效应等缺点。为了完善多层前向神经网络的训练算法并提高学习速度,将弹性BP算法引入到多层前向网络的学习中对其简要论述。

6 结 语

本文以自编码算法提取特征作为网络输入,以弹性BP算法训练网络,并用标准手写数字识别库数据样本进行测试。得出的主要结论是,自编码算法提取特征用于多层前向网络能提高网络的收敛速度和识别精度。

参考文献

[1] LORiGO L M, GOVINDARAJU V. Offline Arabic handwriting recognition: a survey [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(5): 712?724.

[2] 柳回春,马树元,吴平东,等.手写体数字识别技术的研究[J]. 计算机工程,2003,29(4):24?25.

[3] HAGAN M T, DEMUTH H B, BEALE M H.神经网络设计 [M].戴葵,译.北京:机械工业出版社,2007.

[4] 翟俊海,赵文秀,王熙照.图像特征提取研究[J].河北大学学报:自然科学版,2009(1):106?112.

[5] 董慧.手写体数字识别中的特征提取和特征选择研究[D].北京:北京邮电大学,2007.

[6] 胡小锋,赵辉.Visual C++/Matlab图像处理与识别实用案例精选[M].北京:人民邮电出版社,2004.

[7] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. New York, USA: ACM, 2008: 1096?1103.

[8] RIEDMILLER M, BRAUN H. A direct adaptive method for faster backpropagation learning: the RPROP algorithm [C]// Proceedings of the IEEE International Conference on Neural Networks. San Francisco, CA: IEEE, 1993: 586?591.

[9] MADSEN K, NIELSEN H B, TINGLEFF O. Methods for non?linear least squares problems [M]. Denmark: Informatics and Mathematical Modeling, Technical University of Denmark, 2004.

[10] CUN L, BOSER B, DENKER J S, et al. Handwritten digit recognition with a back?propagation network [M]// Advances in Neural Information Processing Systems. [S.l.]: Morgan Kaufmann, 1990: 396?404.

3 基于多层前向神经网络的分类模块设计

多层神经网络由若干层神经元组成,不同层的神经元作用各不相同,输入层接受来自外界的信号,输出层给出对输入信号的判别或决策,隐层用来表示或存贮知识。此网络可实现样本数据(由输入模式与期望输出模式对组成)的映射,同时它还具有推广与概括等能力,即当输入模式不是学习过的样本数据时,网络的输出也能与该输入最接近的样本输入对应的期望输出比较接近。图3为多层前向网络的基本结构。其中输入层神经元个数为[ni],隐层神经元个数为[nh],输出层神经元个数为[no]。

4 基于弹性BP算法的网络训练

网络的训练算法一般采用最速下降法[10],但是最速下降法存在诸如收敛速度慢,网络易陷于局部极小,学习过程易发生振荡或平台效应等缺点。为了完善多层前向神经网络的训练算法并提高学习速度,将弹性BP算法引入到多层前向网络的学习中对其简要论述。

6 结 语

本文以自编码算法提取特征作为网络输入,以弹性BP算法训练网络,并用标准手写数字识别库数据样本进行测试。得出的主要结论是,自编码算法提取特征用于多层前向网络能提高网络的收敛速度和识别精度。

参考文献

[1] LORiGO L M, GOVINDARAJU V. Offline Arabic handwriting recognition: a survey [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(5): 712?724.

[2] 柳回春,马树元,吴平东,等.手写体数字识别技术的研究[J]. 计算机工程,2003,29(4):24?25.

[3] HAGAN M T, DEMUTH H B, BEALE M H.神经网络设计 [M].戴葵,译.北京:机械工业出版社,2007.

[4] 翟俊海,赵文秀,王熙照.图像特征提取研究[J].河北大学学报:自然科学版,2009(1):106?112.

[5] 董慧.手写体数字识别中的特征提取和特征选择研究[D].北京:北京邮电大学,2007.

[6] 胡小锋,赵辉.Visual C++/Matlab图像处理与识别实用案例精选[M].北京:人民邮电出版社,2004.

[7] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th International Conference on Machine Learning. New York, USA: ACM, 2008: 1096?1103.

[8] RIEDMILLER M, BRAUN H. A direct adaptive method for faster backpropagation learning: the RPROP algorithm [C]// Proceedings of the IEEE International Conference on Neural Networks. San Francisco, CA: IEEE, 1993: 586?591.

[9] MADSEN K, NIELSEN H B, TINGLEFF O. Methods for non?linear least squares problems [M]. Denmark: Informatics and Mathematical Modeling, Technical University of Denmark, 2004.

[10] CUN L, BOSER B, DENKER J S, et al. Handwritten digit recognition with a back?propagation network [M]// Advances in Neural Information Processing Systems. [S.l.]: Morgan Kaufmann, 1990: 396?404.