栈式自编码算法的研究与实现(源码)【字数:9229】

摘 要当今社会,人工智能(Artificial Intelligence ,AI)大行其道,被越来越多的人学习和研究,人工智能、基因工程和纳米科学也被认为是二十一世纪三大尖端技术。机器学习是人工智能的分支之一,近几年深度学习(Deep Learning,DL)成为机器学习的重要方法。栈式自编码(Stacked Auto Encoder,SAE)就是一个优秀的算法,目前已经被广泛的应用于图像识别。本课题的研究内容就是SAE的研究及其在手写体数字上的应用。首先介绍了该算法的应用领域,然后探讨了算法的工作原理和网络结构,调研了开发环境,应用了谷歌的TensorFlow开发平台,最后应用Python语言完成了该算法。对参数进行了调试,并最终将其应用于手写体的数字识别中,并通过实验了证实算法的有效性,可以获得较好的识别率。
目 录
第一章 绪论 1
1.1课题研究的背景和意义 1
1.2课题研究的现状 2
1.3内容安排 3
第二章 开发环境 4
2.1Anaconda 4
2.2Tensorflow 4
2.3Python 5
第三章 SAE算法 6
3.1SAE算法原理 6
3.1.1AE神经网络结构 6
3.1.2 SAE神经网络的结构 6
3.1.3 SAE神经网络的训练过程 7
第四章 SAE算法实现 10
4.1环境配置 10
4.2算法数据 10
4.3SAE代码 11
4.4对比实验 13
结束语 17
致谢 19
参考文献 20
第一章 绪论
1.1课题研究的背景和意义
科技在飞速的发展,各种技术的成熟和进步促进社会更快速的变革和更新,信息时代的到来就是典型的特征。每天来自世界各地,形形色色的信息都触手可及,海量的数据让人眼花缭乱不知所措。网络中充满了文字、图像和视频的数据,并且一天产生的数据量一个人可能一辈子都看不完,但是每天每年这个数据量还在爆炸式的增长。腾讯产业下的产品之一微信活跃的用户总量在世界范 *好棒文|www.hbsrm.com +Q: #351916072# 
围内已超十多亿,另一个产品QQ尽管因为微信的出现而导致活跃的用户数量总量有明显下降,但是也还有近七亿左右的用户群体,两个通讯软件可以说几乎囊括了中国的绝大多数网民,每天产生的文字、图片、语音和视频的数量达到了可怕的程度,这个数据量之庞大绝对超过古代纸质文字产生量数百年的水准。硬件制造水平的提高以及科学技术的发展变快,越来越多的人使用智能手机、手表等,通过便携智能设备与互联网交互。智能手机用户在2017年达到26亿,预计到2020年,智能手机用户将达36亿,接近世界人口的一半。通过一系列的数据不难看出,数字化生活已经成为了人们生活的一部分。与传统的纸质信息时代不同,我们当前面对太多太多的数据,仅仅通过阅读文字已经不足以我们高效的处理身边的数据。与文字相比,图片信息更加直观明了,而且人们的视觉对图片信息的反映,要远远比文字信息敏感。
但是,这种初期式的图片分类方式相对于飞速发展的科技而言已经有点落后了,这种分类方式有着这样几个问题。其一,文本信息对图片的描述并不能准确表达图像中包含的丰富信息。其二,文本信息标注是人工标注的,在面对海量的图片时,人工标注显得非常无力。其三,由于主观差异性的存在,不同的人做的标注明显不同,这样的话对分类会有巨大影响。最后,当一张图片面对全世界群体时,文本标注不能统一,通用性就很差。因此,通过提取图片的颜色、纹理、空间等特征作为一张图片的特征,这样就不会出现文本信息特征的问题了,然后就是通过一个特定的通用的算法将特征提取出来。
在研究人员们的不懈努力下,基于内容的图像分类识别技术得到了迅速地发展。因此,基于内容的图像分类识别也成为了信息检索领域和数字图像处理领域的共同研究热点。
因此针对图像识别的机器学习算法也不断被提出,从最初的浅层神经网络到前两年的深度学习神经网络,都给图像识别领域注入了新的活力。特别是深度学习算法,其能够模拟人脑的图像识别过程,因此在识别性能上有了极大的提示。深度学习优于其他方法的一个关键在于,将以无监督形式学习的算法应用于任何其他算法都无法使用的,并且比任何有标签的数据更容易获得、更为丰富的无标签数据[2]。SAE算法就是深度学习算法的一种,其由多个自动编码器组成,属于包含多隐含层神经元的神经网络模型[3]。随着研究的不断发展,自动编码器被赋予了学习稀疏的、分布式的特征表达,并且学习到的特征表达比输入数据维度高还要高,维了避免学习恒等隐射,可以通过添加约束条件来形成具有特定功能的衍生自动编码器。今天深度学习已经渗透到互联网技术和产品的方方面面,它从学术界的一个研究课题变成了被工业界最广泛应用的关键技术。对于每一个程序员,我都认为或多或少了解和掌握深度学习[4]。作为一种新兴的深度学习算法,SAE算法还有更多的衍生拓展以及提高能力,其在图像识别领域的作用会越来越大。因此对SAE进行研究,并将其应用于图像识别非常有意义。
1.2课题研究的现状
深度学习是机器学习研究中的一个新领域,通过模拟人脑机制进行数据解释,并利用无监督学习算法训练模型,近年来在数据分类处理中得到广泛的应用[5]。
深度学习属于半监督的学习方法[6],在使用人工神经网络基本结构和算法的基础上引入新的技术,解决了在使用反向传播算法训练深度神经网络时梯度消失等问题。SAE算法目前已经应用在了多个领域中,例如:
王恬,仇春春等人将SAE改进并应用到自然图像分类中,而且根据实验结果表明,改进的SAE网络算法对自然图像的分类具有更好的普遍适用性,再次基础上还可以有效地提高图像分类准确度,以及加快网络训练速度的优点。
陈国定,姚景新等人,采用SAE算法对尾矿进行安全评价,首次将SAE应用到尾矿安全评价中,结果表明堆SAE器算法能克服多层网络结构权值易陷入局部最小值的缺陷,有效刻画数据的非线性和随机波动性,具备良好的评价准确率[7]。
朱芳枚,赵力,梁瑞宇等人针对汉语语音情感识别问题,提出了一种改进的栈式自编码结构,其结合了降噪自编码和稀疏自编码的优点,提取具有鲁棒性和稀疏性的语音情感二次特征[8]。将栈式自编码算法用于语音识别中,实验结果显示,改进的栈式自编码算法比其他的算法有更高的识别率。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/114.html

好棒文