深度学习及其应用目录1.机器学习概述2.深度学习概述•什么是机器学习–计算机程序如何随着经验积累自动提高性能系统自我改进的过程•成功应用–学习识别人类讲话–学习驾驶车辆–学习分类新的天文结构–学习对弈西洋双陆棋•涉及的相关学科–人工智能–计算复杂性理论–控制论–信息论–统计学4学习问题的标准描述•定义–如果一个计算机针对某类任务T的用P衡量的性能根据经验E来自我完善,那么我们称这个计算机程序在从经验E中学习,针对某类任务T,它的性能用P来衡量。•西洋跳棋学习问题的解释–T,参与比赛–E,和自己下棋–P,比赛成绩(或赢棋能力,击败对手的百分比)具体学习方法基于符号和逻辑表示的概念学习决策树人工神经网络统计和估计理论的基础概念贝叶斯理论计算学习基于实例的学习遗传算法规则学习基于解释的学习近似知识与现有数据的结合增强学习支持向量机深度学习1.概述、背景2.人脑视觉机理、关于特征3.DeepLearning基本思想、浅层学习4.深度学习与神经网络(NeuralNetwork)5.DP的常用模型与方法6.Dp的总结7.Dp的未来8.DP的问题概述•ArtificialIntelligence(人工智能)是人类最美好的梦想之一。•图灵(计算机和人工智能的鼻祖)在1950年的论文里,提出图灵试验的设想,即,隔墙对话,你将不知道与你谈话的,是人还是电脑。这无疑给计算机,尤其是人工智能,预设了一个很高的期望值。•半个世纪过去了,人工智能的进展,远远没有达到图灵试验的标准。这不仅让多年翘首以待的人们,心灰意冷,认为人工智能是忽悠,相关领域是“伪科学”。•自2006年以来,机器学习领域,取得了突破性的进展。图灵试验,至少不是那么可望而不可及了。至于技术手段,不仅仅依赖于云计算对大数据的并行处理能力,而且依赖于算法。这个算法就是,DeepLearning。借助于DeepLearning算法,人类终于找到了如何处理“抽象概念”这个亘古难题的方法。概述•2006年的3篇关于深度学习的突破性论文:•Hinton,G.E.,Osindero,S.andTeh,Y.,Afastlearningalgorithmfordeepbeliefnets.NeuralComputation18:1527-1554,2006•YoshuaBengio,PascalLamblin,DanPopoviciandHugoLarochelle,GreedyLayerWiseTrainingofDeepNetworks,inJ.Plattetal.(Eds),AdvancesinNeuralInformationProcessingSystems19(NIPS2006),pp.153-160,MITPress,2007•Marc’AurelioRanzato,ChristopherPoultney,SumitChopraandYannLeCunEfficientLearningofSparseRepresentationswithanEnergy-BasedModel,inJ.Plattetal.(Eds),AdvancesinNeuralInformationProcessingSystems(NIPS2006),MITPress,2007概述•2012年6月,《纽约时报》披露了GoogleBrain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授AndrewNg和在大规模计算机系统方面的世界顶尖专家JeffDean共同主导,用16000个CPUCore的并行计算平台训练一种称为“深度神经网络”(DNN,DeepNeuralNetworks)的机器学习模型(内部共有10亿个节点。这一网络自然是不能跟人类的神经网络相提并论的。要知道,人脑中可是有150多亿个神经元,互相连接的节点也就是突触数更是如银河沙数。曾经有人估算过,如果将一个人的大脑中所有神经细胞的轴突和树突依次连接起来,并拉成一根直线,可从地球连到月亮,再从月亮返回地球),在语音识别和图像识别等领域获得了巨大的成功。概述•2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。据报道,后面支撑的关键技术也是深度学习。•2013年1月,在百度年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个成立的就是“深度学习研究所”。•2013年3月谷歌收购了加拿大神经网络方面的创业公司DNNresearch,DNNresearch公司是由多伦多大学教授GeoffreyHinton与他的两个研究生AlexKrizhevsky和IlyaSutskever于去年成立,由于谷歌在本次收购中没有获得任何实际的产品或服务,所以本次收购实质上属于人才性收购,收购的主体实为了这三人团队。概述•为什么拥有大数据的互联网公司争相投入大量资源研发深度学习技术。听起来感觉deeplearning很牛那样。那什么是deeplearning?为什么有deeplearning?它是怎么来的?又能干什么呢?目前存在哪些困难呢?这些问题的简答都需要慢慢来。咱们先来了解下机器学习(人工智能的核心)的背景。背景•机器学习(MachineLearning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。机器能否像人类一样能具有学习能力呢?•1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题背景•在图像识别、语音识别、天气预测、基因表达等方面。目前我们通过机器学习去解决这些问题的思路都是这样的:•从开始的通过传感器来获得数据。然后经过预处理、特征提取、特征选择,再到推理、预测或者识别。最后一个部分,也就是机器学习的部分,绝大部分的工作是在这方面做的。•中间的三部分,概括起来就是特征表达。良好的特征表达,对最终算法的准确性起了非常关键的作用,而且系统主要的计算和测试工作都耗在这一大部分。但这块实际中一般都是人工完成的。背景•截止现在,也出现了不少NB的特征(好的特征应具有不变性(大小、尺度和旋转等)和可区分性):例如Sift的出现,是局部图像特征描述子研究领域一项里程碑式的工作。由于SIFT对尺度、旋转以及一定视角和光照变化等图像变化都具有不变性,并且SIFT具有很强的可区分性。但它也不是万能的。背景•手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,而且它的调节需要大量的时间。既然手工选取特征不太好,那么能不能自动地学习一些特征呢?答案是能!DeepLearning就是用来干这个事情的,看它的一个别名UnsupervisedFeatureLearning,就可以顾名思义了,Unsupervised的意思就是不要人参与特征的选取过程。•那它是怎么学习的呢?怎么知道哪些特征好哪些不好呢?我们说机器学习是一门专门研究计算机怎样模拟或实现人类的学习行为的学科。好,那我们人的视觉系统是怎么工作的呢?人脑视觉机理•1981年的诺贝尔医学奖,颁发给了DavidHubel(出生于加拿大的美国神经生物学家)和TorstenWiesel,以及RogerSperry。前两位的主要贡献,是“发现了视觉系统的信息处理”:可视皮层是分级的:人脑视觉机理•1958年,DavidHubel等,研究瞳孔区域与大脑皮层神经元的对应关系。他们在猫的后脑头骨上,开了一个3毫米的小洞,向洞里插入电极,测量神经元的活跃程度。•他们在小猫的眼前,展现各种形状、各种亮度的物体。并且,在展现每一件物体时,还改变物体放置的位置和角度。他们期望通过这个办法,让小猫瞳孔感受不同类型、不同强弱的刺激。目的是去证明一个猜测。位于后脑皮层的不同视觉神经元,与瞳孔所受刺激之间,存在某种对应关系。一旦瞳孔受到某一种刺激,后脑皮层的某一部分神经元就会活跃。•经历了很多天反复的枯燥的试验,同时牺牲了若干只可怜的小猫,DavidHubel发现了一种被称为“方向选择性细胞”的神经元细胞。当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃。人脑视觉机理•这个发现激发了人们对于神经系统的进一步思考。神经-中枢-大脑的工作过程,或许是一个不断迭代、不断抽象的过程。•这里的关键词有两个,一个是抽象,一个是迭代。从原始信号,做低级抽象,逐渐向高级抽象迭代。人类的逻辑思维,经常使用高度抽象的概念。人脑视觉机理•例如,从原始信号摄入开始(瞳孔摄入像素Pixels),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定,眼前的物体的形状,是圆形的),然后进一步抽象(大脑进一步判定该物体是只气球)。人脑视觉机理•这个生理学的发现,促成了计算机人工智能,在四十年后的突破性发展。•总的来说,人的视觉系统的信息处理是分级的。从低级的V1区提取边缘特征,再到V2区的形状或者目标的部分等,再到更高层,整个目标、目标的行为等。也就是说高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图。而抽象层面越高,存在的可能猜测就越少,就越利于分类。人脑视觉机理•提到了关键词:分层。而Deeplearning的deep是不是就表示我存在多少层,也就是多深呢?没错。那Deeplearning是如何借鉴这个过程的呢?毕竟是归于计算机来处理,面对的一个问题就是怎么对这个过程建模?•因为我们要学习的是特征的表达,那么关于特征,或者说关于这个层级特征,我们需要了解地更深入点。所以在说DeepLearning之前,我们有必要再啰嗦下特征关于特征•特征是机器学习系统的原材料,对最终模型的影响是毋庸置疑的。如果数据被很好的表达成了特征,通常线性模型就能达到满意的精度。那对于特征,我们需要考虑什么呢?1、特征表示的粒度•学习算法在一个什么粒度上的特征表示,才有能发挥作用?就一个图片来说,像素级的特征根本没有价值。例如下面的摩托车,从像素级别,根本得不到任何信息,其无法进行摩托车和非摩托车的区分。而如果特征是一个具有结构性的时候,比如是否具有车把手(handle),是否具有车轮(wheel),就很容易把摩托车和非摩托车区分,学习算法才能发挥作用。2、初级(浅层)特征表示•既然像素级的特征表示方法没有作用,那怎样的表示才有用呢?•1995年前后,DavidField试图同时用生理学和计算机的手段,双管齐下,研究视觉问题。•他们收集了很多黑白风景照片,从这些照片中,提取出400个小碎片,每个照片碎片的尺寸均为16x16像素,不妨把这400个碎片标记为S[i],i=0,..399。接下来,再从这些黑白风景照片中,随机提取另一个碎片,尺寸也是16x16像素,不妨把这个碎片标记为T。•他们提出的问题是,如何从这400个碎片中,选取一组碎片,S[k],通过叠加的办法,合成出一个新的碎片,而这个新的碎片,应当与随机选择的目标碎片T,尽可能相似,同时,S[k]的数量尽可能少。用数学的语言来描述,就是:•Sum_k(a[k]*S[k])--T,其中a[k]是在叠加碎片S[k]时的权重系数。2、初级(浅层)特征表示•为解决这个问题,DavidField发明了一个算法,稀疏编码(SparseCoding)。•稀疏编码是一个重复迭代的过程,每次迭代分两步:1)选择一组S[k],然后调整a[k],使得Sum_k(a[k]*S[k])最接近T。2)固定住a[k],在400个碎片中,选择其它更合适的碎片S’[k],替代原先的S[k],使得Sum_k(a[k]*S’[k])最接近T。•经过几次迭代后,最佳的S[k]组合,被遴选出来了。令人惊奇的是