本书全面介绍神经网络、机器学习和深度学习的基本概念、模型和方法,同时也涉及了深度学习中许多最新进展,附录中还提供了相关数学分支的简要介绍,旨在让读者知其然还要知其所以然。
1)复旦大学邱锡鹏教授基于优秀科研和教学实践,历时5年时间静心写作、不断完善,深受好评的深度学习讲义“蒲公英书”正式版!
2)字节跳动AI实验室主任李航、南京大学周志华教授、复旦大学吴立德教授强力推荐。
3)系统整理深度学习的知识体系,从机器学习基础、神经网络模型以及概率图模型三个层面来串联深度学习所涉及的知识点,兼具系统性、条理性和全面性。
4)适合自学与入门。在网站上配套了教学PPT以及针对每章知识点的编程练习,理论和实践结合,加深读者对知识的理解,并提高问题求解能力。
5)内容安排由浅入深,语言表达通俗易懂,排版布局图文并茂,全彩印刷装帧精美。
◆ 推荐序◆
很高兴为邱锡鹏教授的《神经网络与深度学习》一书写序.
近年来由于阿尔法围棋战胜人类顶级高手新闻的轰动效应,让人工智能一下子进入了寻常百姓家,成为家喻户晓的热词.阿尔法围棋能取得如此成功的关键技术之一,正是所谓的深度学习.而其实在阿尔法围棋出现之前,以深度学习为代表的人工智能技术已经在模式识别、计算机视觉、语音识别与生成、自然语言处理、机器翻译等方面取得了重要的进步.也因此,2018年有计算机领域诺贝尔奖之称的图灵奖颁给了对深度学习作出重要贡献的三位科学家:YoshuaBengio、GeoffeyHinton和YannLeCun.
邱锡鹏教授的《神经网络与深度学习》一书较全面地介绍了神经网络、机器学习和深度学习的基本概念、模型和方法,同时也涉及深度学习中许多最新进展.书后还提供了相关数学分支的简要介绍,以供读者需要时参考.
本书电子版已在GitHub上开放共享,得到广泛好评,相信此书的出版可以给有意了解或进入这一颇有前途领域的读者提供一本很好的参考书.基本的深度学习相当于函数逼近问题,即函数或曲面的拟合,所不同的是,这里用作基函数的是非线性的神经网络函数,而原来数学中用的则是多项式、三角多项式、B-spline、一般spline以及小波函数等的线性组合.
由于神经网络的非线性和复杂性(要用许多结构参数和连接权值来描述),它有更强的表达能力,即从给定的神经网络函数族中可能找到对特定数据集拟合得更好的神经网络.相信这正是深度学习方法能得到一系列很好结果的重要原因.直观上很清楚,当你有更多的选择时,你有可能作出更好的选择.当然,要从非常非常多的选择中找到那个更好的选择并不容易.
这里既涉及设计合适的神经网络类型,也涉及从该类型的神经网络中找出好的(即拟合误差小的)特定神经网络的方法.后者正是数学中最优化分支所研究的问题.从数学角度看,目前深度学习中所用的优化算法还是属于比较简单的梯度下降法.许多数学中已有的更复杂的算法,由于高维数问题都还没有得到应用.本书中对这两方面都有很好的介绍.相信随着研究的不断发展,今后一定会提出更多新的神经网络和新的优化算法.
所谓成也萧何败也萧何,神经网络的非线性和复杂性(即要用大量参数来描述,在深度网络场合其个数动辄上万、百万甚至更多)使得虽然通过大量的标注数据经过深度学习可以得到一个结果误差很小的神经网络,但要用它来进行解释却十分困难.其实这也是长期困扰神经网络方法的一个问题,使用深度神经网络的深度学习方法也概莫能外.
难于解释相当于知其然不知其所以然.这对有些应用而言是可以的,但对有些可能造成严重后果的应用而言则有很大问题.一般而言,人们除了希望知其然,也会希望能知其所以然.
近来也有学者发现,一个精度很高的神经网络,去改变它的几个(甚至一个)参数,就会使该网络的性能下降许多.换言之,深度学习方法的鲁棒性也有待研究.
总之,本书介绍的基于神经网络的深度学习方法是近年来经过大量实践并取得很好成果的一种很通用的方法,也是近年来人工智能领域中最活跃的分支之一.相信无论在方法本身的发展上,抑或在新领域应用的研发上,都会呈现出一派欣欣向荣的气象.
吴立德
于上海·复旦大学
2019年8月17日
◆ 前言◆
近年来,以机器学习、知识图谱为代表的人工智能技术逐渐变得普及.从车牌识别、人脸识别、语音识别、智能助手、推荐系统到自动驾驶,人们在日常生活中都可能有意无意地用到了人工智能技术.这些技术的背后都离不开人工智能领域研究者的长期努力.特别是最近这几年,得益于数据的增多、计算能力的增强、学习算法的成熟以及应用场景的丰富,越来越多的人开始关注这个“崭新”的研究领域:深度学习.深度学习以神经网络为主要模型,一开始用来解决机器学习中的表示学习问题.但是由于其强大的能力,深度学习越来越多地用来解决一些通用人工智能问题,比如推理、决策等.目前,深度学习技术在学术界和工业界取得了广泛的成功,受到高度重视,并掀起新一轮的人工智能热潮.
然而,我们也应充分意识到目前以深度学习为核心的各种人工智能技术和“人类智能”还不能相提并论.深度学习需要大量的标注数据,和人类的学习方式差异性很大.虽然深度学习取得了很大的成功,但是深度学习还不是一种可以解决一系列复杂问题的通用智能技术,而是可以解决单个问题的一系列技术.比如可以打败人类的AlphaGo只能下围棋,而不会做简单的算术运算.想要达到通用人工智能依然困难重重.
本书的写作目的是使得读者能够掌握神经网络与深度学习技术的基本原理,知其然还要知其所以然.全书共15章.第1章是绪论,概要介绍人工智能、机器学习和深度学习,使读者全面了解相关知识.第2、3章介绍机器学习的基础知识.第4~6章分别讲述三种主要的神经网络模型:前馈神经网络、卷积神经网络和循环神经网络.第7章介绍神经网络的优化与正则化方法.第8章介绍神经网络中的注意力机制和外部记忆.第9章简要介绍一些无监督学习方法.第10章介绍一些模型独立的机器学习方法:集成学习、自训练和协同训练、多任务学习、迁移学习、终身学习、元学习等,这些都是目前深度学习的难点和热点问题.第11章介绍概率图模型的基本概念,为后面的章节进行铺垫.第12章介绍两种早期的深度学习模型:玻尔兹曼机和深度信念网络.第13章介绍最近两年发展十分迅速的深度生成模型:变分自编码器和生成对抗网络.第14章介绍深度强化学习的知识.第15章介绍应用十分广泛的序列生成模型.
2015年复旦大学计算机学院开设了“神经网络与深度学习”课程.讲好深度学习课程并不是一件容易的事,当时还没有关于深度学习的系统介绍,而且课程涉及的知识点非常多并且比较杂乱,和实践结合也十分紧密.作为任课教师,我尝试梳理了深度学习的知识体系,并写了一本讲义放在网络上.虽然现在看起来当时对深度学习的理解仍然十分粗浅,且讲义存在很多错误,但依然受到了很多热心网友的鼓励.2016年年初,机械工业出版社华章公司的姚蕾编辑多次拜访并希望我能将这个讲义整理成书.我一方面被姚蕾编辑的诚意打动,另一方面也确实感到应该有一本面向在校学生和相关从业人员的关于深度学习的专门书籍,因此最终有了正式出版的意愿.但我依然低估了写书的难度,一方面是深度学习的发展十分迅速,而自己关于深度学习的认知也在不断变化,导致已写好的内容经常需要修改;另一方面是平时的科研工作十分繁忙,很难抽出大段的时间来静心写作,因此断断续续的写作一直拖延至今.
我理想中著书立说的境界是在某一个领域有自己的理论体系,将各式各样的方法都统一到自己的体系下,并可以容纳大多数技术,从新的角度来重新解释这些技术.本书显然还达不到这样的水平,但希望能结合自身的经验,对神经网络和深度学习的相关知识进行梳理、总结,通过写书这一途径,也促使自己能够更加深入地理解深度学习这一领域,提高自身的理论水平.
本书能够完成,首先感谢我的导师吴立德教授,他对深度学习的独到见解和深入浅出的讲授,使得我对深度学习有了更深层次的认识,也感谢复旦大学计算机学院的黄萱菁教授和薛向阳教授的支持和帮助.本书在写作时将书稿放在网络上,也得到很多网友的帮助,特别感谢王利锋、林同茂、张钧瑞、李浩、胡可鑫、韦鹏辉、徐国海、侯宇蓬、任强、王少敬、肖耀、李鹏等人指出了本书初稿的错误或提出了富有建设性的意见.此外,本书在写作过程中参考了互联网上大量的优秀资料,如维基百科、知乎、Quora等网站.
另外,我也特别感谢我的家人.本书的写作占用了大量的业余时间,没有家人的理解和支持,这本书不可能完成.
最后,因为个人能力有限,书中难免有不当和错误之处,还望读者海涵和指正,不胜感激.
邱锡鹏
于上海·复旦大学
2020年3月31日
邱锡鹏
复旦大学计算机科学技术学院教授、博士生导师,于复旦大学获得理学学士和博士学位。主要研究领域包括自然语言处理、机器学习、深度学习等,在相关领域的权威国际期刊、会议上发表学术论文60余篇,获得计算语言学国际会议ACL 2017杰出论文奖、全国计算语言学会议CCL 2019最佳论文奖,2015年入选首届中国科协青年人才托举工程,2018年获得中国中文信息学会“钱伟长中文信息处理科学技术奖青年创新一等奖”,入选由“清华—中国工程院知识智能联合研究中心和清华大学人工智能研究院”联合发布的2020年人工智能(AI)全球具影响力学者提名。该排名参考过去十年人工智能各子领域最有影响力的会议和期刊发表论文的引用情况,排名前10的学者当选该领域当年影响力学者奖,排名前100的其他学者获影响力学者提名奖。作为项目负责人开源发布了两个自然语言处理开源系统FudanNLP和FastNLP,获得了学术界和产业界的广泛使用。目前担任中国中文信息学会青年工作委员会执行委员、计算语言学专委会委员、语言与知识计算专委会委员,中国人工智能学会青年工作委员会常务委员、自然语言理解专委会委员