详解卷积神经网络.ppt

上传人:罗晋 文档编号:8583824 上传时间:2020-11-28 格式:PPT 页数:31 大小:274.50KB
返回 下载 相关 举报
详解卷积神经网络.ppt_第1页
第1页 / 共31页
详解卷积神经网络.ppt_第2页
第2页 / 共31页
详解卷积神经网络.ppt_第3页
第3页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《详解卷积神经网络.ppt》由会员分享,可在线阅读,更多相关《详解卷积神经网络.ppt(31页珍藏版)》请在三一文库上搜索。

1、Convolutional Neural Networks 卷积神经网络,杨皓轩,主要内容,卷积神经网络诞生背景与历程 卷积神经网络应用LeNet-5手写数字识别 深度学习Hinton做了些什么 深度学习在数字图像识别上的运用 Hinton如何在2012年ImageNet引起轰动,卷积神经网络提出的背景,但是后来,因为理论分析的难度,加上训练方法需要很多经验和技巧,以及巨大的计算量和优化求解难度,神经网络慢慢淡出了科研领域的主流方向。 值得指出的是,神经网络(如采用误差反向传播算法:Back Propagation,简称BP算法,通过梯度下降方法在训练过程中修正权重使得网络误差最小)在层次深的

2、情况下性能变得很不理想(传播时容易出现所谓的梯度弥散Gradient Diffusion或称之为梯度消失,根源在于非凸目标代价函数导致求解陷入局部最优,且这种情况随着网络层数的增加而更加严重,即随着梯度的逐层不断消散导致其对网络权重调整的作用越来越小),所以只能转而处理浅层结构(小于等于3),从而限制了性能。,浅层神经网络的缺陷,于是,20世纪90年代,有更多各式各样的浅层模型相继被提出,比如只有一层隐层节点的支撑向量机(SVM,Support Vector Machine)和Boosting,以及没有隐层节点的最大熵方法(例如LR,Logistic Regression)等,在很多应用领域取

3、代了传统的神经网络。 显然,这些浅层结构算法有很多局限性:在有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定的制约。更重要的是,浅层模型有一个特点,就是需要依靠人工来抽取样本的特征。然而,手工地选取特征是一件非常费力的事情,能不能选取好很大程度上靠经验和运气。 能不能自动地学习一些特征呢?,深度学习的优势,深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。 深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有5层、6层,甚至10多层的隐层节点,“深”的

4、好处是可以控制隐层节点的数目为输入节点数目的多项式倍而非多达指数倍)、表达能力强,因此有能力表示大规模数据。 对于图像、语音这种特征不明显(需要手工设计且很多没有直观的物理含义)的问题,深度模型能够在大规模训练数据上取得更好的效果。,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)*6,S2层: 输入图片大小:(28*28)*6 卷积窗大小:2*2 卷积窗种类:6 输出下采样

5、图数量: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 卷积窗种类:15 输出

6、特征图数量: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)是怎么得到的呢?其

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

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

9、出下采样图数量:16 输出下采样图大小:(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*120,F6层: 输入图片大小:(1*1)*120 卷积窗大小:1*1 卷积窗种类:84 输出特征图数量:84 输出特征图大小:1 神经元数量:84

10、 连接数:10164 120*84(全连接) 可训练参数:10164 120*84,OUTPUT层: 输入图片大小:1*84 输出特征图数量:1*10,最后,输出层由欧式径向基函数(Euclidean Radial Basis Function)单元组成,每类一个单元,每个有84个输入。换句话说,每个输出RBF单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,RBF输出的越大。一个RBF输出可以被理解为衡量输入模式和与RBF相关联类的一个模型的匹配程度的惩罚项。用概率术语来说,RBF输出可以被理解为F6层配置空间的高斯分布的负log-likelihood。给定一个输入模式,损失函数

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

12、,也用于拒绝非字母。使用分布编码的RBF更适合该目标。因为与sigmoid不同,他们在输入空间的较好限制的区域内兴奋,而非典型模式更容易落到外边。 RBF参数向量起着F6层目标向量的角色。需要指出这些向量的成分是+1或-1,这正好在F6 sigmoid的范围内,因此可以防止sigmoid函数饱和。实际上,+1和-1是sigmoid函数的最大弯曲的点处。这使得F6单元运行在最大非线性范围内。必须避免sigmoid函数的饱和,因为这将会导致损失函数较慢的收敛和病态问题。,Matlab代码,Output层与F6层合并实现: layer 7 out, type:F number of feature

13、maps: 10 number of neurons: 10 number of connections: 1210 number of parameters: 1210 number of trainable parameters: 1210 1210 = (120+1) *10 ,卷积神经网络的衰落,在很长时间里,CNN虽然在小规模的问题上,如手写数字,取得过当时世界最好结果,但一直没有取得巨大成功。这主要原因是,CNN在大规模图像上效果不好,比如像素很多的自然图片内容理解,所以没有得到计算机视觉领域的足够重视。,深度学习的崛起,2012年10月,Geoffrey Hinton和他的两个学

14、生在著名的ImageNet问题上用更深的CNN取得世界最好结果,使得图像识别大踏步前进。在Hinton的模型里,输入就是图像的像素,没有用到任何的人工特征。,深度学习,2006年,Geoffrey Hinton基于深度置信网(Deep Belief Net:DBN)其由一系列受限波尔兹曼机(Restricted Boltzmann Machine:RBM)组成,提出非监督贪心逐层训练(Layerwise Pre-Training)算法,应用效果才取得突破性进展。 之后Ruslan Salakhutdinov提出的深度波尔兹曼机(Deep Boltzmann Machine:DBM)重新点燃了人

15、工智能领域对于神经网络(Neural Network)和波尔兹曼机(Boltzmann Machine)的热情,才由此掀起了深度学习的浪潮,深度学习的突破性文章,Hinton, G. E., Osindero, S. and Teh, Y.,A fast learning algorithm for deep belief netsNeural Computation 18:1527-1554, 2006 Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle,Greedy Layer-Wise Training of D

16、eep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007 MarcAurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCunEfficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Ed

17、s), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007,与前向神经网络不同,RBM(受限波尔兹曼机)中的可见层和隐含层之间的连接是无方向性且全连接的。对比差异无监督训练是RBM的一个重要算法,包含了正向过程、反向过程和权值更新三个步骤,主要目标是使生成的数据与原数据尽可能相似,并通过对比两者的差异来调整权值更新: 其中,是学习速率。这样的网络可具备感知对输入数据表达程度的能力,而且尝试通过这个感知能力重建数据。如果重建出来的数据与原数据差异很大,那么进行调整并再次重建。,深度学习在图像

18、识别中的应用,2012年6月,纽约时报披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16,000个CPU Core的并行计算平台去训练含有10亿个节点的深度神经网络(DNN,Deep Neural Networks),使其能够自我训练,对2万个不同物体的1,400万张图片进行辨识。 在开始分析数据前,并不需要向系统手工输入任何诸如“脸、肢体、猫的长相是什么样子”这类特征。Jeff Dean说:“我们在训练的时候从来不会告诉机器:这是一只猫(即无标注样本)。

19、系统其实是自己发明或领悟了猫的概念。”,2014年3月,同样也是基于深度学习方法,Facebook的DeepFace项目使得人脸识别技术的识别率已经达到了97.25%,只比人类识别97.5%的正确率略低那么一点点,准确率几乎可媲美人类。该项目利用了9层的神经网络来获得脸部表征,神经网络处理的参数高达1.2亿。,这个惊人的结果为什么在之前没有发生? 原因当然包括算法的提升,比如dropout等防止过拟合技术,但最重要的是,GPU带来的计算能力提升和更多的训练数据。百度在2012年底将深度学习技术成功应用于自然图像OCR识别和人脸识别等问题,并推出相应的桌面和移动搜索产品,2013年,深度学习模型

20、被成功应用于一般图片的识别和理解。 从百度的经验来看,深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗,从而大大提高了在线计算效率。可以很有把握地说,从现在开始,深度学习将取代“人工特征+机器学习”的方法而逐渐成为主流图像识别方法。,总结,ANN(人工神经网络)又被称为浅层神经网络(shallow neural network,也可能使用了CNN的方法。 CNN(卷积神经网络)其实是已经很早提出来的理论,也得到了在字母识别数字识别上的好的运用,letnet-5。 DNN(深度神经网络)可近似为深度卷积神经网络(CNNs),将卷积神经网络的深度大大加深。 DBN(深度

21、置信网)Deep Belief Net。,总结,当下研究的热门是用更深层次的卷积神经网络模型用于图像和语音识别。难点在于训练使模型收敛。 Hinton在12年ImageNet能使错误率大大降低的关键不仅仅是增加了卷积神经网络的深度,而之所以能训练深层次的网络使其达到收敛,原因是改进了卷积神经网络的训练方式(ReLU+Dropout)。 Hinton在2012年发表的关于图像处理的文章: imagenet-classification-with-deep-convolutional-neural-networks,疑点总结,深度置信网(Deep Belief Net:DBN)其由一系列受限波尔兹曼机(Restricted Boltzmann Machine:RBM)组成。 DBN与DNN的区别是什么? 受限玻尔兹曼机是什么? 深度置信网络有一个非监督预训练的过程,使用RBM进行权重偏置的初始化。为dnn提供较好的初始参数? BP算法(旧的用于训练的算法)怎么实现?新的算法又是什么? ,Caffe,caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,先就职于google。caffe的官网是http:/caffe.berkeleyvision.org/。 ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1