《神经网络与深度学习》 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日
常用符号表 x.y,m.n.t 标量,通常为变量 K,L,D.M.N,T 标量,通常为超参数 x∈RD D维列向量 D维行向层 [x,…,xDor[x1;;xD】D维列向量 Oor Op (D维)全0向量 1or 1n (D维)全1向量 li(x) 第i维为1(或x),其余为0的one-hot列向量 向量x的转置 A∈RKxD 大小为K×D的矩阵 x∈RKD (KD)维的向量 M:or Mi(x) 第i列为1(成x),其余为0的矩鸡 diag(x) 对角矩阵,其对角线元素为x Iy or I (N×N的)单位阵 diag(A) 列向量,其元素为A的对角线元素 A∈RD1xD2xxD 大小为D1×D2×·×Dx的张量 eorfx(n)w 集合 Dor {(x(n).y(n)) 数据集 RD D维实数空间 N(u,E)or N(x:H,Z (变量x服从)均值为以,方差为Σ的正态(高斯)分布 Ex-p()[f(x)] 期望 varx-po)[f(x)] 方差 exp(x) 指数函数,默认指以自然常数为底的自然指数函数 log(x) 对数函数,默认指以自然常数©为底的自然对数函数 定义符号 I(x) 指示函数.当x为真时,I(x)=1:否则1(x)=0
常用符号表 𝑥, 𝑦, 𝑚, 𝑛, 𝑡 标量,通常为变量 𝐾, 𝐿, 𝐷, 𝑀, 𝑁, 𝑇 标量,通常为超参数 𝒙 ∈ ℝ𝐷 𝐷 维列向量 [𝑥1 , ⋯ , 𝑥𝐷] 𝐷 维行向量 [𝑥1 , ⋯ , 𝑥𝐷] T or [𝑥1 ; ⋯ ; 𝑥𝐷] 𝐷 维列向量 0 or 0𝐷 (𝐷 维)全0向量 1 or 1𝐷 (𝐷 维)全1向量 𝕀𝑖 or 𝕀𝑖 (𝑥) 第𝑖 维为1(或𝑥),其余为0的one-hot列向量 𝒙 T 向量𝒙的转置 𝑨 ∈ ℝ𝐾×𝐷 大小为𝐾 × 𝐷 的矩阵 𝒙 ∈ ℝ𝐾𝐷 (𝐾𝐷)维的向量 𝕄𝑖 or 𝕄𝑖 (𝒙) 第𝑖 列为1(或𝒙),其余为0的矩阵 diag(𝒙) 对角矩阵,其对角线元素为𝒙 𝑰𝑁 or 𝑰 (𝑁 × 𝑁 的)单位阵 diag(𝑨) 列向量,其元素为𝑨的对角线元素 𝒜 ∈ ℝ𝐷1×𝐷2×⋯×𝐷𝐾 大小为𝐷1 × 𝐷2 × ⋯ × 𝐷𝐾 的张量 𝒞 or {𝑥(𝑛)} 𝑁 𝑛=1 集合 𝒟 or {(𝒙(𝑛), 𝑦(𝑛))}𝑁 𝑛=1 数据集 ℝ𝐷 𝐷 维实数空间 𝒩(𝜇, Σ) or 𝒩(𝒙; 𝜇, Σ) (变量𝒙服从)均值为𝜇、方差为Σ的正态(高斯)分布 𝔼𝒙∼𝑝(𝒙)[𝑓(𝒙)] 期望 var𝒙∼𝑝(𝒙)[𝑓(𝒙)] 方差 exp(𝑥) 指数函数,默认指以自然常数e为底的自然指数函数 log(𝑥) 对数函数,默认指以自然常数e为底的自然对数函数 ≜ 定义符号 𝐼(𝑥) 指示函数.当𝑥为真时,𝐼(𝑥) = 1;否则𝐼(𝑥) = 0
目 录 序 前言 常用符号表 第一部分机器学习基础 1 第1章绪论 2 1.1人工智能 3 1.1.1 人工智能的发展历史 4 112人工智能的流派........。.。。。。。。。,。。。。, 6 1.2机器学习 6 1.3 表示学习 。。。。。+。。。。。。。。。。。 7 131局部表示和分布式表示··。··············· 8 132表示学习··· o 14深度学习.。· 141端到端学习…··。···· 11 1.5 神经网络 0。。。。。4。。。。。t。。,。g。。。g。。+。4 1.5.1人脑神经网络 2 152人工动经网终 13 1.5.3 神经网络的发展历史 1.6本书的知识体系. 16 1.7常用的深度学习框架 ”4”””。””。,””””””””””··”4 19 第2章机器学习概述 3 2.1基本概念 。。。。。。。。年。。。。。。。。。。。。4 23 2.2 机器学习的三个基本要素 221摸型 2.2.2 26
目 录 序 前言 常用符号表 第一部分 机器学习基础 1 第1章 绪论 2 1.1 人工智能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1 人工智能的发展历史 . . . . . . . . . . . . . . . . . . . . 4 1.1.2 人工智能的流派 . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 机器学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 表示学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 局部表示和分布式表示 . . . . . . . . . . . . . . . . . . . 8 1.3.2 表示学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 深度学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.1 端到端学习 . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5.1 人脑神经网络 . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5.2 人工神经网络 . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.3 神经网络的发展历史 . . . . . . . . . . . . . . . . . . . . 14 1.6 本书的知识体系 . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.7 常用的深度学习框架 . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.8 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 第2章 机器学习概述 22 2.1 基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 机器学习的三个基本要素 . . . . . . . . . . . . . . . . . . . . . . 25 2.2.1 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.2 学习准则 . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
目录 I 2.2.3 倪化算法··。· ,。。,。,。:。。。。。。。,。。, 29 23机器学习的简单示例一线性回归················ 32 2.4 偏差方差分解 。…·。…。……·。·。…。……4。。。。·。。4 37 2.5机器学习算法的类型 40 2.6数据的特征表示 。。。。。。。。。。。。。。。。。。。。。。。。。 42 2.6.1传统的特征学习·······。············· 2.6.2深度学习方法 2.7 评价指标 。。。。。。。。4。。。。。。。。。。。。。。。。。。。。 45 2.8理论和定理. 2.8.1PAC学习理论 。。。。。·。·。。。。。…。。。,。。。 48 2.8.2 没有免费午餐定理··· 2.8.3 奥卡姆剃刀原理 9 2.8.4 丑小鸭定理。。…· 2.8.5 % 2.9总结和深入阅读 50 第3章线性模型 53 3.1线性判别函数和决策边界 3.1.1二分类 3.1.2 多分类 3.2 Logistic回归 51 3.2.1参数学习 。。。。。。。。。。,。。。。。。。。。,。,。。 8 331参数学习·····…… 3.4感知器 。。。。。。。,。·。。。。。。。。。,。。。 3.4.1 泉数堂习 62 3.4.2 感知器的收敛性 。+””””。””4””。”””+”” 4 3.4.3 参数平均感知器 6 344扩展到多分类 67 3.5 支持向量机 69 3.5.1 352拉函数 3.5.3软间隔 3.6损失函数对比.. 3 3.7总结和深入阅读 74 第二部分基础模型 77 第4章前馈神经网络 41神经元·…·…… 79 4.11 Sigmoid型函数··············80
目录 VII 2.2.3 优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.3 机器学习的简单示例——线性回归 . . . . . . . . . . . . . . . . . 32 2.3.1 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4 偏差-方差分解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5 机器学习算法的类型 . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.6 数据的特征表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.6.1 传统的特征学习 . . . . . . . . . . . . . . . . . . . . . . . 43 2.6.2 深度学习方法 . . . . . . . . . . . . . . . . . . . . . . . . 45 2.7 评价指标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.8 理论和定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.8.1 PAC学习理论 . . . . . . . . . . . . . . . . . . . . . . . . 48 2.8.2 没有免费午餐定理 . . . . . . . . . . . . . . . . . . . . . . 49 2.8.3 奥卡姆剃刀原理 . . . . . . . . . . . . . . . . . . . . . . . 49 2.8.4 丑小鸭定理 . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.8.5 归纳偏置 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.9 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 第3章 线性模型 53 3.1 线性判别函数和决策边界 . . . . . . . . . . . . . . . . . . . . . . 54 3.1.1 二分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.1.2 多分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2 Logistic回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.2.1 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.3 Softmax回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.3.1 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.4 感知器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4.1 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4.2 感知器的收敛性 . . . . . . . . . . . . . . . . . . . . . . . 64 3.4.3 参数平均感知器 . . . . . . . . . . . . . . . . . . . . . . . 65 3.4.4 扩展到多分类 . . . . . . . . . . . . . . . . . . . . . . . . 67 3.5 支持向量机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.5.1 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.5.2 核函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5.3 软间隔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.6 损失函数对比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.7 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 第二部分 基础模型 77 第4章 前馈神经网络 78 4.1 神经元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.1.1 Sigmoid型函数 . . . . . . . . . . . . . . . . . . . . . . . 80
目录 VⅢ 4.1.2 ReLU函数 83 413 Swish函数 4.1.4 GELU函数 4.15 Maxout单元..」 喝 4.2 双络结物 4.2.1 422 记忆网络 81 4.2.3 图网络 43前馈神经网络,。。。。。。,。。。。。,。,。。。。。。。,。。。。, 4.3.1 通用近似定理 4.3.2 应用到机器学习 4.3.3 参数学习· 9 4.4 反向传播算法 92 45自动梯度计算..。。。。。。。..···。。。。。·。·····。 45.1数值微分 4.5.2 45.3 自动微分... 91 4.6优化问题 100 4.6.1 非凸优化问题 100 4.6.2梯度消失问题 101 4.7 总结和深入阅读 101 第5章卷积神经网络 105 5.1卷积 106 5.1.1 卷积的定义…… 106 5.1.2 513 表积的变种 109 5.1.4 卷积的数学性质 。。。。。。。。。。。。。。。。。。。。。。。 110 5.2卷积神经网络. .111 5.2.1 用卷积来代替全连接 111 5.2.2 5.2.3 汇聚层 114 5.2.4 卷积网络的整体结狗 5.3参数学习 116 5.3.1卷积神经网络的反向传播算法 116 5.4 几种典型的卷积神经网络。。,。。。。,117 5.4.1 LeNet-5 118 5.4.2 AlexNet·· 119 5.4.3 Inception网络,......,·· 121 54.4残差网络···················· 122 55其他卷积方式.·…················· 23 5.51转置卷积..1
目录 VIII 4.1.2 ReLU函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.1.3 Swish函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.1.4 GELU函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.1.5 Maxout单元 . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.2 网络结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.2.1 前馈网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.2.2 记忆网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.2.3 图网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3 前馈神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.3.1 通用近似定理 . . . . . . . . . . . . . . . . . . . . . . . . 90 4.3.2 应用到机器学习 . . . . . . . . . . . . . . . . . . . . . . . 91 4.3.3 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.4 反向传播算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.5 自动梯度计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.5.1 数值微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.5.2 符号微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.5.3 自动微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4.6 优化问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.6.1 非凸优化问题 . . . . . . . . . . . . . . . . . . . . . . . . 100 4.6.2 梯度消失问题 . . . . . . . . . . . . . . . . . . . . . . . . 101 4.7 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 第5章 卷积神经网络 105 5.1 卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.1.1 卷积的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.1.2 互相关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.1.3 卷积的变种 . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.1.4 卷积的数学性质 . . . . . . . . . . . . . . . . . . . . . . . 110 5.2 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.2.1 用卷积来代替全连接 . . . . . . . . . . . . . . . . . . . . 111 5.2.2 卷积层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.2.3 汇聚层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.2.4 卷积网络的整体结构 . . . . . . . . . . . . . . . . . . . . 115 5.3 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.3.1 卷积神经网络的反向传播算法 . . . . . . . . . . . . . . . 116 5.4 几种典型的卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . 117 5.4.1 LeNet-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.4.2 AlexNet . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4.3 Inception网络 . . . . . . . . . . . . . . . . . . . . . . . . 121 5.4.4 残差网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.5 其他卷积方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.5.1 转置卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
目录 5.5.2空洞卷积 。。。。。。。。,。,。。。。。。。。。。。 125 5.6总结和深入阅读............。.............126 第6章循环神经网络 129 6.1给网络增加记忆能力 130 6.1.1 廷时神经网络 6.12 有外部输入的非线性自回归模型 130 6.13 循环神经网络 ·.131 6.2简单循环网络..· 。。。 ..131 6.2.1 循环神经网络的计算能力 132 6.3应用到机器学习· 6.3.1序列到类别模式 134 6.3.2 同步的序列到序列模式 135 6.3.3 异步的序列到序列模式 。。。。。。。。。。。。。。 ··.135 6.4参数学习 136 6.4.1 随时间反向传播算法 6.42实时循环学习算法 138 6.5 长程依赖问题 139 6.5.1改进方案 140 6.6基于门控的循环神经网络 141 6.6.1 长短期记忆网络 141 6.6.2 LSTM网络的各种变体 143 6.6.3 门控循环单元网络 144 6.7深层循环神经网络......·····...145 6.7.1 堆叠痛环神经网络 146 6.7.2 双向循环神经网络 146 6.8扩展到图结构. 147 6.8.1递归神经网络 147 6.8.2 6.9总结和深入阅读·· 149 第7章网络优化与正则化 153 7.1 网络优化 7.1.1网络结构多样性 .154 7.1.2 高维变量的非凸优化 154 713 神经网络优化的改善方法···..··········156 7.2优化算法 156 7.2.1 小批量梯度下降 72.2 批量大小选择 .157 7.2.3 学习率调整 158 7.2.4 梯度估计修正 7.2.5 优化算法小结 166
目录 IX 5.5.2 空洞卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.6 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 第6章 循环神经网络 129 6.1 给网络增加记忆能力 . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.1.1 延时神经网络 . . . . . . . . . . . . . . . . . . . . . . . . 130 6.1.2 有外部输入的非线性自回归模型 . . . . . . . . . . . . . . 130 6.1.3 循环神经网络 . . . . . . . . . . . . . . . . . . . . . . . . 131 6.2 简单循环网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.2.1 循环神经网络的计算能力 . . . . . . . . . . . . . . . . . . 132 6.3 应用到机器学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.3.1 序列到类别模式 . . . . . . . . . . . . . . . . . . . . . . . 134 6.3.2 同步的序列到序列模式 . . . . . . . . . . . . . . . . . . . 135 6.3.3 异步的序列到序列模式 . . . . . . . . . . . . . . . . . . . 135 6.4 参数学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.4.1 随时间反向传播算法 . . . . . . . . . . . . . . . . . . . . 137 6.4.2 实时循环学习算法 . . . . . . . . . . . . . . . . . . . . . . 138 6.5 长程依赖问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.5.1 改进方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.6 基于门控的循环神经网络 . . . . . . . . . . . . . . . . . . . . . . 141 6.6.1 长短期记忆网络 . . . . . . . . . . . . . . . . . . . . . . . 141 6.6.2 LSTM网络的各种变体 . . . . . . . . . . . . . . . . . . . 143 6.6.3 门控循环单元网络 . . . . . . . . . . . . . . . . . . . . . . 144 6.7 深层循环神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.7.1 堆叠循环神经网络 . . . . . . . . . . . . . . . . . . . . . . 146 6.7.2 双向循环神经网络 . . . . . . . . . . . . . . . . . . . . . . 146 6.8 扩展到图结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.8.1 递归神经网络 . . . . . . . . . . . . . . . . . . . . . . . . 147 6.8.2 图神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.9 总结和深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 第7章 网络优化与正则化 153 7.1 网络优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.1.1 网络结构多样性 . . . . . . . . . . . . . . . . . . . . . . . 154 7.1.2 高维变量的非凸优化 . . . . . . . . . . . . . . . . . . . . 154 7.1.3 神经网络优化的改善方法 . . . . . . . . . . . . . . . . . . 156 7.2 优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.2.1 小批量梯度下降 . . . . . . . . . . . . . . . . . . . . . . . 156 7.2.2 批量大小选择 . . . . . . . . . . . . . . . . . . . . . . . . 157 7.2.3 学习率调整 . . . . . . . . . . . . . . . . . . . . . . . . . . 158 7.2.4 梯度估计修正 . . . . . . . . . . . . . . . . . . . . . . . . 163 7.2.5 优化算法小结 . . . . . . . . . . . . . . . . . . . . . . . . 166