深度学习理论的基本原则_第0章_初始化
由于对计算机技术的大量投资,现代人工智能 (AI) 系统现在可以配备数十亿个基本组件。当这些组件被正确初始化然后训练时,人工智能可以完成曾经被认为非常复杂的任务,哲学家之前认为只有自然智能系统——即人类——才能执行这些任务。
人工智能取得如此成功的背后很大程度上是因为深度学习。深度学习使用人工神经网络作为 AI 的基础模型:虽然松散地基于生物神经网络(例如您的大脑),但人工神经网络可能最好被认为是指定一组灵活函数的特别好方法,由许多函数构建而成称为神经元的基本计算模块。这种计算模型实际上与您可能用来阅读本书的计算机所使用的计算模型大不相同。特别是,深度学习模型不是通过编写一组特定的指令来直接解决问题,而是根据来自现实世界的数据进行训练,并学习如何解决问题。
深度学习框架的真正力量来自深度神经网络,许多神经元并行组织成顺序计算层,学习对世界有用的表征。这种表示学习将数据转化为有助于解决潜在任务的越来越精细的形式,并且被认为是人工智能成功的标志,包括人工和生物。
尽管取得了这些成功并引起了浓厚的兴趣,但深度学习理论仍处于起步阶段。事实上,理论与实践之间存在严重的脱节:虽然实践者 ...
深度学习理论的基本原则_第2章_神经网络
第 2 章 神经网络
本章将转向深度学习的介绍性概述。
在 第 2.1 节 中,我们介绍了 神经元、激活、偏置、权重 和 层 等神经网络架构的基本组件,并定义了多层感知器(MLP),这是由基本组件迭代组成的一种简单模型。鉴于所有深度网络在概念上都是由许多结构相同的层迭代组成,因此可以将 MLP 视为一种原型网络架构,用于在整本书中说明深度学习的原理。这类神经网络模型足够丰富,可以捕捉深度学习理论的所有基本要素,同时又足够简单,可以保持本书的教学重点。尽管如此,我们还是会简要讨论其他网络架构的有效理论。
在 第 2.2 节 中,我们列出了一些在实践中经常使用的常见激活函数。
在 第 2.3 节 中,我们将讨论如何初始化 MLP。我们在这里进行了一个关键的概念转变,从 将权重和偏差视为随机变量,转向考虑 在神经活动和网络输出上引入的分布。当我们开始为具有一般激活函数的 MLP 开发有效理论时,我们在此处推导的表达式将为 第 4 章 中的分析提供一个自然的起点。
2.1 函数近似
人工神经网络 这个主题,作为认知科学和受神经科学启发的人工智能的组成部分,有着悠久的历史。在这里, ...
深度学习理论的基本原则_第1章_预备知识
第 1 章 预备知识
本书的目标是 制定能够从理论上理解深度学习的原理 。其中最重要一个原理就是:深度并且宽的神经网络受近高斯分布的控制。因此,要想读完本书,你需要掌握高斯积分和摄动理论。我们在本章中包含了对这些工具的快速介绍,还有一些必要的统计学概念介绍。读者唯一需要的先决条件是熟练掌握线性代数、多元微积分和初级概率论。
考虑到这一点,我们从 第 1.1 节 开始对 高斯积分 进行讨论,重点放在单项式对高斯分布的均值计算上,最终推导出 Wick 定理。
接下来,在 第 1.2 节 中,我们首先对期望值和可观测值进行一般性讨论。将可观测量视为通过重复实验学习概分布的一种方式,我们将介绍 矩 和 累积量 的统计概念,以及相应的 全 M 点相关器 和 连接 M 点相关器 的物理概念。其中特别强调了 连接相关器,因为它能够直接表征某个分布与高斯性之间的偏差。
在 第 1.3 节 中,我们介绍了概率分布的 负对数概率 或 动作表示 ,并解释了 动作 如何通过对高斯分布施加系统性地变形,形成非高斯分布的紧凑表示。特别是,我们专注于 近高斯分布 (其与高斯分布的偏差通过动作中的微小耦合 ...
深度学习理论的基本原则_第3章_初始化时深度线性网络的有效理论
第 3 章 初始化时深度线性网络的有效理论
在最后的热身章节中,我们介绍并求解深度学习的玩具模型,即 深度线性网络(deep linear network)。
对于物理学家,我们打个比方:深度线性网络之于深度学习,就像简谐振子之于量子力学。
如 第 3.1 节 所述,深度线性网络只是一个具有线性激活函数的多层感知机。这样的网络只能计算输入的线性变换,当然不能产生像人类这样的函数(在经验上人类思维是非线性的)。尽管如此,对深度线性网络的研究仍然是我们后面几章陆续介绍的 深度学习的有效理论(effective theory of deep learning) 的基础蓝图。本章中的练习将说明:层到层的递归能够以非常直观的方式控制深度神经网络的统计量,而不会被所有技术细节所困扰。
为此,在 第 3.2 节 中,我们获得并精确求解深度线性网络中 (预激活的)两点相关器 的层到层递归。结果表明,神经网络的统计量敏感地依赖于 初始化超参数 的设置,敏感度随深度呈指数增长。这就引出了 临界点(criticality) 的重要概念,我们将在 第 5 章 中更深入和更敏感地探讨这个概 ...
深度学习理论的基本原则_第4章_预激活的表征群流
第 4 章 预激活的表征群流
在上一章的最后,我们计算了深度线性网络在初始化时的预激活统计量,并将它们作为网络深度的函数运行。对于那个模型,使用少数 Wick 收缩和网络架构的递归结构,我们能够完全理解网络超参数(其初始化方案、宽度和深度)对预激活相关器的影响。该练习特别强调了 关键初始化超参数 和 足够小深宽比 的重要性,以使网络输出在理论上和实践上表现良好。为了将这些见解扩展到深度线性网络之外,我们需要为具有任何激活函数的网络开发一种深度学习的有效理论。
虽然有效理论的最终目标是解释特定神经网络如何从给定数据集中学习,但我们在 第 4 章 和 第 5 章 中的直接目标,是了解初始化时的神经网络集成如何表现为一个数据的函数。在 第 10章、 第 11 章 和 第 ∞ 章 中,我们会发现这两个目标紧密联系:通过对神经网络集成的审慎研究,可以系统地评估已训练神经网络的典型行为,并且评估任意特定神经网络可能如何偏离这些典型行为。因此,我们的出发点应当是研究(具有高斯初始化偏差和权重的)神经网络预激活的统计量。总而言之,本章开发的用于 在初始化时分析神经网络集成的形式化方 ...
深度学习理论的基本原则_第5章_初始化时预激活的有效理论
第 5 章 初始化时预激活的有效理论
深度学习的关键定义特征是将组件堆叠在一起以获得深度神经网络架构。尽管经验上偏爱更深的网络,但为什么深度有利于学习的机理并不明确。对于每层固定数量的神经元,深度意味着更多参数,而在深度学习中,更多参数通常会带来更好的性能。但还有其他方法可以包含更多参数,例如,使用一个非常宽的隐藏层。事实上,在严格的无限宽极限下,这种单层模型可以具有与任何更深层次多层感知机相同数量的参数:无穷大。
考虑深度影响的正确方法不仅仅是计算模型参数的数量,而是了解当向多层感知机添加额外层时会发生什么。在 第 4 章 中,我们开发了一种形式化方法,通过对可观测量的递归来精确解答这个问题,使我们在添加新层后,能够计算初始网络输出的分布会发生什么变化。下一步就需要寻找能够从递归中有效地提取显式深度依赖性的一种工具。
基于 第 4 章 中开发的有效理论形式化方法,我们将在本章中把 第 3 章 中执行的 临界性分析 和 扰动分析 扩展到具有任何非线性激活函数的多层感知机。受前一章在宽层 ( n≫1n \gg 1n≫1)中找到简化方法的成功启发,我们将在大深度限制 (L≫1L ...
深度学习理论的基本原则_第6章_贝叶斯学习
第 6 章 贝叶斯学习
在前三章中,我们花费了大量的时间来分析宽神经网络集成的初始化。特别是,通过 1/n1/n1/n 扩展和深度渐近分析,我们对架构、宽度、深度和初始化超参数之间的相互作用有了相当透彻的了解,这些超参数共同定义了预激活的有效分布。
在本研究中,我们更关注深度学习的 “深度”,而几乎忽略了“学习”。但这是一本深度学习的书,而不仅仅是一本有关 “深度” 的书。因此,在本章中,我们将开始学习 “学习”,并且将后续章节继续学习 “学习”。
我们将从讨论贝叶斯推断开始,因为它为思考一般学习提供了一个自然框架。我们将在 第 6.1 节 中给出概率的贝叶斯解释:根据假设不同,概率被重新解释为人们对世界的信念强度。我们将了解到贝叶斯推断的规则(实际上是扩展到概率推断中的逻辑规则):选择一种逻辑一致的方式,将新观测到的信息整合到(代表我们假设的)概率模型中。
从 第 6.2 节 开始,我们将了解,为何这个简单而强大的框架能够分析并理解深度神经网络中的学习。
在 第 6.2.1 节 中,将详细介绍贝叶斯模型的拟合如何适用于神经网络。首先,我们将 有效预激活分布 解释为 先验分 ...
深度学习理论的基本原则_第7章_基于梯度的学习
第 7 章 基于梯度的学习
在上一章中,我们将贝叶斯推断做为一种学习算法进行了讨论,它自然源于对神经网络初始化时的研究。我们从使用参数(权重和偏差)描述神经网络架构开始,通过积分这些参数,找到 作为层和输入样本函数的 预激活 z(ℓ)(x)z^{(\ell)}(x)z(ℓ)(x) 上的分布,其中包括输出分布 p(z(L)(x))p(z^{(L)}(x))p(z(L)(x))。这可以被解释为此类模型集成上的先验分布,然后我们解释了贝叶斯规则逻辑如何将先验演化为以观测数据为条件的后验分布。尽管贝叶斯推断在理论上很优雅和简洁,但随着条件数据样本数量的增加,其实现变得难以计算。
退一步想,这个设置方式实际上有点奇怪:我们通过对参数的积分计算得出输出的分布,对实际网络本身似乎并不感兴趣。由于贝叶斯推断只关心模型的输出分布,因此推断的起点实际上可以是任何模型集成,因为贝叶斯推断最初不是专门为神经网络量身定制的。那么,为什么要经历从神经网络模型开始的所有麻烦呢?
深度神经网络令人兴奋,因为它们工作效果非常好。在实践中,此类网络经过明确训练后,可以用于执行有用的任务。最常见的是,通过基于梯 ...
深度学习理论的基本原则_第8章_神经切线核的表征群流
第 8 章 神经切线核的表征群流
在上一章中,我们介绍了基于梯度的学习,以将其作为贝叶斯学习的替代方案,并重点关注了梯度下降算法。简而言之,梯度下降算法涉及从先验分布实例化一个神经网络,然后通过运行训练数据来迭代地更新模型参数。该算法易于实现,并且对于任何特定网络都非常有效。在实践中,它也使事情变得更加容易。
但从理论上讲,梯度下降学习会使事情变得更加困难。对于贝叶斯先验,之所以能够逐层对模型参数进行积分并最终推导出神经网络输出的分布,主要是因为偏差和权重的初始化分布比较简单;此外,大宽度的扩展使获得有限宽神经网络的贝叶斯后验解析解成为可能。而相比之下,通过梯度下降训练的任何特定网络参数和输出,都是复杂的、相关的混杂体。
为了取得进展,我们需要转回统计视角。我们不关注任何特定网络如何从数据中学习,而是询问典型网络在训练时的行为方式。如果我们了解梯度下降时的典型行为(即均值),并能够控制神经网络实例之间的扰动(即方差),那么就可以描述实践中使用的梯度学习方法。
考虑到这种统计视角,回想上一章中,我们将 梯度下降更新 分解为 损失误差因子 乘以 函数逼近因子,后者又被称为神经正 ...
深度学习理论的基本原则_第9章_初始化时神经正切核的有效理论
第 9 章 初始化时神经正切核的有效理论
上一章是方程、代数和积分的风暴,现在让我们花一些时间来评估我们想要的东西。
我们在 第 8 章 的目标是在初始化时确定给定层的 神经正切核-预激活 联合分布:p(z(ℓ),H^(ℓ)∣D)p (z^{(\ell)},\hat{H}^{(\ell)} \mid \mathcal{D})p(z(ℓ),H^(ℓ)∣D) 。除了在 第 4 章 中为核 ( 式 4.118) 和四点顶点 ( 式 4.119 ) 导出的递归外,该分布的 数据依赖耦合 和 连接相关器 主要根据我们递归导出的深度运行( 式 8.63 的神经正切核均值 、 式 8.77 和 式 8.79 的 神经正切核-预激活 互相关、 式 8.89 和 式 8.97 的神经正切核方差)。这个 表征群流 分析告诉我们:神经正切核在第一层是确定性对象( 第 8.1 节),在第二层( 第 8.2 节 )是随机扰动和互相关,然后在更深的层进一步累积扰动和互相关( 第 8.3 节 )。
在本章中,我们终于能够考虑此联合分布的物理特性。
在 第 5 章 中对 临界性 和 普遍性 的讨论基础 ...