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