深度学习(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-27 14:04:31

点击下载

作者:刘鹏

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

深度学习

深度学习试读:

前言

自2012年以来,深度学习在图像识别上取得了重大突破,使得深度学习技术得到了前所未有的关注。越来越多的科研人员与工程技术人员投入到深度学习的研究中,涌现出了大量的深度学习开源框架和成功应用,各种基于深度学习的技术和应用也层出不穷。有关深度学习的文章、评论、文档也非常多。然而尚缺乏针对本科生入门的系统性的深度学习教材,以使读者可以了解深度学习的来龙去脉,为以后进一步使用深度学习做相关应用或者深入研究深度学习技术奠定基础。

南京大数据研究院刘鹏教授顺势而为,周密思考,在高级大数据人才培养课程体系中,专门设立了深度学习课程,并邀请全国上百家高校中从事一线教学科研任务的教师一起,编撰高级大数据人才培养丛书。本书即该套丛书之一。

本书的定位是深度学习。以“让学习变得轻松”为根本出发点,介绍深度学习的入门知识,通过浅显易懂的语言,将深度学习的发展过程说清楚,以便将来进一步深入研究或应用深度学习。本书特别注重动手能力,因此对于书中所有的例子和实验,都可以使用深度学习一体机进行练习。读者在读完本书之后,不仅仅了解了深度学习的原理,更重要的是,可以自己搭建深度学习的环境,训练自己的深度学习模型,甚至构建深度学习的原型系统。

本书以教育部“十三五”规划和学校的相关规划发展为依据,响应国家有关大力发展人工智能的号召,遵循本科教育的规律,顺应学生身心发展的特点,致力于构建开放而有力的教材体系,促进学生学习方式的改变,全面提高学生的知识素养,为他们的终身学习、生活和工作奠定坚实的理论和实践基础。作为深度学习的入门教材,本书分别从基本概念、基础与应用(包括深度学习在图像、语音、文本方面的应用),以及前沿发展等方面系统介绍了深度学习。本书大致分3个部分:第1部分介绍了深度学习的基础知识。第2部分介绍了深度学习模型与算法。第3部分介绍了深度学习的应用,最后附上人工智能和大数据实验环境的介绍供读者参考。

本书得到了南京大数据研究院院长刘鹏教授、金陵科技学院副校长张燕教授的大力支持。2015年度江苏高校优秀科技创新团队“大数据智能挖掘信息技术研究”在书稿提纲和内容组织上提出了诸多建设性意见。同时,南京大学吴建鑫教授和南京信息工程大学袁晓彤教授评阅了本书的稿件,对本书给予了全面指导和帮助,在此一并致谢。

当前,深度学习技术处在高速发展的阶段,其概念内涵、技术方法、应用模式都在不断地演化。由于时间和水平所限,本书还存在缺点和不足,欢迎读者不吝赐教,批评指正。编者2017年10月第1章 深度学习的来源与应用

在大数据时代,更复杂的模型才能充分发掘海量数据中蕴藏的有价值的信息。深度学习通过组合低层特征形成更加抽象的高层属性,以发现数据的分布式特征表示,这使得特征的自动学习得以实现(相对于传统的手工构造特征),极大地推进了人工智能的自动化。简而言之,深度学习提供了一个深度思考的大脑,使大数据得以充分利用。1.1 人工智能的思想、流派与发展起落

刊印于明朝崇祯十年(1637年)的《天工开物》,是我国明代科学家宋应星关于实用科学的一本著作。该书名可谓一语双关、寓意深远,用现代人的眼光来看,这涉及两种不同的视角:“天工”,鬼斧神工、自然浑成的应用系统;“开物”,将人的智慧驾驭在自然物质上开发出来的应用系统。如果将后者更进一步,以现代科技诠释和模拟人类智能,以延伸人类智能的科学,就是“人工智能”(Artificial Intelligence,AI),如图1-1所示。图1-1 《天工开物》与“人工智能”“开”一个类人/超人的智能系统?梦想还是要有的,万一成功了呢?

人工智能,也称为机器智能,最初于1956年的Dartmouth学会上被提出,是计算机科学、控制论、信息论、神经生理学、心理学、语言学等多种学科互相渗透而发展起来的一门综合性学科。人工智能作为探求、模拟人脑和心智原理的尖端科学和前沿性的研究,半个多世纪以来经历了艰难曲折的发展过程。随着AlphaGo击败李世石,无人驾驶技术的日趋成熟,IBM、微软、Facebook、科大讯飞等知名企业人工智能平台/应用的成功推出,2016年已经被称为人工智能走向主流的元年。1.1.1 人工智能的思潮流派和主要研究与应用领域1.“图灵测试”和“中文房间”的悖论

机器能够思维吗?1950年英国数学家阿兰·图灵在《心灵》(Mind)杂志上发表了一篇划时代的论文:《计算机器和智能》。在这篇论文中图灵提出:如果机器能通过他设计的“图灵测试”,就可以认为机器具有思维。如图1-2所示,图灵测试是指测试者在与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。图1-2 图灵测试

而美国哲学家John Searle于20世纪80年代初提出的“中文房间”则对图灵测试提出了反驳:一个不懂中文的人被关在一间封闭的屋子里,屋里有一张完整的中文对照表,你可以用中文将问题写在一张纸条上向这个人提问,而这个人只要查找对照表,找到对应的中文句子传出来,那么在你看来这个完全不懂中文的人,确实像一个精通中文的人一样回答一切中文问题,但是他丝毫不“知道”任何一句话的意思,如图1-3所示。也就是说,这个被测试者如果是机器,显然它能通过图灵测试,而并不能称它拥有智能!图1-3 “中文房间”问题2.人工智能领域的三大流派

半个世纪以来,人们对人类获得知识的方式总结为:逻辑演绎、归纳总结、生物进化,对应地发展出了人工智能的三大流派:符号主义、连接主义、行为主义。如图1-4所示,以四个象限同时将人类的知识、人类获取知识的方式、人工智能的三大流派进行对比。图1-4 人类获取知识的方法和人工智能方法(1)符号主义(symbolicism)源于数理逻辑,认为智能产生于大脑的抽象思维、主观意识过程,例如数学推导、概念化的知识表示、模型语义推理。它以物理符号系统(符号操作系统)假设和有限合理性原理为基础,通过对具有物理模式的符号实体的建立、修改、复制和删除等操作生成其他符号结构,从而实现智能行为。其主要典型技术为专家系统等。(2)连接主义(connectionism)源于仿生学,认为智能产生于大脑神经元之间的相互作用及信息往来的学习与统计过程,例如,视觉听觉等基于大脑皮层神经网络的下意识的感知处理。它以人脑模型为基础,通过对大脑神经系统结构的模拟来建立人工神经元网络,并研究其中的连接机制与学习算法,从而实现智能行为。其主要典型技术为神经网络、机器学习、深度学习等。(3)行为主义(actionism)源于心理学与控制论,认为智能是产生于主体与环境的交互过程。它基于可观测的具体的行为活动,以控制论及感知—动作型控制系统为基础,摒弃了内省的思维过程,而把智能的研究建立在可观测的具体行为活动基础上。其主要典型技术为进化学习、遗传算法等。这一学派的代表作首推布鲁克斯(Brooks)的六足行走机器人,它被看作新一代的“控制论动物”,是一个基于感知—动作模式的模拟昆虫行为的控制系统。3.人工智能的主要应用领域

随着 AI 技术的发展,人工智能现已经广泛应用到许多领域,其典型应用可概括为以下四大类。(1)符号计算与逻辑推理:计算机最主要的用途就是科学计算,而科学计算可分为数值计算和符号计算,前者是比较简单的算术运算、函数求值,后者则是智能化的代数运算,处理的是符号或多项式,符号计算已经成为逻辑推理、定理证明、专家系统的重要实现技术。(2)机器学习:让机器获取知识/智能的根本途径或实现算法。一个计算机系统如果不具备学习功能,就不能称其为智能系统。机器学习与认知科学、神经心理学、逻辑学等学科都有着密切的联系,主要研究如何让计算机模拟或实现人类的学习功能,对人工智能的其他应用分支,如专家系统、自然语言理解、自动推理、智能机器人、分布式人工智能、计算机视觉、计算机听觉等均起到重要的推动作用。(3)模式识别:让计算机用数学技术方法研究模式(环境与客体)的自动、快速、精准处理和判读(分类、预测)。识别过程与人类的学习过程相似,多种模式(文字、声音、图像、人物、物体)的自动识别,是开发智能机器的一个关键的突破口,也为人类认识自身[9]智能提供了线索。(4)自动化工程控制:如果将大数据理解为人工智能的“广度”,机器学习/深度学习理解为“深度”,则自动化工程控制就是人工智能应用的“力度”。事实上,人工智能最早是为了解决自动化方面的问题而发展起来的,甚至可以算是自动化的一个分支。1.1.2 人工智能的三起三落1.人工智能发展过程中的高峰与低谷

人工智能是模拟、延展人类智慧的科学,它涉及计算机科学、心理学、哲学和语言学等学科,可以说几乎是自然科学和社会科学等所有学科的体现。而事实上“人工智能”这一名词的诞生并不是很久,它由四位图灵奖得主和一位诺贝尔奖得主(见图1-5)于1956年在美国达特茅斯(Dartmouth)会议上共同定义和提出。20世纪40—50年代中期,以控制论、信息论和系统论作为理论基础,以提出图灵测试、机器可以思维等问题为节点,成为了人工智能前期探索的开始,并直接推动了现代人工智能的发展。图1-5(2006年)达特茅斯会议五十年后再聚首

通过阅读《浪潮之巅》《沸腾十五年》等关于 IT 互联网的热销书籍,可以发现整个IT 产业技术的发展是有周期性的,通常上一波技术的普遍应用,往往是引起新一轮技术发展的原因,这是一个不断从量变到质变的过程。人工智能(AI)产业在过去的几十年内也经历了起起伏伏的三个周期,经历了繁荣的“黄金年代”,也度过了理想破灭的“低谷”,当在低谷时,研究者又总是不断尝试新的技术与概念(如大数据、深度学习等)来发起新的AI发展高潮。总之,人类对AI最初的梦想一直没有改变,并终于随着AlphaGo 战胜李世石(2016年3月)、Master 在网上连胜多名顶尖棋手(2017年1月)、AlphaGo在浙江乌镇以3:0完败世界排名第一的九段棋手柯洁(2017年5月)(见图1-6)等热点事件而被再次唤醒,并且期待这一次它能为产业发展带来质的突破。图1-6 AlphaGo以3:0完败九段棋手柯洁

自从 Dartmouth 会议以后,人们陆续发明了第一款感知神经网络软件和聊天软件,并证明了数学定理,当时大家都惊呼“人工智能来了,再过十年机器要超越人类了”。然而研究者发现这些理论和模型,随着问题的规模和复杂度的提升会很快遇到困难,每次遇到这种瓶颈人工智能研究便进入一次寒冬。在人工智能发展的这60年中,已经经历了三起两落的发展浪潮。

第一次潮起与潮落:20世纪50年代中期到80年代末期,被称为经典符号时期。人工智能与认知心理学、认知科学开始了相依为命的发展历程。Dartmouth 会议后,人们发明了第一款神经网络 Perceptron 感知机、实现了人机交互软件,还成功地将人工智能用于数学定理的证明,并断言“人工智能来了,再过十年机器要超越人类了”,将人工智能推向了第一个高峰。可到了70年代后期,人们发现这些理论和模型只能解决一些非常简单的问题,人工智能很快便遭遇到第一次技术瓶颈并随之进入了发展的谷底。其原因是过分简单的算法难以应对不确定环境的理论,计算能力和成本遇到瓶颈,逐渐冷却。

第二次潮起与潮落:随着1982年Hopfield神经网络和BP算法的提出,使得大规模神经网络的训练成为可能,随后兴起了人工智能发展新的一轮热潮,包括语音识别、语音翻译计划,以及日本提出的第五代计算机。可到了20世纪90年代后期,人们逐渐发现这些技术的真正实用效果并不理想(如ViaVoice,IBM的语音识别系统),在2000年左右第二次人工智能发展的浪潮又破灭了。其原因是没有大数据支撑,计算框架难以捕捉隐性知识,计算能力和成本遇到瓶颈,逐渐冷却。

第三次潮起:随着2006年 Geoffrey Hinton 教授(多伦多大学)提出深度学习,随后几年人工智能技术陆续在图像、语音识别及其他领域内取得了突破性的成功。(2016年9月13日,中国的科大讯飞在国际多通道语音分离和识别大赛上包揽了赛事全部三个项目的最好成绩,深度学习算法在语音和视觉的识别率已经分别超过了99%和97%),人工智能技术已经将人类带入了感知智能时代。人工智能开始进入了真正爆发的前夜,并迈向了第三次发展高峰。2.人工智能的未来

人工智能始终围绕着数据、算法和计算能力三个核心要素发展。从20世纪80年代末期到现在其实都可以称为连接主义时期,其特点是采用分布处理的方法通过人工神经网络来模拟人脑的智力活动,借助新的技术在数据、算法、计算能力三个方面分别得到了突破性的发展。在21世纪的前10年,复兴人工智能研究进程的各种要素,如摩[5]尔定律、大数据、云计算和新算法等,将推动人工智能在21世纪20年代进入快速增长时期。而预计未来的十年,会在一些难以逾越的困惑中迎来奇点时代的爆发式增长。

综合目前的研究成果和科学界的共识,人工智能未来十年发展趋势将在促进 RT 全息时代、新硬件、新语言、新算法和人类认知突破等方面产生积极作用,并且使弱人工智能趋于完美,使机器人和人的混合体有机融合。人工智能的三部曲正是它的魅力所在,人工智能革命必将踏上从弱人工智能起步,通过强人工智能飞跃,最终迎来超人工智能时代的旅途(见表1-1)。这段旅途之后,世界将变得完全不一样。表1-1 人工智能的发展阶段1.2 什么是深度学习1.2.1 我们不分离——数据和算法1.算法真的不如数据重要吗

2008年6月,《连线》杂志主编 Chris Anderson 发表文章,标题是《理论的终极,数据的泛滥将让科学方法过时》,文中引述了经典著作 《人工智能的现代方法》作者Peter Norvig(Google 研究总监)的一句话:“一切模型都是错的。进而言之,抛弃它们,你就会成功。”其寓意就是说,精巧的算法是没有意义的,面对海量数据,简单算法也能得到出色的结果。与其钻研算法,不如研究云计算,处理大数据。

还有人做了更精辟的总结:在物理学看来,宇宙中只有四种作用力——强相互作用力、弱相互作用力、电磁力、万有引力,甚至理论物理学在发展方向上一直希望将这四种作用力作统一表达,也就是说极其有限的作用力可将多样化的粒子组合起来形成绚丽多姿、无穷无尽的宇宙(见图1-7)。如将力视为算法,则粒子就是数据。可见宇宙的本质就是简单的算法作用于海量的数据,得到了无穷无尽的可用结果。图1-7 四种作用力即可形成整个宇宙

以上言论与思辨如放在2006年以前似乎是无可辩驳的,但随后机器学习领域取得了在深度学习方面的重大突破,使得现在学术界的观点一致认为:要得到出色的结果不仅要依赖于云计算及 Hadoop 等框架的大数据并行计算,也同样依赖于算法。而这个算法就是“深度学习”。

深度学习的本质是通过构建具有很多隐层的机器学习模型和海量的训练数据,来自动学习隐藏的有用特征,从而提升分类或预测的自动化与准确性。“深度模型”是手段,“特征学习”是目的。区别于传统的浅层学习,深度学习的特点在于:①强调了模型结构的深度,通常有五层、六层,甚至十多层的隐层节点;②明确突出了特征自动学习的重要性,也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征(硬编码,如专家库)的方法相比,利用大数据来自动学习特征,更能够刻画数据的丰富内在信息。2.“深度学习”闪亮登场

几十年以来,虽然人工智能与计算机技术已经取得了长足的进步,但是到目前为止电脑还不能表现出“自我”意识。离开了人类的手工协助和大量已标定现成数据的支撑,电脑甚至都不能分辨一只猫和一条狗。但随着新手段与新算法(大数据+深度学习)的突破,图灵测试已经不是那么可望而不可及了,人类渐渐地找到了处理“抽象概念”这种亘古难题的解决方法。

2012年6月,《纽约时报》披露了 Google Brain 项目,该项目由斯坦福大学的Andrew Ng教授和Google的天才工程师Jeff Dean共同主导,用16000个CPU Core(内部共有10亿个节点,而人脑中有150多亿个神经元,两者在互相节点数上则更不在一个数量级)的并行计算平台训练一种称为“深度神经网络”(Deep Neural Networks,DNN)[1]的具备自主学习能力的神经网络系统。其学习工作不人为框定边界,直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。不借助任何外界信息帮助,它就能从一千万张图片中找出那些有猫的图片(见图1-8)。图1-8 Google Brain的深度网络自动识别猫特征,表现出了“自我意识”

常见的人脸识别是由程序员预先将整套鉴别系统写好,告诉计算机人脸应该是怎样的,电脑只需通过摄像头获取数据,然后对包含同类信息的图片作出标识,从而达到“识别”的结果。而 Google 的神经网络系统则是通过机器学习的方式(见图1-9),无须人类告诉它“猫咪应该长成什么样”。今天计算机能够通过一千万张图片自己琢磨出“什么叫猫”,明天它就能琢磨出“什么是我”。今天它还是三岁小孩的水平,明天它就会成长为一个大学生。一旦有了自己的意识,能与机器抗衡的可能就只有它自己了。图1-9 深度学习可以自动学习特征

这个系统目前虽然还不完美,但它已经取得很大的成功,Google 已经将该项目从Google X中独立出来,归总公司的搜索及商业服务小组管辖,并希望能借此开发出全新的人工智能技术,彻底改变图像识别、语言识别(见图1-10)等更多领域。图1-10 2014年6月9日,首个通过图灵测试的程序:Eugene Goostman1.2.2 深度学习基础1.深度学习的基本思想1n

对于系统 S,它有 n 层(s,…,s),其输入是 I(如一堆图像或12n者文本),输出是O,形象地表示为:I=>s=>s=>…=> s=>O,假设输入I经过这个系统S后没有信息损失(事实上不可能,允许放松i该限制),既然输入I经过任意s层都没有信息损失,那么可认为任意is都是原有信息(输入 I)的另外一种表达,通过调整系统中的参数,使输出 O 仍然等于或近似于输入 I,就可以自动地获取输入 I 的1n一系列层次特征,即sf,…,sf。

可见深度学习的基本思想就是堆叠多个层,将上一层的输出作为下一层的输入,逐步实现对输入信息的分级表达,让程序从中自动学[6]习深入、抽象的特征。尤其值得注意的是,“深度学习减少了人为干预,而这恰恰保留了数据客观性,因此可以提取出更加准确的特征”。2.深度学习的训练过程(见图1-11)(1)使用自下而上的非监督学习,也就是先从底层开始,一层一层往顶层训练。

采用无标定数据(当然也不排斥有标定数据)分层训练各层参数,这一步可以看作是一个无监督训练过程,是和传统神经网络区别最大的地方,这个过程可以看作是特征学习的过程。

具体来讲,先用无标定数据训练隐层的最底层,训练时先学习最底层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),由于模型能力的限制及稀疏性约束,使得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习到第 n+1层后,将其输出作为第 n 层的输入,训练第 n层,由此分别得到各层的参数。(2)自顶向下的监督学习:通过带标签的数据去训练,误差自顶向下传输,对网络进行微调。

基于第一步得到的各层参数进一步 fine-true 整个多层模型的参数,这一步是有监督的训练过程;第一步类似于神经网络的随机初始化过程,由于深度学习的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因此这个初值更接近全局最优,能够得到更好的效果;所以深度学习的成功在很大程度上归功于第一步(特征学习的过程)。图1-11 深度学习的训练过程1.3 机器学习与深度学习1.3.1 机器学习的定义与种类1.机器学习的准确定义

如前所述,人工智能是计算机科学的一个分支,目的在于创造出能够做出智能行为的程序(软件)或机器(软件+硬件)。而机器学习,则是人工智能“连接主义”学派的重要实现方法。斯坦福大学学派给机器学习做出了相对严谨的定义:让计算机在没有经过明确编程时也能做出行动的科学,是一种更加自动的“进化”算法。Ian Goodfellow等人的经典著作《深度学习》中则更进一步描述为:“对于某类任务 T 和性能度量 P,一个计算机程序可从经验E中学习与改进,并在任务T上由P衡量的性能有所提升。”相对来说,编者更愿意将机器学习理解为:“从具有洞察特征的数据中发现自然模式的算法。”

这个定义似乎很难理解,下面用一个“调汤机器人”(见图1-12)的通俗例子来做最简化的解释。(1)我想让一个称为“调汤机器人”的人工智能系统自动调出可口的汤,无论我要求什么口味,它都可以满足我的要求(不一定是别人的);(2)假设人世间用于调汤的调料(也包括水)一共有 n 种,调12n12n料成分集表示为C={c,c,…,c};调料比例集合表示为I={i,i,…,i},(集合 I 中各项都是0~1之间的有理数);我喜欢喝的汤一共有 m 种,2m用集合 Soup 表示为Soup={soup1,soup,…,soup};对应m种汤就有m12m种未知的调料配方集,用集合X表示,为X={X,X ,…,X },其中iX(1≤i≤m)就是我喜欢的某种风味汤的调和方法(各种调料的成分和比例);12n(3)让调汤机器人不断地尝试调出各种汤 Sp={sp,sp,…,sp},i1122nn其中,sp={ci+ci+…+ci},当然还有搅拌动作、火候控制等非线性因素暂时忽略;iiii(4)将soup和sp(1≤i≤m)做比较,如果soup≈sp(近似相等,即“基本找到了符合我的某种口味的调制方法”),则在调汤机器人i将当前集合I存储的集合X中的元素X;只要集合 X 中仍然有任意一j个 X(j≠1,1≤j≤m)没有被存储,则让调汤机器人跳转到第(3)步继续进行工作;(5)通过多次循环(训练),调汤机器人的设定中即存储了关于12m全部 m 种汤的配方集X={X,X ,…,X };(6)调汤机器人学习完成,可以开始投入正式工作!我指定我喜欢的m种汤中的任何口味,调汤机器人一定可以调出我喜欢的汤。其中,(3)~(5)就是一个最简单的有监督型机器学习的训练过程,Sp 是训练集,Soup 是验证集,X 是学习到的知识和规律(智能),而学习结束后工作过程(6)中调出的汤则是测试集。图1-12 “调汤机器人”的自我修养

综上可见,机器学习是一种从数据(训练集、验证集)中自动分析(训练)获得规律,并利用规律对未知数据(测试集)进行处理[4](应用于行动)的过程。也就是说,机器学习是“应用计算机将数[7]据转换为可行动的知识的过程”,如图1-13所示,该过程分为以下三个部分:(1)数据输入:利用观察、记忆存储,为进一步推理提供事实依据;(2)抽象化:强数据转换为更宽泛的表现形式(可以是多种);(3)一般化:应用抽象的数据来形成作为行动基础的知识。图1-13 机器学习是“用计算机从数据获得可应用于行动的知识”的过程

机器学习对于待解问题,无须编写任何专门的程序代码,泛型算法(generic algorithms)能够在数据集上得出有趣的答案。对于泛型算法,不用编码,而是将数据输入,它将在数据之上建立起自己的逻辑。如图1-14所示,分类器可以将数据划分为不同的组别。一个用来识别手写数字的分类器,不用修改一行代码,就可以用来将电子邮件分为垃圾邮件和普通邮件。模型没变,但是输入的训练数据变了,因此它得出了不同的分类逻辑(调汤机器人其实也能干这个)。图1-14 同一个分类器对不同数据进行分类2.机器学习的种类

如前所述,机器学习就是一个不断学习(观察)未知系统的输入—输出对(训练集),发现错误(验证集)并改正错误的迭代过程,[3]学习成功后可以应用到实际应用测试集中。

如图1-15所示,机器学习的学习程度可分为欠拟合(学习不充分)、拟合(学习恰到好处)和过拟合(过度严格,欠灵活)。图1-15 机器学习的学习程度

根据所处理的数据种类的不同,机器学习可分为监督学习、无监督学习和增强学习。如图1-16所示,监督学习类似于跟着导师学习,学习过程中有指导监督,导师预先准备好验证集来纠正学习中的错误;无监督学习类似于一般的自学,学习全靠自己的悟性和直觉,没有导师提供验证集;增强学习是一种以己为师、自求自得的学习,通过环境和自我激励的方式不断学习、调整、产生验证集并自我纠错的迭代过程。接下来主要讨论监督学习和无监督学习。图1-16 机器学习的三种形式1.3.2 机器学习的任务与方法1.机器学习的任务

机器学习的任务主要有回归、分类、聚类、异常检测、去噪等,这里简单描述几种机器学习任务。

回归,是将实函数在样本点附近加以近似的有监督的函数近似预测问题(从样本点寻求近似函数表达式),为了完成这个任务,学习n算法需要输出函数 f:R→R,当y=f(x)的时候,模型将x所代表的输入回归到函数值y。如图1-17所示,利用R软件进行回归分析,运行相应代码后,可以自动计算出线性或者非线性模型,并检验模型中各个参数的显著性。其中,用 predict()函数求预测值和预测区间,用 plot()函数绘制出拟合图。图1-17 由样本回归到变化规律(R语言实现)

分类,是将样本点对指定类别进行识别与分类的有监督的模式识别问题,考虑到已指定模式其实也是一种样本点,因此分类也可被看作是回归(函数近似预测)问题,除了返回结果的形式不一样外,学n习算法需要输出函数 f:R→{1,…,k},当 y=f(x)时,模型将向量x 所代表的输入分类到y 所代表的类别。图1-18所示为用Python语言实现的基于BP神经网络的数据集分类结果及误差结果。图1-18 基于BP神经网络的数据集分类结果及误差结果(Python语言实现)

聚类,是在不给出指定类别的情况下,将样本点进行识别与分类(自我产生模式,再将样本点按模式分类)的无监督的模式识别问题,准确计算样本点的相似度是聚类问题中的重要课题。分类和聚类的区别如图1-19所示。图1-19 分类和聚类的区别

异常检测,是寻找样本中所包含异常数据的问题,计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。若已知正常和异常标准,则是有监督的分类问题;若未知正常和异常标准,则可采用无监督的密度估计方法。异常检测任务的一个典型案例是信用卡欺诈检测,通过对购买习惯建模,信用卡公司可以检测你的卡是否被滥用,如果有人窃取了你的信用卡并发生不正常的购买行为,那么信用卡公司会发现该信用卡相对应的数据分布发生异常,可以尽快采取冻结措施以防欺诈。有关内容,可参考文献[13]。n

去噪任务类机器学习算法的输入是干净样本x∈R经过未知损坏过程后得到的损坏样本。算法根据损坏后的样本预测干净的样本 x,或者更一般地,预测条件概率分布。2.机器学习的方法

1)监督学习与无监督学习

监督学习(Supervised Learning)源自这样一个视角,导师提供目标y给机器学习系统,指导其应该做什么。也就是说,监督学习算法训练含有很多特征的数据集,不过数据集中的样本都有一个标签或目标。监督学习包含观察随机向量 x 及其相关联的值或向量y,然后从x预测y,通常是估计p(y|x)。例如,Iris数据集(Fisher,1936)注明了每个鸢鸟花卉样本属于什么品种,而监督学习算法则通过研究 Iris 数据集,学习如何根据测量结果将样本划分为3个不同的品种。

无监督学习(unsupervised learning)则没有导师,算法必须学会在没有指导的情况下理解数据。也就是说,无监督学习算法训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。无监督学习涉及观察随机向量 x 的好几个样本,试图显式或隐式地学习出概率分布 p(x),或者是该分布的一些有意义的性质。在深度学习中,通常需要学习生成数据集的整个概率分布。显式地学习,比如密度估计;隐式地学习,比如合成或去噪。还有一些其他类型的无监督学习任务,如聚类,将数据集分成相似样本的集合。

无监督学习和监督学习之间的界限从数学意义上来说,其实是模糊的。很多机器学习技术可以同时使用这两个任务。例如,概率的链n式法则表明,对于随机变量x∈R,联合分布可以分解为

该分解式意味着,对于表面上的无监督学习 p(x),可以将其拆分成 n 个监督学习问题来解决。此外,求解监督学习问题 p(y|x)时,也可以使用传统的无监督学习策略学习联合分布p(x,y),然后进行如下推断:

尽管监督学习和无监督学习并非是完全没有交集的正式概念,但它们确实有助于粗略分类我们研究机器学习算法时遇到的问题。传统上,人们将回归、分类或者结构化输出问题称为监督学习,将支持其他任务的密度估计称为无监督学习。

当然学习范式的其他变种也可能存在,例如,在半监督学习中,一些样本有监督目标,但其他样本就没有监督目标。在多示例学习中,样本的整个集合被标记为含有或者不含有该类的样本,但是集合中单独的样本是没有标记的。

2)增强学习

对于很多序列决策或者控制问题,很难有规则样本,这反映在机器学习算法上,意味着训练于一个非固定的数据集(没有规则样本)上。这种机器学习也被称为增强学习(reinforcement learning)或强化学习,该算法会和环境进行交互,即其学习系统和训练过程有反馈回路。

比如,四足机器人的控制问题,刚开始都不知道应该让其动哪条腿,在移动过程中,也不知道怎么让机器人自动找到合适的前进方向。象棋 AI 程序也具有类似的情况,每走一步棋实际上都是一个决策过程,虽然有 A*启发式算法,但在情况复杂时,仍然需要让机器多走几步或向后多考虑几步棋路后才能决定走哪一步比较好,这就需要更好的决策方法。对于这种控制决策问题,可设计一个回报函数(reward function),在learning agent(如四足机器人、象棋AI程序)决定或实际走了一步后,如果获得了较好的结果,那么给agent一些回报(比如回报函数结果为正),得到较差的结果,那么回报函数为负。得到了相应的回报函数,就能够对每一步进行评价了,我们只需要找到一条回报值最大的路径(每步的回报之和最大),就认为是最佳的路径。

增强学习在很多领域已经获得成功应用,比如自动直升机、机器人控制、手机网络路由、市场决策、工业控制、高效网页索引等,这类算法超出了本书的范畴。从参考文献[14,15],可以了解增强学习的相关知识,文献[16]介绍了增强学习的深度学习方法。1.3.3 深度学习的提出1.机器学习存在的问题

作为人工智能的核心研究领域,机器学习(Machine Learning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的学科[10]。机器能否像人类一样具有学习能力呢?机器学习虽然发展了几十年,但还是没有很好地解决诸如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐等实际应用。如图1-20所示,通过机器学习去解决这些问题的思路都是这样的(以视觉感知为例子)。图1-20 机器学习的一般思路

首先通过传感器获得数据,然后经过预处理、特征提取、特征选择,再到推理(预测或者识别)。其中最后一部分是机器学习,中间的三部分是特征表达。寻求特征表是系统最主要的计算和测试工作,因为它对最终算法的准确性起到决定性作用,然而该步骤必须依赖人工干预,这将会大幅降低工作效率,并引起主观偏差。2.深度学习的本质

深度学习是人工神经网络的分支,其本质上就是一个深度神经网络。

人工神经网络(Artificial Neural Networks,ANN)是一种典型的机器学习实现方法,其构想源自对人类大脑的理解。如图1-21所示,人工神经网络中神经元模仿了生物神经元的工作机理。

人类大脑中的神经元按特定的物理距离连接,人工神经网络中神经元则以层次划分和连接,并确定数据传播方向。两者的工作原理基本类似:将输入信息经由分布式互连和并行处理的神经元进行非线性映射处理,能实现复杂的信息处理和推理任务,如图1-22所示。对于每一个神经元来说,都会对输入的信息进行权衡以确定权重,最终的结果由存储在全网中所有的权重来决定。图1-21 生物神经元和人工神经网络中的神经元图1-22 大脑和人工神经网络

传统神经网络采用的是反向传播,也就是采用迭代的算法来训练整个网络:随机设定初值,计算当前网络的输出,然后根据当前输出和标记之间的差去改变前面各层的参数,直到收敛(整体是一个梯度下降法),一旦网络层次加深(7层以上),就会出现所谓的梯度扩散。直到深度学习(也包括相关的新的软硬件)出现才让大家真正看到了希望。深度学习整体上是一个 layer-wise 的训练机制,解决了深层网络架构下的梯度扩散;并通过逐层特征变换将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。

深度学习源于人工神经网络的研究领域,其概念最早由 Geoffrey Hinton 等人于2006年提出:①多隐层的人工神经网络具有优异的特征学习能力(见图1-23),学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;②深度神经网络在训练上的难度,可以通过无监督学习实现的“逐层初始化”(layer-wise pre-training)来有效克服。同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分。不同的学习框架下建立的学习模型很是不同。例如,卷积神经网络(Convolutional Neural Networks,CNNs)就是一种深度监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,DBNs)则是一种无监督学习下的机器学习模型。深度学习的本质就是让神经网络变得无比巨大,不断增加层数和神经元数量,让系统运行大量数据,并进行深度训练学习,这时神经网络就可以自己“教”自己,弄清人和猫分别到底是怎样的。深度学习已被Facebook成功用于人脸图像识别,当然也可以识别猫,Andrew Ng(吴恩达)2012年在谷歌做的事情就是让神经网络识别猫。图1-23 单隐层神经网络模型和深度学习模型

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载