详解卷积神经网络.ppt

上传人:wuy****n92 文档编号:66747041 上传时间:2022-12-19 格式:PPT 页数:34 大小:301KB
返回 下载 相关 举报
详解卷积神经网络.ppt_第1页
第1页 / 共34页
详解卷积神经网络.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《详解卷积神经网络.ppt》由会员分享,可在线阅读,更多相关《详解卷积神经网络.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、ConvolutionalNeuralNetworks卷积神经网络杨皓轩主要内容1.卷积神经网络诞生背景与历程2.卷积神经网络应用LeNet-5手写数字识别3.深度学习Hinton做了些什么4.深度学习在数字图像识别上的运用Hinton如何在2012年ImageNet引起轰动卷积神经网络提出的背景浅层神经网络大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性。卷积神经网络提出的背景但是后来,因为理论分析的难度,加上训练方法需要很多经验和技巧,以及巨大的计算量和优化求解难度,神经网络慢慢淡出了科研领域的主

2、流方向。值得指出的是,神经网络(如采用误差反向传播算法:BackPropagation,简称BP算法,通过梯度下降方法在训练过程中修正权重使得网络误差最小)在层次深的情况下性能变得很不理想(传播时容易出现所谓的梯度弥散GradientDiffusion或称之为梯度消失,根源在于非凸目标代价函数导致求解陷入局部最优,且这种情况随着网络层数的增加而更加严重,即随着梯度的逐层不断消散导致其对网络权重调整的作用越来越小),所以只能转而处理浅层结构(小于等于3),从而限制了性能。浅层神经网络的缺陷于是,20世纪90年代,有更多各式各样的浅层模型相继被提出,比如只有一层隐层节点的支撑向量机(SVM,Sup

3、portVectorMachine)和Boosting,以及没有隐层节点的最大熵方法(例如LR,LogisticRegression)等,在很多应用领域取代了传统的神经网络。显然,这些浅层结构算法有很多局限性:在有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定的制约。更重要的是,浅层模型有一个特点,就是需要依靠人工来抽取样本的特征。然而,手工地选取特征是一件非常费力的事情,能不能选取好很大程度上靠经验和运气。能不能自动地学习一些特征呢?深度学习的优势深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样

4、本集中学习数据集本质特征的能力。深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有5层、6层,甚至10多层的隐层节点,“深”的好处是可以控制隐层节点的数目为输入节点数目的多项式倍而非多达指数倍)、表达能力强,因此有能力表示大规模数据。对于图像、语音这种特征不明显(需要手工设计且很多没有直观的物理含义)的问题,深度模型能够在大规模训练数据上取得更好的效果。卷积神经网络早在1989年,YannLeCun(现纽约大学教授)和他的同事们就发表了卷积神经网络(ConvolutionNeuralNetworks,简称CNN)的工作。CNN是一种带有卷积结构的深度神经网络,通常至少有两个非

5、线性可训练的卷积层,两个非线性的固定卷积层(又叫PoolingLaye)和一个全连接层,一共至少5个隐含层。CNN的结构受到著名的Hubel-Wiesel生物视觉模型的启发,尤其是模拟视觉皮层V1和V2层中SimpleCell和ComplexCell的行为。卷积神经网络应用LeNet-5手写数字识别C1层:输入图片大小:32*32卷积窗大小:5*5卷积窗种类:6输出特征图数量:6输出特征图大小:28*28(32-5+1)神经元数量:4707 (28*28)*6)连接数:12304(5*5+1)*6*(28*28)可训练参数:156(5*5+1)*6S2层:输入图片大小:(28*28)*6卷积窗

6、大小:2*2卷积窗种类:6输出下采样图数量:6输出下采样图大小:(14*14)*6神经元数量:1176(14*14)*6连接数:5880(4+1)*(14*14)*6可训练参数:12(6*2)卷积和子采样过程:卷积过程包括:用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积特征map了),然后加一个偏置bx,得到卷积层Cx。子采样过程包括:每邻域四个像素求和变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然后通过一个sigmoid激活函数,产生一个大概缩小四倍的特征映射图Sx+1。C3层:输入图片大小:(14*14)*6卷积窗大小:5*5卷积窗种

7、类:15输出特征图数量:16输出特征图大小:10*10(14-5+1)神经元数量:1600 (10*10)*16)连接数:151600(60+16)*25*(10*10)(部分连接)可训练参数:1516(60+16)*25连接数计算:151600=(60+16)*25*(10*10)60=3*6+9*4+6;16是因为每种神经元都有一个常数连接 其中打X了的表示两者之间有连接的。取我们学习到的网络(结构为150-16)中16个隐含节点种的一个拿来分析,比如拿C3中的第3号特征图来说,它与上层网络S2第3,4,5号特征图连接。那么该第3号特征图的值(假设为H3)是怎么得到的呢?其过程如下:首先我

8、们把网络150-16(以后这样表示,表面输入层节点为150,隐含层节点为16)中输入的150个节点分成6个部分,每个部分为连续的25个节点。取出倒数第3个部分的节点(为25个),且同时是与隐含层16个节点中的第4(因为对应的是3号,从0开始计数的)个相连的那25个值,reshape为5*5大小,用这个5*5大小的特征patch去convolutionS2网络中的倒数第3个特征图,假设得到的结果特征图为h1。同理,取出网络150-16中输入的倒数第2个部分的节点(为25个),且同时是与隐含层16个节点中的第5个相连的那25个值,reshape为5*5大小,用这个5*5大小的特征patch去con

9、volutionS2网络中的倒数第2个特征图,假设得到的结果特征图为h2。继续,取出网络150-16中输入的最后1个部分的节点(为25个),且同时是与隐含层16个节点中的第5个相连的那25个值,reshape为5*5大小,用这个5*5大小的特征patch去convolutionS2网络中的最后1个特征图,假设得到的结果特征图为h3。最后将h1,h2,h3这3个矩阵相加得到新矩阵h,并且对h中每个元素加上一个偏移量b,且通过sigmoid的激发函数,即可得到我们要的特征图H3了。S4层:输入图片大小:(10*10)*16卷积窗大小:2*2卷积窗种类:16输出下采样图数量:16输出下采样图大小:(

10、5*5)*16神经元数量:400(5*5)*16连接数:2000(4+1)*(5*5)*16可训练参数:32(16*2)C5层:输入图片大小:(5*5)*16卷积窗大小:5*5卷积窗种类:120输出特征图数量:120输出特征图大小:1*1(5-5+1)神经元数量:120 (1*120)连接数:48120 16*25+1*1*120(全连接)可训练参数:48120 16*25+1*1*120F6层:输入图片大小:(1*1)*120卷积窗大小:1*1卷积窗种类:84输出特征图数量:84输出特征图大小:1神经元数量:84 连接数:10164 120*84(全连接)可训练参数:10164 120*84

11、OUTPUT层:输入图片大小:1*84输出特征图数量:1*10最后,输出层由欧式径向基函数欧式径向基函数(EuclideanRadialBasisFunction)单元组成,每类一个单元,每个有84个输入。换句话说,每个输出RBF单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。一个RBF输出可以被理解为衡量输入模式和与RBF相关联类的一个模型的匹配程度的惩罚项。用概率术语来说,RBF输出可以被理解为F6层配置空间的高斯分布的负log-likelihood。给定一个输入模式,损失函数应能使得F6的配置与RBF参数向量(即模式的期望分类)足够接近。这些单元的参数是人

12、工选取并保持固定的(至少初始时候如此)。这些参数向量的成分被设为-1或1。虽然这些参数可以以-1和1等概率的方式任选,或者构成一个纠错码,但是被设计成一个相应字符类的7*12大小(即84)的格式化图片。这种表示对识别单独的数字不是很有用,但是对识别可打印ASCII集中的字符串很有用。使用这种分布编码而非更常用的“1ofN”编码用于产生输出的另一个原因是,当类别比较大的时候,非分布编码的效果比较差。原因是大多数时间非分布编码的输出必须为0。这使得用sigmoid单元很难实现。另一个原因是分类器不仅用于识别字母,也用于拒绝非字母。使用分布编码的RBF更适合该目标。因为与sigmoid不同,他们在输

13、入空间的较好限制的区域内兴奋,而非典型模式更容易落到外边。RBF参数向量起着F6层目标向量的角色。需要指出这些向量的成分是+1或-1,这正好在F6sigmoid的范围内,因此可以防止sigmoid函数饱和。实际上,+1和-1是sigmoid函数的最大弯曲的点处。这使得F6单元运行在最大非线性范围内。必须避免sigmoid函数的饱和,因为这将会导致损失函数较慢的收敛和病态问题。Matlab代码Output层与F6层合并实现:layer7out,type:Fnumberoffeaturemaps:10numberofneurons:10numberofconnections:1210numberofparameters:1210numberoftrainableparameters:12101210=(120+1)*10http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁