《基于BP神经网络的手写数字识别.pptx》由会员分享,可在线阅读,更多相关《基于BP神经网络的手写数字识别.pptx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于BP神经网络的手写数字识别汇报人 :李烽n文献来源:Y.Le Cun,B.Boser,J.S.Denker,R.E.Howard,W.Habbard,L.D.Jackel,and D.Henderson.Handwritten digit recognition with a back-propagation network.In Advances in neural information processing systems 2,1989 本文使用BP网络进行手写数字识别,与以往将特征向量作为输入不同,该网络直接将图像作为输入,说明BP网络具有处理大量低级信息(low level in
2、formation)的能力.早前对简单数字图像的工作说明网络结构极大地影响了网络泛化能力。良好的泛化能力可通过在网络设计过程中引入先验知识得到。一个基本设计原则是减少自由参数(free parameters),而不用过度减少网络的计算能力。另一方面,要在网络结构中涉及合适的约束条件。INTRODUCTIONZIPCODE RECOGNITION选择手写数字识别作为研究对象是因为这是一个相对简单的机器视觉任务:1.将黑白像素点作为输入;2.数字能够很好地与背景分离开;3.输出只有10个类别;存在的问题:1.一般要得到较好的训练效果,隐层数目不能太少,当图片大的时候,需要的权值会非常多!2.对平移
3、、尺度变化敏感(比如数字偏左上角,右下角时即识别失败)3.图片在相邻区域是相关的,而这种网络只是一股脑把所有像素扔进去,没有考虑图片相关性。用最简单的神经网络进行识别28*28像素的图片ZIPCODE RECOGNITION选用的数据集来自纽约邮局真实的数据,包括各式各样的手写数字。作为补充,还加入了35种字体的打印数字。训练集:7291条手写数字,2549条打印数字测试集:2007条手写数字,700条打印数字训练集与测试集中的打印数字的字体不同训练集与测试集中包含歧义的、未分类、无分类的数据PREPROCESSING 在字符识别的过程中,识别算法不需要关心图像的彩色信息。因此,需要将彩色图像
4、转化为灰度图像。经过灰度化处理后的图像中还包含有背景信息。因此,我们还得进一步处理,将背景噪声屏蔽掉,突显出字符轮廓信息。二值化处理就能够将其中的字符显现出来,并将背景去除掉。THE NETWORK预处理之后,多层神经网络进行识别。网络中的所有连接都是自适应的。输入:归一化图像输出:10个类,如数字 2 的结果如下:-1-1 1-1-1-1-1-1-1-1全连接的网络由于有太多的自由参数而不能进行良好的泛化:全局、局部局部感受野、权值共享、feature map每种滤波器的参数不一样,表示它提出输入图像的不同特征,例如不同的边缘。这样每种滤波器去卷积图像就得到对图像的不同特征的放映,我们称之为
5、Feature Map。一个feature map中的所有神经元使用相同过滤器,不同层的feature map 使用不同的过滤器。卷积神经网络结构一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;S层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。卷积神经网络中的每一个
6、特征提取层(C-层)都紧跟着一个用来求局部平均与二次提取的计算层(S-层),这种特有的两次特征提取结构减小了特征分辨率。卷积和子采样过程用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积的feature map),然后加一个偏置bx,得到卷积层Cx。卷积层的输出=Sigmoid(Sum(卷积)+偏移量)子采样(subsampling)过程包括:每邻域四个像素求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过一个sigmoid激活函数,产生一个大概缩小四倍的feature map Sx+1输出=Sigmoid(采样*权重+偏移量)6个5X
7、5模板LeNet-5手写识别系统LeNet-5共有7层,不包含输入,每层都包含可训练参数(连接权重)。输入图像为32*32大小。这要比Mnist数据库(一个公认的手写数据库)中最大的字母还大。这样做的原因是希望潜在的明显特征如笔画断电或角点能够出现在最高层特征监测子感受野的中心输入图像是32x32的大小,局部滑动窗(卷积核)的大小是5x5的,由于不考虑对图像的边界进行拓展,则滑动窗将有28x28个不同的位置,也就是C1层的大小是28x28。这里设定有6个不同的C1层,每一个C1层内的权值是相同的。C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,
8、并且降低噪音)每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征(每种特征都不一样),然后每个Feature Map有多个神经元。下一页卷积的过程 S2层是一个下采样层(利用图像局部相关性的原理,对图像进行子抽样,减小图像规模同时保留有用信息),有6个14*14的特征图。特征图中的每个单元与C1中相对应特征图的2*2邻域相连接,局部感受野互不覆盖。S2层每个单元的4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid函数计算。每个单元的2*2感受野并不重叠,因此S2中每个特征图的大小是C1中特征图大小的1/4(行和列各1/
9、2)LeNet-5文字识别C3层也是一个卷积层,它同样通过5x5的卷积核去卷积层S2,然后得到的feature map就只有10 x10个神经元,但是它有16种不同的卷积核,所以就存在16个feature map了。这里需要注意的一点是:C3中的每个feature map是连接到S2中的所有6个或者几个feature map的,表示本层的feature map是上一层提取到的特征map的不同组合LeNet-5LeNet-5文字识别S4层是一个下采样层,由16个5*5大小的特征图构成。特征图中的每个单元与C3中相应特征图的2*2邻域相连接,跟C1和S2之间的连接一样。LeNet-5LeNet-5
10、文字识别C5层是一个卷积层,有120个特征图。每个单元与S4层的全部16个单元的5*5邻域相连。由于S4层特征图的大小也为5*5(同滤波器一样),故C5特征图的大小为1*1:这构成了S4和C5之间的全连接。之所以仍将C5标示为卷积层而非全相联层,是因为如果LeNet-5的输入变大,而其他的保持不变,那么此时特征图的维数就会比1*1大。LeNet-5LeNet-5文字识别F6层有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。F6层计算输入向量和权重向量之间的点积,再加上一个偏置。然后将其传递给sigmoid函数产生单元i的一个状态。由于经典的BP网络是一个一维节点分布排
11、列,而卷积神经网络是二维网络结构。所以,要把卷积神经网络的每一层,按照一定的顺序和规则映射为一维节点分布,然后,按照这个分布创建一个多层反向传播算法的网络结构,就可以按照一般的BP训练算法去学习网络参数输出一般组织为“one-of-c”的形式,也就是只有该输入对应的类的输出节点输出为正,其他类的位或者节点为-1LeNet-5LeNet-5文字识别第一阶段,向前传播阶段:a)从样本集中取一个样本(X,Yp),X是输入向量,Yp是理想输出向量,将X输入网络;b)计算相应的实际输出Op。在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,
12、网络执行的是计算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果):Op=Fn(F2(F1(XpW(1)W(2)W(n)第二阶段,向后传播阶段a)算实际输出Op与相应的理想输出Yp的差;b)按极小化误差的方法反向传播调整权矩阵。BP训练过程RESULTS在SUN SPARC上花了3天时间模拟训练了30次30次训练之后,训练集(7291条手写数字和2549个打印数字)上的错误率为1.1%,均方差为0.017在测试集(2007条手写数字加上700条打印数字)上,错误率为3.4%,均方差为0.024CONCLUSION 卷积神经网络(CNNs)是第一个真正成功训练多层网络结构的学习算法。它
13、利用空间关系减少需要学习的参数数目以提高一般前向BP算法的训练性能。CNNs作为一个深度学习架构提出是为了最小化数据的预处理要求。在CNN中,图像的一小部分(局部感受野)作为层级结构的最低层的输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得观测数据的最显著的特征。卷积神经网络每一个隐藏层的神经元提取图像局部特征,将其映射成一个平面,特征映射函数采用sigmoid 函数作为卷积网络的激活函数,使得特征映射具有位移不变性。CONCLUSION 每个神经元与前一层的局部感受野(local receptive field)相连。注意,不是局部连接的神经元权值相同,而是同一平面层的神经元权值相同,有相同程度的位移、旋转不变性,所以网络能够并行学习。其局部权值共享的特殊结构布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点降低了特征提取和分类过程中数据重建的复杂度。每个特征提取后都紧跟着一个用来求局部平均与二次提取的子采样层。这种特有的两次特征提取结构使得网络对输入样本有较高的畸变容忍能力。综上,卷积神经网络通过局部感受野、共享权值和子取样(池化)来保证图像对位移、缩放、扭曲的鲁棒性。THANKS