基于BP神经网络的手写数字识别_第1页
基于BP神经网络的手写数字识别_第2页
基于BP神经网络的手写数字识别_第3页
基于BP神经网络的手写数字识别_第4页
基于BP神经网络的手写数字识别_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、基于BP神经网络的手写数字识别 本文使用BP网络进行手写数字识别,与以往将特征向量作为输入不同,该网络直接将图像作为输入,说明BP网络具有处理大量低级信息(low level information)的能力.早前对简单数字图像的工作说明网络结构极大地影响了网络泛化能力。良好的泛化能力可通过在网络设计过程中引入先验知识得到。一个基本设计原则是减少自由参数(free parameters),而不用过度减少网络的计算能力。另一方面,要在网络结构中涉及合适的约束条件。INTRODUCTION第1页/共29页ZIPCODE RECOGNITION选择手写数字识别作为研究对象是因为这是一个相对简单的机器视

2、觉任务:1.将黑白像素点作为输入;2.数字能够很好地与背景分离开;3.输出只有10个类别;第2页/共29页存在的问题:1. 一般要得到较好的训练效果,隐层数目不能太少,当图片大的时候,需要的权值会非常多!2. 对平移、尺度变化敏感(比如数字偏左上角,右下角时即识别失败)3. 图片在相邻区域是相关的,而这种网络只是一股脑把所有像素扔进去,没有考虑图片相关性。用最简单的神经网络进行识别28*28像素的图片第3页/共29页ZIPCODE RECOGNITION选用的数据集来自纽约邮局真实的数据,包括各式各样的手写数字。作为补充,还加入了35种字体的打印数字。训练集:7291条手写数字,2549条打印

3、数字测试集:2007条手写数字,700条打印数字训练集与测试集中的打印数字的字体不同训练集与测试集中包含歧义的、未分类、无分类的数据第4页/共29页PREPROCESSING 在字符识别的过程中,识别算法不需要关心图像的彩色信息。因此,需要将彩色图像转化为灰度图像。经过灰度化处理后的图像中还包含有背景信息。因此,我们还得进一步处理,将背景噪声屏蔽掉,突显出字符轮廓信息。二值化处理就能够将其中的字符显现出来,并将背景去除掉。第5页/共29页THE NETWORK预处理之后,多层神经网络进行识别。网络中的所有连接都是自适应的。输入:归一化图像输出:10个类,如数字 2 的结果如下:-1 -1 1

4、-1 -1 -1 -1 -1 -1 -1全连接的网络由于有太多的自由参数而不能进行良好的泛化:全局、局部局部感受野、权值共享、feature map第6页/共29页每种滤波器的参数不一样,表示它提出输入图像的不同特征,例如不同的边缘。这样每种滤波器去卷积图像就得到对图像的不同特征的放映,我们称之为Feature Map。一个feature map中的所有神经元使用相同过滤器,不同层的feature map 使用不同的过滤器。第7页/共29页卷积神经网络结构一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随

5、之确定下来;S层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射为一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。卷积神经网络中的每一个特征提取层(C-层)都紧跟着一个用来求局部平均与二次提取的计算层(S-层),这种特有的两次特征提取结构减小了特征分辨率。第8页/共29页卷积和子采样过程用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积的feature map),然后加一个偏置bx,

6、得到卷积层Cx。卷积层的输出= Sigmoid( Sum(卷积) +偏移量)子采样(subsampling)过程包括:每邻域四个像素求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过一个sigmoid激活函数,产生一个大概缩小四倍的feature map Sx+1输出= Sigmoid( 采样*权重 +偏移量)第9页/共29页6个5X5模板LeNet-5手写识别系统 LeNet-5共有7层,不包含输入,每层都包含可训练参数(连接权重)。输入图像为32*32大小。这要比Mnist数据库(一个公认的手写数据库)中最大的字母还大。这样做的原因是希望潜在的明显特征如笔画断电或角点

7、能够出现在最高层特征监测子感受野的中心第10页/共29页输入图像是32x32的大小,局部滑动窗(卷积核)的大小是5x5的,由于不考虑对图像的边界进行拓展,则滑动窗将有28x28个不同的位置,也就是C1层的大小是28x28。这里设定有6个不同的C1层,每一个C1层内的权值是相同的。C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音)每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征(每种特征都不一样),然后每个Feature Map有多个神经元。第11页/共29页下一页卷积的过程第12页/

8、共29页 S2层是一个下采样层(利用图像局部相关性的原理,对图像进行子抽样,减小图像规模同时保留有用信息),有6个14*14的特征图。特征图中的每个单元与C1中相对应特征图的2*2邻域相连接,局部感受野互不覆盖。S2层每个单元的4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid函数计算。每个单元的2*2感受野并不重叠,因此S2中每个特征图的大小是C1中特征图大小的1/4(行和列各1/2)LeNet-5文字识别第13页/共29页C3层也是一个卷积层,它同样通过5x5的卷积核去卷积层S2,然后得到的feature map就只有10 x10个神经元,但是它有16种不同的卷

9、积核,所以就存在16个feature map了。这里需要注意的一点是:C3中的每个feature map是连接到S2中的所有6个或者几个feature map的,表示本层的feature map是上一层提取到的特征map的不同组合LeNet-5LeNet-5文字识别第14页/共29页S4层是一个下采样层,由16个5*5大小的特征图构成。特征图中的每个单元与C3中相应特征图的2*2邻域相连接,跟C1和S2之间的连接一样。LeNet-5LeNet-5文字识别第15页/共29页C5层是一个卷积层,有120个特征图。每个单元与S4层的全部16个单元的5*5邻域相连。由于S4层特征图的大小也为5*5(同

10、滤波器一样),故C5特征图的大小为1*1:这构成了S4和C5之间的全连接。之所以仍将C5标示为卷积层而非全相联层,是因为如果LeNet-5的输入变大,而其他的保持不变,那么此时特征图的维数就会比1*1大。LeNet-5LeNet-5文字识别第16页/共29页F6层有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全相连。F6层计算输入向量和权重向量之间的点积,再加上一个偏置。然后将其传递给sigmoid函数产生单元i的一个状态。由于经典的BP网络是一个一维节点分布排列,而卷积神经网络是二维网络结构。所以,要把卷积神经网络的每一层,按照一定的顺序和规则映射为一维节点分布,然后,按

11、照这个分布创建一个多层反向传播算法的网络结构,就可以按照一般的BP训练算法去学习网络参数输出一般组织为“one-of-c”的形式,也就是只有该输入对应的类的输出节点输出为正,其他类的位或者节点为-1LeNet-5LeNet-5文字识别第17页/共29页第一阶段,向前传播阶段:a)从样本集中取一个样本(X,Yp),X是输入向量,Yp是理想输出向量,将X输入网络;b)计算相应的实际输出Op。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果): Op=Fn(F

12、2(F1(XpW(1)W(2)W(n)第二阶段,向后传播阶段a)算实际输出Op与相应的理想输出Yp的差;b)按极小化误差的方法反向传播调整权矩阵。BP训练过程第18页/共29页RESULTS在SUN SPARC上花了3天时间模拟训练了30次30次训练之后,训练集(7291条手写数字和2549个打印数字)上的错误率为1.1%,均方差为0.017在测试集(2007条手写数字加上700条打印数字)上,错误率为3.4%,均方差为0.024第19页/共29页CONCLUSION 卷积神经网络(CNNs)是第一个真正成功训练多层网络结构的学习算法。它利用空间关系减少需要学习的参数数目以提高一般前向BP算法

13、的训练性能。CNNs作为一个深度学习架构提出是为了最小化数据的预处理要求。在CNN中,图像的一小部分(局部感受野)作为层级结构的最低层的输入,信息再依次传输到不同的层,每层通过一个数字滤波器去获得观测数据的最显著的特征。 卷积神经网络每一个隐藏层的神经元提取图像局部特征,将其映射成一个平面,特征映射函数采用 sigmoid 函数作为卷积网络的激活函数,使得特征映射具有位移不变性。第20页/共29页CONCLUSION 每个神经元与前一层的局部感受野(local receptive field)相连。注意,不是局部连接的神经元权值相同,而是同一平面层的神经元权值相同,有相同程度的位移、旋转不变性

14、,所以网络能够并行学习。其局部权值共享的特殊结构布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点降低了特征提取和分类过程中数据重建的复杂度。 每个特征提取后都紧跟着一个用来求局部平均与二次提取的子采样层。这种特有的两次特征提取结构使得网络对输入样本有较高的畸变容忍能力。综上,卷积神经网络通过局部感受野、共享权值和子取样(池化)来保证图像对位移、缩放、扭曲的鲁棒性。第21页/共29页THANKS第22页/共29页 本文使用BP网络进行手写数字识别,与以往将特征向量作为输入不同,该网络直接将图像作为输入,说明BP网络具有处理大量低级信息(

15、low level information)的能力.早前对简单数字图像的工作说明网络结构极大地影响了网络泛化能力。良好的泛化能力可通过在网络设计过程中引入先验知识得到。一个基本设计原则是减少自由参数(free parameters),而不用过度减少网络的计算能力。另一方面,要在网络结构中涉及合适的约束条件。INTRODUCTION第23页/共29页存在的问题:1. 一般要得到较好的训练效果,隐层数目不能太少,当图片大的时候,需要的权值会非常多!2. 对平移、尺度变化敏感(比如数字偏左上角,右下角时即识别失败)3. 图片在相邻区域是相关的,而这种网络只是一股脑把所有像素扔进去,没有考虑图片相关性

16、。用最简单的神经网络进行识别28*28像素的图片第24页/共29页THE NETWORK预处理之后,多层神经网络进行识别。网络中的所有连接都是自适应的。输入:归一化图像输出:10个类,如数字 2 的结果如下:-1 -1 1 -1 -1 -1 -1 -1 -1 -1全连接的网络由于有太多的自由参数而不能进行良好的泛化:全局、局部局部感受野、权值共享、feature map第25页/共29页每种滤波器的参数不一样,表示它提出输入图像的不同特征,例如不同的边缘。这样每种滤波器去卷积图像就得到对图像的不同特征的放映,我们称之为Feature Map。一个feature map中的所有神经元使用相同过滤器,不同层的feature map 使用不同的过滤器。第26页/共29页C3层也是一个卷积层,它同样通过5x5的卷积核去卷积层S2,然后得到的feature map就只有10 x10个神经元,但是它有16种不同的卷积核,所以就存在16个feature map了。这里需要注意的一点是:C3中的每个feature map是连接到S2中的所有6个或者几个feature map的,表示本层的featur

温馨提示

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

评论

0/150

提交评论