毕业论文-基于受限玻尔兹曼机的手写字符识别算法研究_第1页
毕业论文-基于受限玻尔兹曼机的手写字符识别算法研究_第2页
毕业论文-基于受限玻尔兹曼机的手写字符识别算法研究_第3页
毕业论文-基于受限玻尔兹曼机的手写字符识别算法研究_第4页
毕业论文-基于受限玻尔兹曼机的手写字符识别算法研究_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文PAGE4毕业论文(设计)论文(设计)题目:基于受限玻尔兹曼机的手写字符识别算法研究姓名学号学院山东大学软件学院专业数字媒体技术年级指导教师2016年月日目录TOC\o"1-3"\h\u目录 1摘要 2ABSTRACT 2第1章绪论 31.1研究背景 31.2研究现状 31.3本文的主要工作 31.4论文的组织结构 4第2章神经网络基本原理与RBM模型探讨 52.1启发式思想与模拟退火算法 52.1.1贪心算法的局部最优限制与启发式思想 52.1.2模拟退火模型及其概率转移计算 52.2玻尔兹曼机与受限玻尔兹曼机 62.3受限玻尔兹曼机模型概述 72.3.1受限玻尔兹曼机网络结构 72.3.2受限玻尔兹曼机能量函数及概率分布计算 8第3章受限玻尔兹曼机中的数学理论 113.1随机梯度法解对数似然函数 113.2马尔可夫链蒙特卡罗策略与Gibbs采样 133.2.1马尔科夫链与马氏定理 133.2.2三种采样算法 153.2.3用采样技术解受限玻尔兹曼机中的计算难题 193.3对比散度算法 20第4章基于受限玻尔兹曼机的手写字符识别模型 234.1手写字符特征提取 234.1.1图像特征提取概念及背景 234.1.2常见的手写字符图像特征提取方法 234.1.3数据降维与受限玻尔兹曼机提取特征 254.1.4深度信念网络与贪婪学习 264.2手写字符特征分类 274.3手写字符识别算法流程 27第5章基于受限玻尔兹曼机的手写字符识别模型示例 295.1手写数字数据集MNIST解析 295.2结果分析 30第6章总结与展望 33致谢 34参考文献 35附录1英文原文 37附录2译文 39摘要受限玻尔兹曼机(RBM)是一种内含两层结构,对称链接,无自反馈的深度学习网络模型。受限玻尔兹曼机的快速学习算法近年来一直是研究热点,随着对比散度算法的出现,受限玻尔兹曼机在机器学习节掀起了应用和研究的热潮。许多实验表明,受限玻尔兹曼机是一种高效的特征提取方法,用于初始化前馈神经网络可显著提高其泛化能力,堆叠多个受限玻尔兹曼机组成深度信念网络更能提取抽象特征。本文首先简要概述了手写字符识别络和深度学习的研究背景,然后阐述了作者对于神经网络的理解,包括模拟退火算法与玻尔兹曼机的理解,从而引出受限玻尔兹曼机模型框架,并着重推导了要理解受限玻尔兹曼机的数学知识理论,包括对数似然估计,马尔科夫链,蒙特卡罗方法等,最后探讨了一种快速RBM学习的算法。基于受限玻尔兹曼机上述特点,本文描述一种高效深度学习模型,利用受限玻尔兹曼机提取手写字符的特征,提高神经网络泛化能力,对手写字符进行识别。最后,本文将会呈现这个模型对于手写字符识别的结果。关键词:手写字符识别;深度学习;神经网络;受限玻尔兹曼机ABSTRACTRestrictedBoltzmannMachine(RBM)isaparticulartypeofrandomneuralnetworkmodelwhichhastwo-layerarchitecture,symmetricconectionwithinthesamelayer.RBMattractsmanyattentionofresearchtheseyears.Andwiththedevelopmentoffastlearningalgorithm(ContrastiveDivergence),RBMsetsoffasurgetoapplymodelandresearch.ManyexperimentshowthatRBMisakindofeffectivefeaturedetector,alsoitcanhighlyraisethegeneralizationcapabilitywhenitusedtoinitializedafeed-forwardneuralnetwork.AdeepbeliefnetworkcomposedofseveralRBMisabletodetectmoreabstractfeatures.Thispapergenerallysummarizestheresearchbackgroundofrecognizationofhand-writtennumberanddeeplearning,descripttheauthor’sunderstandingofneuralnetwork,includingsimulatedannealingalgorithmandBoltzmannMachine,andthenhaveadeeplookintoRBM.Afterthat,thispaperproofsthemathematicaltheoryofRBMsuchasloglikelihoodcomputing,MarkovChain,MCMCetc,andfinallypresentafastlearningalgorithmofRBM.Basedontheadvantagesabove,thispaperdiscussesaneffectivedeeplearningmodel,usingRBMtoextractthefeatureofhand-writtennumbers,improvedthegeneralizationcapabilityofneuralnetwork,andrecognizethehand-writtennumber.Atlast,thispaperwillshowtherecognizationresultofthismodel.Keyword:HandwrittenNumeralRecognition;DeepLearning;NeuralNetwork;RestrictedBoltzmannMachine

第1章绪论1.1研究背景字符识别是上一个世纪开始发展起来的一门自动化技术,结合了图像处理和模式识别,是人工智能的一个重要分支。通过扫描、摄影手写字符的方式将报刊、书籍、文稿及其它印刷品的文字转化为图像信息,利用数学算法,用计算机对其进行识别。手写数字识别是字符识别一个分支,把手写的阿拉伯数字的图片,通过计算机算法识别到计算机里面。传统的手写数字识别算法是基于人的先验知识,来提取10个数字的特征,常见的特征提取方法有:傅里叶描述子、链码、基于网格的方法,形状上下文等等。由于机器学习掀起人工智能热浪,基于machinelearning的识别算法开始不断被提出,比如贝叶斯分类器、支持向量机、KNN等经典算法也被用于字符识别,用传统的特征提取方法对手写数字图片进行特征提取之后,利用machinelearning算法对特征进行分类。于是对字符识别的研究就分为了两个方向,第一是描述子的研究,就是研究一种灵活灵敏的描述字符图像的算子,可以充分记录不同字符的特征,满足旋转不变性、形变不变性和位移不变性等等;第二个方向就是机器学习方向,使用计算能力更强,更灵敏,更泛化的方法对特征进行分类。1.2研究现状虽然阿拉伯数字只有十种,而且笔画简单,但同一个数字的写法千变万化,全世界各个国家各个地区的人,写法就更加千差万别了,往往很难做到兼顾。过往的识别算法主要采用模板匹配,贝叶斯方法,隐马尔科夫模型,或者基于神经网络,支持向量机等。这些方法都只能称浅层学习模型。自从Hinton在一个名叫ImageNet的比赛上,运用了他的深度学习模型,并把他们组的识别率提高到高于第二名10%以上的准度,深度学习就开始火热起来,人们开始使用具有深层次结构的网络模型去进行机器学习,首先受益的就是图像识别领域,比如人脸识别,又比如本文的字符识别,数字识别。从结果上来看,深度结构模型确确实实提高了正确率。1.3本文的主要工作本文首先给出了作者对一些基本的神经计算原理的理解,比如模拟退火,玻尔兹曼机,分析了神经网络的思想,并基于经典的神经计算理论,去理解受限玻尔兹曼机的基本框架。这个框架包含了许多复杂的数学推论和原理,其中的公式推导涉及偏微分计算,矩阵操作,梯度优化,条件概率,似然函数,随机过程,随机模拟,采样技术等等,这也是受限玻尔兹曼机理论的核心,许多文章并没有给出细致的推导过程以及他们和受限玻尔兹曼机的关联,本文对这些数学理论和公式进行了详细的梳理,并一一推导,进而阐述了它们是怎样用到受限玻尔兹曼机里面的。最后,本文使用基于受限玻尔兹曼机的深度信念网络来对手写数字进行识别,用MATLAB对MNIST手写数字数据集进行试验,做出了实验结果,并对实验结果进行了详细分析。1.4论文的组织结构第1章绪论,介绍了神经网络和深度学习的背景和研究现状,描述了作者主要工作和本文的主要结构第2章神经网络基本模型算法与RBM模型探讨,从基础的神经网络模型着手逐步解析受限玻尔兹曼机第3章深入理解受限玻尔兹曼机中的数学问题,阐述了RBM涉及的数学原理和模型,更进一步解析RBM模型第4章用RBM做手写字符识别的实现,介绍一种基于RBM和深度学习的识别手写字符的算法,论述了该算法流程框架第5章详细呈现了上一章算法的实验结果第6章概述了作者对于深度学习未来研究的展望

第2章神经网络基本原理与RBM模型探讨2.1启发式思想与模拟退火算法2.1.1贪心算法的局部最优限制与启发式思想神经网络的许多算法是基于启发式思想寻求全局最优解,所以在本章第一节第一小节受限介绍启发式思想,为下面论述玻尔兹曼机作铺垫理论基础。贪心算法是一种常见的寻求最优解的算法,其思想实现广泛,比如单源最短路的dijkstra算法。但是在实际问题中,贪心思想很容易陷入局部最优解,从而无法获得全局最优解,举一个很鲜活的例子:图2-1爬山算法示意图这是爬山算法的示意图,从C点出发,根据贪心算法,每一步都寻求最高的山峰,那么到达A之后就没有办法再移动了,因为无论怎么走,下一步都不是更优的解。[1]于是有人提出了启发式思想,在做下一步决策的时候,加入随机因子,把随机因子与贪心思想有权重地结合,更具体来说就是,下一步的选择,有一定几率是更优解,但也有一定几率,不比上一步更优。2.1.2模拟退火模型及其概率转移计算模拟退火算法是一种基于启发式思想的寻求全局最优解的算法,其思想借鉴于统计力学。[2]一个实际的物理系统,院子的运行总是最低能态,一开始温度较高时,高温使系统具有较高的内能,而随着温度的下降,原子越来越趋于低能态,最后整个物体形成最低能量的基态。在物体降温退火过程中,其能量转移服玻尔兹曼分布规律,这大概也是玻尔兹曼机的由来。为了描述模拟退火算法,给出下列定义。能量函数,以计算在给定状态下,原子集合的热能每个状态发生的概率为,其中是温度,是玻尔兹曼常数。代价函数为,即从状态到能量函数变化决定是否把作为下一个状态的选择过程是这样的计算状态转移概率函数随机数从0到1均匀选择,如果大于,则作为下一个状态2.2玻尔兹曼机与受限玻尔兹曼机玻尔兹曼机(BM)是建立在模拟退火和随机神经元基础上,并行的约束满足网络。玻尔兹曼机能够学习集合所示的一组模式的潜在特性[3]。其结构图如下:图2-2玻尔兹曼机结构图其中h代表隐含层,v代表可视层,整个网络呈完全图的状态,这是和RBM最大的不同。在无监督学习状态下,仅可视层与外部环境有相互作用。为描述玻尔兹曼机的模型概念,给出以下定义。全局能量函数,其中是阈值,是神经元状态,激活为1,非激活为0状态转换函数,当,等式迫近与霍普菲尔德网络模型,霍普菲尔德是温度为0的玻尔兹曼机的特殊情况整个算法的大致流程是,把输入输出放置在可视层,通过不断翻转隐含层的状态(翻转正负),调整权值,寻求全局能量最小。受限玻尔兹曼机(RestrictedBoltzmannMachine)和玻尔兹曼机比起来,主要是加入了限制,限制就是把玻尔兹曼机的完全图限制为二分图,可视层之间没有连接,隐含层之间没有连接。受限玻尔兹曼机在玻尔兹曼机基础上加入限制,规定了网络结构必须为二分图,模型中包含隐含层和可视层,一般可视层作为数据输入层。而无限制的玻尔兹曼机是一种递归神经网络。这一种限定使得算法训练更加快捷,更容易获得符合受限玻尔兹曼机的分布的样本。2.3受限玻尔兹曼机模型概述2.3.1受限玻尔兹曼机网络结构受限玻尔兹曼机包含两层网络结构,可见层和隐含层,用v和h表示,神经元之间连接有如下特点:层内无连接,层间全连接,是一个二分图结构[4]图2-3受限玻尔兹曼机结构图[2]同样给出下列定义分别是可视层隐含层神经元数量可见层状态,与玻尔兹曼机相同,这个状态是二值的隐含层状态,同样是二值状态可见层的偏置值隐含层的偏置值隐含层与可见层之间的权值矩阵记为RBM中参数,在下一节计算概率分布的时候会详细论述可见层单元用于描述观察数据的一个方面和特征,对于黑白二值图,一个神经元可能就是描述图片某处是白色还是黑色,隐含层的意义一般不明确,用于描述可见层单元变量之间的联系,有时候可以做特征提取。RBM和BM的区别在于内层神经元无连接,所以RBM具有如下特征:在给定可见层状态时,隐含层各神经元状态条件独立;在给定隐含层状态时,可见层各神经元状态条件独立。这个性质对于下面计算概率分布尤为重要。2.3.2受限玻尔兹曼机能量函数及概率分布计算与玻尔兹曼机相似,受限玻尔兹曼机也定义了能量函数[5]利用能量函数,可以给出联合概率分布,其中是归一化因子,对于一个实际的学习过程,需要求解的是有RBM所定义的关于数据的分布,即,也就是的边缘分布,也成为似然函数。提到似然函数,就必须提及最大似然思想,也叫极大似然估计。这种方法的基本思想是,寻找一种参数,使得这个样本发生的概率最大[6]。举个及其直白的例子:设盒内黑球和白球的数量为9:1,单不知何种球多,现在有放回地取三次,发现一三次取到白球,第二次取到黑球。试判断那种球多。常人能立即反应,当然应该是白球为9,因为两次抽取到了白球,白球数量多,被抽取的概率大,所以被抽中两次。而用极大似然思想来解释,则是选取一种参数估计,使得样本发生的概率最大,在这个例子参数估计情况只有两种,第一是黑比白9:1,第二种是白比黑9:1,因为第二种参数估计情况下,发生上述事件的概率大,所以接受第二种估计,这就是最大似然估计的思想。接下来给出的定义是,给定可见层的状态,计算隐含层每个单元的激活概率。其中为经典的sigmoid激活函数由于RBM的结构是对称的,所以一旦给出隐含层的状态,也可推算可见层激活的概率,公式是一样的。RBM的学习任务是求出参数的值,以最大化拟合给定的数据集。下面详细描述了RBM的学习过程。输入:一个训练样本,隐含层的数量,学习率和最大训练周期输出:参数列表训练过程:A.初始化:把参数设置为随机的较小数值,训练样本输入到可见层B.然后经历3层概率推导过程:1.对于所有隐含单元,用概率转移公式,由当前参数下以及当前可视层状态下,每个隐含层神经元的激活概率,使得每个神经元有概率地选择被激活,随后获得2.对于所有隐含单元,同样地用概率转移公式,由当前参数下以及当前隐含层状态下,每个隐含层神经元的激活概率,使得每个神经元有概率地选择被激活,随后获得3.对于所有隐含单元,同样地用概率转移公式,由当前参数下以及当前隐含层状态下,每个隐含层神经元的激活概率,使得每个神经元有概率地选择被激活,随后获得C.经过3次概率计算,获得了,根据这四个状态向量和学习步长,更新参数上述过程就是对比散度的受限玻尔兹曼机学习过程,在下面章节会论述这个方法。关于B过程的三次概率推导,以及C过程的参数更新,这是一个极其复杂的过程,也是受限玻尔兹曼机最精巧的部分,涉及大量数学知识,这一个部分的原理将在第三章详细讲述。然而随即神经元,有概率地激活,有概率地接受状态转移,这是启发式思想,是模拟退火、玻尔兹曼机的核心。

第3章受限玻尔兹曼机中的数学理论3.1随机梯度法解对数似然函数受限玻尔兹曼机要学习的目标是根据样本寻找参数,使得在该参数下受限玻尔兹曼机的分布更符合样本。为了达到这个目的,我们采用最大似然函数求解,这个在上一章举例说明过,然而现实计算中,往往把最大似然函数对数化,可以方便求解,因为对数和原函数同增减,对数的最大值也为原函数的最大值,原问题变为最大化训练集上的对数似然函数学习得到的。其中是训练样本数。要求解这个函数的最大值,我们使用随机梯度法,随机梯度法是一种寻优方法,给定一个初始状态,不断地更新,直到达到最优状态,其中可以称为学习步长,决定了随机梯度上升法的搜索步长[7]。随机梯度法的优点是简单,但缺点是收敛速度慢。随机梯度法的思想贯穿整个RBM学习过程,在求某些分布的时候,由于计算量过大,无法直接获得,所以采用马尔科夫蒙特卡罗(MCMC)和Gibbs采样技术,这个会在下一小节讲述。令,上述最优解即为求的最大值,这就是随机梯度法的用处,用于求解这个函数的最大值。首先化开对数似然函数其中是能量函数简写然后求导,所谓的梯度就是对数似然函数关于参数的偏导数整个推到过程繁而不复杂,其中的概率转换请参考上面的概率转移函数而中,包含多个参数,分开求导如下然而,根据第2章所描述的概率计算,是相当难求的,因为有归一化因子,因为跟是一个二值状态,所以他们的状态数是,这是一个指数级的计算量,是计算机难以接受的,在下一小节,我将详细论述,如何通过MCMC和Gibbs采样来求解这个问题。3.2马尔可夫链蒙特卡罗策略与Gibbs采样3.2.1马尔科夫链与马氏定理先给出随机过程定义,对于任意,为一随机变量,则为一随机过程。举个例子说明,一次又一次地抛硬币,观察每次出现正反面的情况,若第次出现正面,则,否则。则就是一个随机过程。如果每次投掷相互独立,那就是独立同分布的随机变量序列。随机过程中,随机变量的取值集合成为随机过程的状态空间,比如代表时刻随机过程的状态空间。由此引出马尔科夫链的定义:意思就是,下一个状态的概率,只与上一个状态有关,和前面的状态都没关系。讲到这里似乎离RBM有点远了,请想一下,RBM中可视层和隐含层的神经元有两个状态,1和0,表示激活与否,这就可以看成是一个随机过程,每个神经元都是有概率地被激活,然后层内所有神经元的状态合集,就是一个随机过程的状态空间。接下来是马氏链定理,引用网上一个例子说明。社会学家经常把人根据他的经济状况分成3类:下层人士、中层人士、上层人士,分别用1,2,3表示这3个阶层。社会学家发现决定一个人的收入阶层最重要的一个因素就是他的父母的收入阶层,所以根据这个因素,社会学家计算出父母阶层与子代阶层的概率关系,比如:一个人收入属于下层,那么他孩子属于下层收入的概率是0.65,下面给出这个概率关系的表格表3-1父代到子代收入阶层概率变化表父代子代12310.650.280.0720.150.670.1830.120.360.52概率转移矩阵记为这是一个马尔科夫链问题,因为在研究假设中,当代人的收入阶层只依赖于他们的父代。令当代人的收入阶层概率分布为,那么他们的子女的收入阶层的概率分布为,他们的孙收入阶层概率分布为,由此迭代。现假设原始概率分布为,则可以计算它的子孙后代的概率分布,发现有个规律,迭代到第7代人,这个概率就开始不变了,也就是说于是改变原始概率分布,发现到了第9代,概率又稳定不变了,而且同样地和上面的稳定概率分布相同!所以发现,马氏链的稳定状态与初始状态无关,与概率转移矩阵有关。于是把这个稳定不变的概率状态称为马氏链的平稳状态。这个发现,是下面MCMC方法,Gibbs采样的理论基础和思想源泉。3.2.2三种采样算法上一小节讲述了马尔科夫链和它的规律,这个规律可以用来求解难以计算的积分或者概率分布,也就是上一章所说的指数级的那个概率函数。在此之前,先要提及三种采样算法,MCMC,Metropolis-Hastings和Gibbs。一个实际的问题是,给定一个概率分布,能否有一种便捷的方式去生成它对应的样本,前提是这个概率分布非常复杂,不像分布那样简单,比如像上一节所说的受限玻尔兹曼机的计算难题。于是有一个很精妙的想法,基于上一小节的马氏链:构造一个概率转移矩阵为的马氏链,使得这个马氏链的平稳分布恰好是,那么无论我们从任何一个初始状态出发,沿着马氏链的概率转移函数转移采样,这样我们就得到了关于的样本了。在这里必须搞清楚几个概念的东西,什么是采样,什么是初始状态,什么是原始概率分布。举例说明,还是上一节的收入阶层,拿100人来做实验,原始概率分布,那按道理,这一百人里面,1有21人,2有68人,3有11人,这就是一个原始状态,一个长度为100的向量,取值1,2,3。然后按照概率转移矩阵,计算下一代人,按概率来更新,也就是采样过程。什么是采样过程,通俗来讲是这样,比如上面的概率,在地上画一个矩形,面积比例与概率分布相同,该区域就代表这个概率的阶层,不考虑外力每粒米独立同概率,撒100粒米,落在哪个区域就代表是那一个阶层,这就是一个采样过程。本小节所讲的三种采样方法分别是MCMC,Metropolis-Hastings和Gibbs,这三个方法有一个定理作为基础:细致平稳定理如果非周期马氏链概率转移矩阵和分布满足下面关系式则是马氏链的平稳分布。这个式子通俗来讲就是从状态到状态,转移过去和转移回来的概率相同,所以是稳定的。需要注意一点,这个公式是平稳状态的充分非必要条件,也就是说,满足这个式子那一定是平稳状态,但平稳状态不一定满足这个式子。于是根据这个细致平稳定理,可以人为地构造马氏链,使得它为平稳状态。比如说,我们有一个马氏转移矩阵(从状态到状态的转移概率),但是他并不符合细致平稳条件,也就是说那么加入,令,然后构造新的概率转移矩阵,于是细致平稳条件就成立了由于满足细致平稳条件,所以就是马氏链的平稳分布!在的基础上加入,可以把看成是原有基础上的接受率,在原来概率专一的基础上,增加一道新的阀门,概率大于则接受转移,小于的不接受转移。由此引出MCMC采样算法:A初始化马氏链初始状态B对t=0,1...n进行下列循环采样 1.t时刻马氏链状态为,采样 2.均匀采样 3.判断,如果,则接受转移,,否则拒绝转移,这里引发了一个问题,接受率,如果太小,那么接受率很低,那么老是不能转移,这样马氏链容易原地踏步,拒绝大幅度的跳转。回到这个式子如果我们把同时扩大,那么细致平稳条件并没有被打破,但是注意,概率只能扩大到1,把最大者扩大到1,所以有了Metropolis-Hastings算法,算法流程如下A初始化马氏链初始状态B对t=0,1...n进行下列循环采样 1.t时刻马氏链状态为,采样 2.均匀采样 3.判断,如果,则接受转移,,否则拒绝转移,到了这一步算法已经很漂亮了,但有否能令成为1的算法呢,也就是马氏链转移不再受约束,这就是Gibbs算法。Gibbs算法在高维的情况下比Metropolis-Hastings要高效。首先从二维看起,假设有一个概率分布表示在该坐标上的概率,观察横坐标相同的两个点和,计算他们之间的转移概率所以他们满足细致平稳条件。从二维的角度来看,除了横轴,纵轴相同的情况下,概率转移也满足细致平稳条件图3-1二维概率转移示意图于是我们可以构造一个概率转移矩阵,只允许平行移动,比如有了上述概率转移矩阵,易验证它满足细致平稳,概率分布就是。给出二维Gibbs算法A初始化马氏链初始状态B对t=0,1...n进行下列循环采样图3-2二维Gibbs算法概率转移示意图3.2.3用采样技术解受限玻尔兹曼机中的计算难题有了Gibbs采样算法,就利用它来求解受限玻尔兹曼机的计算难题。这个式子相当难求,因为归一化因子的计算量是指数级别。Gibbs就是为了求这个式子用的。上一小节提到二维的Gibbs算法可以通过固定一个坐标轴,沿着平行坐标轴的方向循环采样,得到关于概率分布的样本。对于高维样本,这个方法同样管用。因为难以求得,所以考虑从条件分布入手。假如可以得到关于和的条件分布和和,结合上述二维的情况,可以试着把看成上面的二维空间,那么构造一个只允许平行于坐标轴的概率转移函数。设有两点和,他们的概率函数为,转移函数如下上面一小节已经证明过这个符合细致平稳条件,所以根据这个转移矩阵的采样结果,是符合分布的,也就是那个指数级的计算式子,这样,指数级别的运算,就被约等于循环采样的结果了。于是就有了所有受限玻尔兹曼机文章经典的采样式子 3.3对比散度算法所有上一小节的采样技术,都是为了避免计算指数级别的概率分布的。那么回顾一下那个RBM受限玻尔兹曼机的学习目标,也就是梯度函数,也就是要球最大似然函数,使得训练参数最大限度符合训练样本第一项的,根据第2章,也是一个指数级的运算,因为他有项。但是第一项经过化简,是可以化成单个神经元激活函数,即sigmoid函数的而第二项,上一小节已经论述过,可以通过Gibbs采样算法近似模拟。Gibbs采样算法需要步。于是Hinton提出对比散度算法,并证明,当使用训练数据初始化,那么经过2步就可以得到足够好的近似。在CD算法开始,将训练样本输入到可视层单元里面,根据Gibbs采样方法,用采样出隐含层的状态,然后根据隐含层的状态,再采样出可视层的状态,这个叫做可视层的重构,用这个重构来近似模拟指数级难以计算的概率分布,因为这个重构是按概率分布的样本。在本文第2章的时候曾描述过RBM的学习过程,那个也就是对比散度的过程,在C步骤里面,使用四个状态来更新参数列表,那时候描述得较为含糊,现在有了Gibbs和能量函数的推导公式,可以详细展开来论述这个过程是如何操作了。给出梯度函数以及各项偏导数还有单个神经元激活函数观察上面三个偏导数,有两个含有项,因为神经元取值只有0和1,所以项和概率相乘等于概率本身,如果没有,那么概率会被求导消掉,于是有了下面的更新函数 其中是学习步长。

第4章基于受限玻尔兹曼机的手写字符识别模型4.1手写字符特征提取4.1.1图像特征提取概念及背景特征提取是指的是使用计算算法获得图像信息。尤其是专属信息或者特征,以用于识别、分辨、检索。所谓的特征,就是用来区别这个图像和其他图像的。通过提取图像的特征,计算机可以对这个图像进行识别,分类,从而进行检索。一个视觉算法的性能往往取决于它所使用和定义的特征。传统的特征提取算法基本是基于人的先验知识,比如数字的特性,人的书写习惯等等。所以基于这个特点,人给一些图像的特征提取方法,有时候也称作“描述子”,定下了一些准则旋转不变性。对于一个相同的字符,如果把它旋转任意角度,提取出来的特征应该是不变的位移不变性。对于一个相同的字符,如果把它移动任意距离,提取出来的特征应该是不变的大小不变性。对于一个相同的字符,如果把它扩大或缩小任意倍数,提取出来的特征应该是不变的深度学习在计算机视觉领域最具影响力的突破发生在2012年,Hinton的研究小组采用深度学习赢得了ImageNet图像分类比赛的冠军。排名第2到第4位的小组采用的都是传统的计算机视觉方法、手工设计的特征,他们之间准确率的差别不超过1%。Hinton研究小组的准确率超出第二名10%以上。这个结果在计算机视觉领域产生了极大的震动,引发了深度学习的热潮[10]。4.1.2常见的手写字符图像特征提取方法由于人的手写字符千变万化,比如现实生活中,每个人的字迹就不一样,所以签名才如此重要。那对于计算机要识别手写的字符,在提取特征的时候,就必须要把适度范围内的形变考虑进来。识别的关键在于能够提取稳定的、最能表现字符差异的突出特征。经过试验,这种特征一般很难提取,必须通过多重特征组合而成,才能达到要求[11]。下面介绍一些常见的字符特征提取算法。字符宽度特征字符宽度特征是一个相对的数值。它表示的是字符最大宽度与最小宽度之比。很明显,这个策略对于识别数字“1”是高度有效的,但考虑到,起笔处和落笔,以及有些人书写的习惯,比如顿笔,还有笔锋,顶端和底端的宽度不应作为最小值。在扫描字符时应从某个合适的阈值开始到为止。交叉点特征交叉点特征是一组重要的手写数字结构特征。交叉点特征包括在字符中出现的交叉点类型及其位置。在字符细化后是很容易得到笔划起点和终点和交叉点的。为解释交叉点特征,定义以下几个概念。起点/终点。起点/终点是指书写字体的起笔处和落笔处,与该点连接数为1.三交叉点。周围有三条边与之相交四交叉点。周围有四条边与之相交找到这些交点后,须记录他们的坐标。要对这些点定位。这种算法,对于经过字符细化之后是很高效的,是一种基于骨架的手写字符识别方法。链码链码算法通过链码提取图像的关键点产生了一种相对于平移、旋转与尺度不变的表示方法链码是通过一个给定的方向上的单位尺寸的直线片段的序列来描述一条曲线或一个二维形状的边界。图4-1链码方向示意图链码算法具体来说就是,给定四个方向或者八个方向,从起点出发,用数字记录下一个点的方向,形成一条链,这条链上面的数码就是整个字符形状的记录。由这个描述可知,这种方法的抗形变性很差,几乎不能应对哪怕一点点的字符形变,只要书写的字符笔迹不同或者稍微歪斜,识别几乎是错误的。基于网格的方法将图像形状边界映射到一个标准的网格上,并将该形状边界调整到网格左上角,然后从左向右,从上到下扫描网格,若某个单元格被形状边界全部或者部分覆盖,则赋值1,否则赋值0,这样就得到了一个0.1组成的串,用来表征形状特征。求异或并统计1的个数判断相似性。该方法具有平移不变性,但是不具有旋转和尺度不变性。解决方法:定义形状的主轴。为了得到旋转不变性,旋转改形状,使主轴平行于某特定的直线,例如x轴。为了得到尺度不变性,可以使主轴标准化为一个标准的主轴,固定长度。4.1.3数据降维与受限玻尔兹曼机提取特征基于上文描述的深度模型的优越性,本文采用受限玻尔兹曼机模型提取手写字符的特征。浅层的受限玻尔兹曼机,把二值手写字符图像输入到可视层,通过训练算法,获得隐含层,这个隐含层的状态就是提取的特征。RBM结构图如下图4-2受限玻尔兹曼机结构图这一步引发了作者的思考,在这个过程中,输入的手写字符是28*28的二值矩阵,打到隐含层是100个二值,这个过程数据变少了,和另一个数据处理过程尤为相似——数据降维,那么RBM特征提取和数据降维之间有什么区别呢,这里作者想花一些笔墨稍微讨论一下[12]。首先给出给出大部分人的观点:数据降维包含两种方法,其一是特征抽取,其二是特征选择。特征抽取不改变原数据特性,只是有侧重地选取数据,减少数据的维度,但仍然以原有的世界观去看待事物,只不过是去繁就简,简略而看待罢了。但是所谓特征选择,是用一种超越现有的世界观去看待事物,是更高层次的视觉和理解,会发现事物背后暗含的复杂联系,会用一个更普识更泛化的观点。4.1.4深度信念网络与贪婪学习上述文字介绍了受限玻尔兹曼机提取图像特征,但是,受限玻尔兹曼及仍然是一个浅层的结构,“深度”二字仍未体现,这就引出了深度信念网络(DeepBeliefNetworkDBN)的想法。4-3深度信念网络示意图DBN是由多层神经元组成[13],这些神经元又分为可视神经元和隐含神经元。可视神经元用于接受输入,隐含神经元用于提取特征。因此隐含神经元也有个别名,叫特征检测器。最顶上的两层间的连接是无向的,组成联合内存。较低的其他层之间有连接上下的有向连接。最底层代表了数据向量(datavectors),每一个神经元代表数据向量的一维。DBN组成的基本元件是受限玻尔兹曼机。训练DBN的过程是一层一层地进行的。在每一层中,用数据向量来推断隐层,再把这一隐层当作下一层的数据向量。在这个手写字符识别算法中,DBN的工作流程是这样的,将两个RBM堆叠起来,其中第一个RBM的可视层输入的是手写数字二值图的28*28矩阵转移成784一维向量,而隐含层则是特征提取,数量为100的一维向量,将这个一维向量作为第二层的可视层输入,输出的仍然是一个数量为100的一维向量,作为最终提取的特征,这个特征经过两层RBM抽取,具备很多浅层机器学习算法所不能提取的非线性抽象特征。其中,每一层的RBM都可视作特征提取器,第一步逐层提取特征,第二步对整个网络进行微调精确训练,而层与层之间是通过贪婪方法进行学习的。贪婪学习,顾名思义就是用贪婪思想,每一步都力求最优。它的的主要思路是每次只训练网络中其中一层。也就是首先训练一个只含一个隐藏层的网络,当这层网络训练结束之后才开始训练一个有两个隐藏层的网络。以此类推。训练完毕后对每一层的权重进行监督的微调。4.2手写字符特征分类通过上一个步骤,把输入的手写二值图像进行特征提取,得到100个二值数字,这个就是提取的特征,下一步就是根据这些特征对手写字符进行分类。分类的算法有很多,SVM,贝叶斯,决策树,KNN,神经网络[14],在这里我采用了BP后播神经网络算法对提取的特征进行分类。BP神经网络全称误差反向传播神经网络[15],由一个输入层,一个或多个隐含层和一个输出层构成,它的结构如下图所示:4-4BP神经网络结构图BP神经网络最主要的优势在于它对于外界刺激和输入进行强行联系能力,另外BP神经网络对外界输入样本有很强的识别和分类能力,由于它有很强的处理非线性问题的能力,解决了许多机器学习界的非线性分类难题。其次,它是一种按误差逆传播算法训练的多层前馈网络,这就意味着它具备根据训练集的标注进行自我调整的能力,MNIST数据集没个二值图像都有label,即正确答案,BP神经网络算法的原理是,先初始化网络权值,根据这个权值计算的答案,与正确答案的误差,不断调整权值,减少误差,最后达到最优,这正是训练的目的,在此,本文就采用BP神经网络算法来对提取的特征进行分类,并根据训练集的label调整权值以达到最优。4.3手写字符识别算法流程整个手写字符识别算法的流程如下:step1.从MNIST数据集中提取二值手写字符图片,分别有60000张train和10000张teststep2.把两个受限玻尔兹曼机堆叠起来,作为一个深度信念网络step3.把train集输入到第一层受限玻尔兹曼机的可视层,通过学习算法,训练出两层受限玻尔兹曼机的参数,包括各神经元权值,偏置参数step4.把test集输入到受限玻尔兹曼机,不再经历学习算法,直接用第2步的学习参数,获得隐含层状态,即为提取的特征step5.使用训练好的RBM权值,首先给train集提取特征,放到分类器进行分类,和label进行对校,然后后播更新权值step6.使用训练好的RBM权值,给test集提取特征,放到分类器分类,这次不再调整权值,直接得出答案,和label进行校对,计算error值

第5章基于受限玻尔兹曼机的手写字符识别模型示例5.1手写数字数据集MNIST解析根据上一章所描述的算法流程,使用深度学习MATLAB的deeplearning框架做实验。在此之前是要解析手写数字数据集MNIST。下载下来的文件结构是这样的,一共有四个文件t10k-images.idx3-ubyte,t10k-labels.idx1-ubyte,train-images.idx3-ubyte,train-labels.idx1-ubyte。t10k代表测试数据集,一共有10k也就是10000张图片,train是训练集,60000张图片。image是图片,然后了labels是标签,对应着图片,比如手写图片数字是9,label就是9。每一个idx3-ubyte文件,格式是这样的,前十六位包含文件信息,包括图片数量的多少,图片的长宽等,知道这些就可以开始读取图片了,然后文件中的图片的串不是严格的矩阵,需要通过重新排列,用reshape函数,排列成图片矩阵。通过矩阵转置重新排列等操作,把文件中每张图片的二值记录在一个个矩阵内,然后就可获得数据集的图片,用MATLAB实现如下:file='t10k-images.idx3-ubyte';fid=fopen(file,'r');a=fread(fid,16,'uint8');%Thefirst16unitsisabouttheinformationofthedataset.MagicNum=((a(1)*256+a(2))*256+a(3))*256+a(4);ImageNum=((a(5)*256+a(6))*256+a(7))*256+a(8);ImageRow=((a(9)*256+a(10))*256+a(11))*256+a(12);ImageCol=((a(13)*256+a(14))*256+a(15))*256+a(16);fori=1:ImageNumb=fread(fid,ImageRow*ImageCol,'uint8');c=reshape(b,[ImageRowImageCol]);d=c';e=255-d;e=uint8(e);img{i}=e;waitbar(i/ImageNum);endsave('img_data.mat','img');选取了前25张手写字符图,并给上对应的label值,结果如下图5-1MATLAB读取MNIST数据集结果示例5.2结果分析用DBN+NN模型对MNIST数据集进行识别,DBN是堆叠RBM的网络结构,而NN充当一个分类器,它的权重由RBM算法来初始化。对于第一个特征提取的权值矩阵,用MATLAB可视化出来,结果如下。图5-2RBM的权值可视化结果具体RBM的权值可视化过程是这样的。由于MNIST手写数字集的图像是28*28的二值图,28*28=784,算法输入到RBM可视层的是一维向量(784个可视元),然后隐含层是100个隐含元,权值矩阵是一个784*100的二维矩阵,图5-1就是根据这个矩阵画出来的。整个可视化图10*10个格子,对应隐含层100,然后每个格子28*28,对应784,根据权值确定灰度,这样,784*100的权值矩阵就被可视化出来了。表5-1RBM识别手写数字的结果test集总数10000error数736正确率99.27上述结果,10000张图片,DBN+NN模型识别有误的有736张,这样计算正确率超过了99%,对着736张误判的图进行展示,结果如下,其中“\”前的是模型识别的结果,后面则是人工标注的label结果。图5-3部分误判结果上面这些误判结果,大部分都是有歧义的手写字符,比如说第1第2个,和最后一个,要进一步提高这个识别率,尤其是对于有歧义的手写字符,可以考虑专门采用有歧义的字符做一个训练集,这样,网络结构对于有歧义字符也许会更适应,识别率更高。

第6章总结与展望本文从神经网络基本原理以及统计优化等数学知识着手研究受限玻尔兹曼机模型,介绍了模拟退火,玻尔兹曼机,马尔科夫链,MCMC和Gibbs采样方法,这些理论基础构成了受限玻尔兹曼机基本模型,也是深度信念网络的组成元件。深度学习的发展推动了人工智能和机器学习的各个领域,利用深度学习做手写字符识别,已经被验证可以显著提高识别精度。除了手写字符识别,以及计算机视觉的各种识别,包括人脸识别,图像检索之外,比如语音识别,现在也开始尝试使用深度学习,并取得突破性进展。更加有趣的领域是情感分析,因为深度学习与人脑的分析过程及其相似,给出一段文字,或者有上下文,通过学习建模,可以分析出人的感情,人的意见,这是自然语言处理的领域最新的研究。在未来一段时间,深度学习恐怕都会霸占所有机器学习消息来源的头条,目前所要继续做的问题是,如何把实际问题,更合理地安排到各层神经,如何获得完备的数据集,如何继续加快运算速度,在未来,深度学习说不定就是通向机器人普及最快一条道路。致谢本文的完成,也算是结束了本科最后一堂课,回想本科学习生涯,我衷心感谢蔡珣老师。蔡老师为人和蔼可亲、关爱学生,在研究阶段,老师为我学习神经网络和深度学习过程中提供了很多帮助,在毕设阶段,老师对我的课题研究、论文选题和撰写都给与了极大的关注和悉心指导,我想这一切都值得在本文结束之前表达我的谢意。在此谨致以诚挚的敬意和衷心的感谢!最后,感谢在我成长的过程中给予我帮助的所有老师、朋友和同学们。

参考文献[1](美)ThomasH.Cormen等著算法导论.原书第2版北京:机械工业出版社2005[2]石志忠神经网络北京:高等教育出版社2008[3](美)IvicaKostanic等著神经计算原理北京:机械工业出版社2007[4]张春霞,姬楠楠,王冠伟受限玻尔兹曼机简介2013[5]AsjaFischer,ChristainIgelAnIntroductiontoRestrictedBoltzmannMachinesIberoamericanCongressonPatternRecognition,2012[6]徐伟,许勇,师义民,秦超英编著数理统计(第三版)北京:科学出版社2001[7]李春明优化方法南京:东南大学出版社2009[8](美)ThomasLeonard等著BayesianMethod(英文版)北京:机械工业出版社2005[9]RafaelC.Gonzalez等著数字图像处理(第三版)北京:电子工业出版社2010[10]王晓刚图像识别中的深度学习《中国计算机学会通讯》第8期《专题》2015[11]黄瀚敏,汪先矩,易正俊,马笑潇一种基于特征提取的手写字符识别技术重庆大学学报2001[12]王建忠高维数据几何结构及降维北京:高等教育出版社2012[13]倪嘉成.许悦雷.田元荣基于深度学习的MINST手写体字符分类研究[会议论文]2013[14]李航统计学习方法北京:清华大学出版社2012[15]樊振宇BP神经网络模型与学习算法软件导航2011

附录1英文原文AnIntroductiontoRestrictedBoltzmannMachinesAsjaFischerandChristianIgelRuhr-Universit¨atBochum,GermanyUniversityofCopenhagen,DenmarkAbstract.RestrictedBoltzmannmachines(RBMs)areprobabilisticgraphicalmodelsthatcanbeinterpretedasstochasticneuralnetworks.Theincreaseincomputationalpowerandthedevelopmentoffasterlearningalgorithmshavemadethemapplicabletorelevantmachinelearningproblems.Theyattractedmuchattentionrecentlyafterbeingproposedasbuildingblocksofmulti-layerlearningsystemscalleddeepbeliefnetworks.ThistutorialintroducesRBMsasundirectedgraphicalmodels.Thebasicconceptsofgraphicalmodelsareintroducedfirst,however,basicknowledgeinstatisticsispresumed.DifferentlearningalgorithmsforRBMsarediscussed.AsmostofthemarebasedonMarkovchainMonteCarlo(MCMC)methods,anintroductiontoMarkovchainsandtherequiredMCMCtechniquesisprovided.1.IntroductionBoltzmannmachines(BMs)havebeenintroducedasbidirectionallyconnectednetworksofstochasticprocessingunits,whichcanbeinterpretedasneuralnetworkmodels[1,16].ABMcanbeusedtolearnimportantaspectsofanunknownprobabilitydistributionbasedonsamplesfromthisdistribution.Ingeneral,thislearningprocessisdifficultandtime-consuming.However,thelearningproblemcanbesimplifiedbyimposingrestrictionsonthenetworktopology,whichleadsustorestrictedBoltzmannmachines(RBMs,[34]),thetopicofthistutorial.A(restricted)BMisaparameterizedgenerativemodelrepresentingaprobabilitydistribution.Givensomeobservations,thetrainingdata,learningaBMmeansadjustingtheBMparameterssuchthattheprobabilitydistributionrepresentedbytheBMfitsthetrainingdataaswellaspossible.Boltzmannmachinesconsistoftwotypesofunits,socalledvisibleandhiddenneurons,whichcanbethoughtofasbeingarrangedintwolayers.Thevisibleunitsconstitutethefirstlayerandcorrespondtothecomponentsofanobservation(e.g.,onevisibleunitforeachpixelofadigitalinputimage).Thehiddenunitsmodeldependenciesbetweenthecomponentsofobservations(e.g.,dependenciesbetweenpixelsinimages).Theycanbeviewedasnon-linearfeaturedetectors[16].Boltzmannmachinescanalsoberegardedasparticulargraphicalmodels[22],morepreciselyundirectedgraphicalmodelsalsoknownasMarkovrandomfields.TheembeddingofBMsintotheframeworkofprobabilisticgraphicalmodelsprovidesimmediateaccesstoawealthoftheoreticalresultsandwell-developedalgorithms.Therefore,ourtutorialintroducesRBMsfromthisperspective.Computingthelikelihoodofanundirectedmodeloritsgradientforinferenceisingeneralcomputationallyintensive,andthisalsoholdsforRBMs.Thus,samplingbasedmethodsareemployedtoapproximatethelikelihoodanditsgradient.Samplingfromanundirectedgraphicalmodelisingeneralnotstraightforward,butforRBMsMarkovchainMonteCarlo(MCMC)methodsareeasilyapplicableintheformofGibbssampling,whichwillbeintroducedinthistutorialalongwithbasicconceptsofMarkovchaintheory.Aftersuccessfullearning,anRBMprovidesaclosed-formrepresentationofthedistributionunderlyingtheobservations.Itcanbeusedtocomparetheprobabilitiesof(unseen)observationsandtosamplefromthelearntdistribution(e.g.,togenerateimagetextures[25,21]),inparticularfrommarginaldistributionsofinterest.Forexample,wecanfixsomevisibleunitscorrespondingtoapartialobservationandsampletheremainingvisibleunitsforcompletingtheobservation(e.g.,tosolveanimageinpaintingtask[21]).Boltzmannmachineshavebeenproposedinthe1980s[1,34].Comparedtothetimeswhentheywerefirstintroduced,RBMscannowbeappliedtomoreinterestingproblemsduetotheincreaseincomputationalpowerandthedevelopmentofnewlearningstrategies[15].RestrictedBoltzmannmachineshavereceivedalotofattentionre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论