资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,详解卷积神经网络,主要内容,卷积神经网络诞生背景与历程,卷积神经网络应用LeNet-5手写数字识别,深度学习Hinton做了些什么,深度学习在数字图像识别上的运用,Hinton如何在 年ImageNet引起轰动,卷积神经网络提出的背景,浅层神经网络,大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性。,卷积神经网络提出的背景,但是后来,因为,理论分析的难度,,加上,训练方法需要很多经验和技巧,,以及,巨大的计算量和优化求解难度,,神经网络慢慢淡出了科研领域的主流方向。,值得指出的是,神经网络(如采用误差反向传播算法:,Back Propagation,,简称,BP,算法,通过梯度下降方法在训练过程中修正权重使得网络误差最小)在层次深的情况下性能变得很不理想(传播时容易出现所谓的梯度弥散,Gradient Diffusion,或称之为梯度消失,根源在于非凸目标代价函数导致求解陷入局部最优,且这种情况随着网络层数的增加而更加严重,即随着梯度的逐层不断消散导致其对网络权重调整的作用越来越小),所以只能转而处理浅层结构(小于等于,3,),从而限制了性能。,浅层神经网络的缺陷,于是,,20,世纪,90,年代,有更多各式各样的,浅层模型,相继被提出,比如只有一层隐层节点的支撑向量机(,SVM,,,Support Vector Machine,)和,Boosting,,以及没有隐层节点的最大熵方法(例如,LR,,,Logistic Regression,)等,在很多应用领域取代了传统的神经网络。,显然,这些浅层结构算法有很多局限性:在有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定的制约。更重要的是,浅层模型有一个特点,就是需要依靠人工来抽取样本的特征。然而,手工地选取特征是一件非常费力的事情,能不能选取好很大程度上靠经验和运气。,能不能自动地学习一些特征呢?,深度学习的优势,深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。,深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有,5,层、,6,层,甚至,10,多层的隐层节点,“深”的好处是可以控制隐层节点的数目为输入节点数目的多项式倍而非多达指数倍)、表达能力强,因此有能力表示大规模数据。,对于图像、语音这种特征不明显(需要手工设计且很多没有直观的物理含义)的问题,深度模型能够在大规模训练数据上取得更好的效果。,卷积神经网络,早在,1989,年,,Yann LeCun(,现纽约大学教授,),和他的同事们就发表了卷积神经网络(,Convolution Neural Networks,,简称,CNN,)的工作。,CNN,是一种带有卷积结构的深度神经网络,通常至少有两个非线性可训练的卷积层,两个非线性的固定卷积层(又叫,Pooling Laye,)和一个全连接层,一共至少,5,个隐含层。,CNN,的结构受到著名的,Hubel-Wiesel,生物视觉模型的启发,尤其是模拟视觉皮层,V1,和,V2,层中,Simple Cell,和,Complex Cell,的行为。,卷积神经网络应用,LeNet-5,手写数字识别,Platt et al.,CNN的结构受到著名的Hubel-Wiesel生物视觉模型的启发,尤其是模拟视觉皮层V1和V2层中Simple Cell和Complex Cell的行为。,与前向神经网络不同,RBM(受限波尔兹曼机)中的可见层和隐含层之间的连接是无方向性且全连接的。,使用分布编码的RBF更适合该目标。,DBN与DNN的区别是什么?,年3月,同样也是基于深度学习方法,Facebook的DeepFace项目使得人脸识别技术的识别率已经达到了97.,Jeff Dean说:“我们在训练的时候从来不会告诉机器:这是一只猫(即无标注样本)。,用概率术语来说,RBF输出可以被理解为F6层配置空间的高斯分布的负log-likelihood。,取我们学习到的网络(结构为150-16)中16个隐含节点种的一个拿来分析,比如拿C3中的第3号特征图来说,它与上层网络S2第3,4,5号特征图连接。,输出下采样图大小:(14*14)*6,Yoshua Bengio,Pascal Lamblin,Dan Popovici and Hugo Larochelle,Greedy Layer-Wise Training of Deep Networks,in J.,深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。,大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性。,number of neurons:10,虽然这些参数可以以-1和1等概率的方式任选,或者构成一个纠错码,但是被设计成一个相应字符类的7*12大小(即84)的格式化图片。,输出下采样图大小:(14*14)*6,Output层与F6层合并实现:,(Eds),Advances in Neural Information Processing Systems(NIPS 2006),MIT Press,2007,输出特征图数量:84,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,输出下采样图数量:,6,输出下采样图大小:,(14*14)*6,神经元数量:,1176(14*14)*6,连接数:,5880(4+1)*(14*14)*6,可训练参数:,12(6*2),卷积和子采样过程:,卷积过程包括:用一个可训练的滤波器,f,x,去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是卷积特征,map,了),然后加一个偏置,b,x,,得到卷积层,C,x,。,子采样过程包括:每邻域四个像素求和变为一个像素,然后通过标量,W,x+1,加权,再增加偏置,b,x+1,,然后通过一个,sigmoid,激活函数,产生一个大概缩小四倍的特征映射图,S,x+1,。,C3,层:,输入图片大小:,(14*14)*6,卷积窗大小:,5*5,卷积窗种类:,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,)是怎么得到的呢?其过程如下:,首先我们把网络,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,大小的特征,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,输出下采样图数量:,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,连接数:,10164 120*84,(全连接),可训练参数:,10164,120*84,OUTPUT,层:,输入图片大小:,1*84,输出特征图数量:,1,*,10,最后,输出层由,欧式径向基函数,(,Euclidean Radial Basis Function,)单元组成,每类一个单元,每个有,84,个输入,。换句话说,每个输出,RBF,单元计算输入向量和参数向量之间的欧式距离。输入离参数向量越远,,RBF,输出的越大。一个,RBF,输出可以被理解为衡量输入模式和与,RBF,相关联类的一个模型的匹配程度的惩罚项。用概率术语来说,,RBF,输出可以被理解为,F6,层配置空间的高斯分布的负,log-likelihood,。给定一个输入模式,损失函数应能使得,F6,的配置与,RBF,参数向量(即模式的期望分类)足够接近。这些单元的参数是人工选取并保持固定的(至少初始时候如此)。这些参数向量的成分被设为,-1,或,1,。虽然这些参数可以以,-1,和,1,等概率的方式任选,或者构成一个纠错码,但是被设计成一个相应字符类的,7*12,大小(即,84,)的格式化图片。这种表示对识别单独的数字不是很有用,但是对识别可打印,ASCII,集中的字符串很有用。,使用这种分布编码而非更常用的“,1 of N”,编码用于产生输出的另一个原因是,当类别比较大的时候,非分布编码的效果比较差。原因是大多数时间非分布编码的输出必须为,0,。这使得用,sigmoid,单元很难实现。另一个原因是分类器不仅用于识别字母,也用于拒绝非字母。使用分布编码的,RBF,更适合该目标。因为与,sigmoid,不同,他们在输入空间的较好限制的区域内兴奋,而非典型模式更容易落到外边。,RBF,参数向量起着,F6,层目标向量的角色。需要指出这些向量的成分是,+1,或,-1,,这正好在,F6 sigmoid,的范围内,因此可以防止,sigmoid,函数饱和。实际上,,+1,和,-1,是,sigmoid,函数的最大弯曲的点处。这使得,F6,单元运行在最大非线性范围内。必须避免,sigmoid,函数的饱和,因为这将会导致损失函数较慢的收敛和病态问题。,Jeff Dean说:“我们在训练的时候从来不会告诉机器:这是一只猫(即无标注样本)。,一个RBF输出可以被理解为衡量输入模式和与RBF相关联类的一个模型的匹配程度的惩罚项。,百度在 年底将深度学习技术成功应用于自然图像OCR识别和人脸识别等问题,并推出相应的桌面和移动搜索产品,年,深度学习模型被成功应用于一般图片的识别和理解。,输出下采样图大小:(14*14)*6,大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性。,取我们学习到的网络(结构为150-16)中16个隐含节点种的一个拿来分析,比如拿C3中的第3号特征图来说,它与上层网络S2第3,4,5号特征图连接。,神经元数量:400(5*5)*16,换句话说,每个输出RBF单元计算输入向量和参数向量之间的欧式距离。,输出特征图数量:84,DBN与DNN的区别是什么?,输出下采样图数量:16,连接数:2000(4+1)*(5*5)*16,Platt et al.,原因当然包括算法的提升,比如dropout等防止过拟合技术,但最重要的是,GPU带来的计算能力提升和更多的训练数据。,输入图片大小:(5*5)*16,Matlab,代码,Output,层与,F6,层合并实现:,layer 7 out,type:F,number of feature 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,在大规模图像上效果不好,比如像素很多的自然图片内容理解,所以没有得到计算机视觉领域的足够重视。,深度学习的崛起,年10月,Geoffrey Hinton和他的两个学生在著名的ImageNet问题上用更深的CNN取得世界最好结果,使得图像识别大踏步前进。在Hinton的模型里,输入就是图像的像素,没有用到任何的人工特征。,深度学习,2006,年,,Geoffrey Hinton,基于深度置信网(,Deep Belief Net,:,DBN,),其由一系列受限波尔兹曼机(,Restricted Boltzmann Machine,:,RBM,)组成,提出非监督贪心逐层训练(,Layerwise Pre-Training,)算法,应用效果才取得突破性进展。,之后,Ruslan Salakhutdinov,提出的深度波尔兹曼机(,Deep Boltzmann Machine,:,DBM,)重新点燃了人工智能领域对于神经网络(,Neural Network,)和波尔兹曼机(,Boltzmann Machine,)的热情,才由此掀起了深度学习的浪潮,深度学习的突破性文章,Hinton,G.E.,Osindero,S.and Teh,Y.,A fast learning algorithm for deep belief nets,Neural Computation 18:1527-1554,2006,Yoshua Bengio,Pascal Lamblin,Dan Popovici and Hugo Larochelle,Greedy Layer-Wise Training of Deep 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 LeCun,Efficient Learning of Sparse Representations with an Energy-Based Model,in J.Platt et al.(Eds),Advances in Neural Information Processing Systems(NIPS 2006),MIT Press,2007,与前向神经网络不同,,RBM,(受限波尔兹曼机)中的可见层和隐含层之间的连接是无方向性且全连接的。对比差异无监督训练是,RBM,的一个重要算法,包含了正向过程、反向过程和权值更新三个步骤,主要目标是使生成的数据与原数据尽可能相似,并通过对比两者的差异来调整权值更新:,其中,是学习速率。这样的网络可具备感知对输入数据表达程度的能力,而且尝试通过这个感知能力重建数据。如果重建出来的数据与原数据差异很大,那么进行调整并再次重建。,深度学习在图像识别中的应用,年6月,纽约时报披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16,000个CPU Core的并行计算平台去训练含有10亿个节点的深度神经网络(DNN,Deep Neural Networks),使其能够自我训练,对2万个不同物体的1,400万张图片进行辨识。,在开始分析数据前,并不需要向系统手工输入任何诸如“脸、肢体、猫的长相是什么样子”这类特征。Jeff Dean说:“我们在训练的时候从来不会告诉机器:这是一只猫(即无标注样本)。系统其实是自己发明或领悟了猫的概念。”,年3月,同样也是基于深度学习方法,Facebook的DeepFace项目使得人脸识别技术的识别率已经达到了97.25%,只比人类识别97.5%的正确率略低那么一点点,准确率几乎可媲美人类。该项目利用了9层的神经网络来获得脸部表征,神经网络处理的参数高达亿。,这个惊人的结果为什么在之前没有发生?,原因当然包括算法的提升,比如dropout等防止过拟合技术,但最重要的是,GPU带来的计算能力提升和更多的训练数据。百度在 年底将深度学习技术成功应用于自然图像OCR识别和人脸识别等问题,并推出相应的桌面和移动搜索产品,年,深度学习模型被成功应用于一般图片的识别和理解。,从百度的经验来看,深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗,从而大大提高了在线计算效率。可以很有把握地说,从现在开始,深度学习将取代“人工特征+机器学习”的方法而逐渐成为主流图像识别方法。,总结,ANN,(人工神经网络)又被称为浅层神经网络(,shallow neural network,,也可能使用了,CNN,的方法。,CNN,(卷积神经网络)其实是已经很早提出来的理论,也得到了在字母识别数字识别上的好的运用,,letnet-5,。,DNN,(深度神经网络)可近似为深度卷积神经网络(,CNNs,),将卷积神经网络的深度大大加深。,DBN,(深度置信网),Deep Belief Net,。,总结,当下研究的热门是用更深层次的卷积神经网络模型用于图像和语音识别。难点在于训练使模型收敛。,Hinton在12年ImageNet能使错误率大大降低的关键不仅仅是增加了卷积神经网络的深度,而之所以能训练深层次的网络使其达到收敛,原因是改进了卷积神经网络的训练方式(ReLU+Dropout)。,Hinton在 年发表的关于图像处理的文章:,imagenet-classification-with-deep-convolutional-neural-networks,疑点总结,深度置信网(,Deep Belief Net,:,DBN,),其由一系列受限波尔兹曼机(,Restricted Boltzmann Machine,:,RBM,)组成。,DBN,与,DNN,的区别是什么?,受限玻尔兹曼机是什么?,深度置信网络有一个非监督预训练的过程,使用,RBM,进行权重偏置的初始化。为,dnn,提供较好的初始参数?,BP,算法(旧的用于训练的算法)怎么实现?新的算法又是什么?,Caffe,caffe,是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的,先就职于,google,。,caffe,的官网是。,
展开阅读全文