Yoshua Bengio, Yann Lecun, Geoffrey Hinton|Deep Learning for AI(人工智能深度学习)

人工神经网络的研究受到以下观察的启发:人类智能是从相对简单的非线性神经元的高度并行网络中产生的,这些网络通过调整连接强度来学习。这一观察导致了一个核心的计算问题:这种一般类型的网络如何学习识别物体或理解语言等困难任务所需的复杂内部表示?深度学习试图通过使用多层活动向量作为表示并通过跟踪衡量网络性能的目标函数的随机梯度来学习产生这些向量的连接强度来回答这个问题。非常令人惊讶的是,这种概念上简单的方法在使用大量计算应用于大型训练集时已被证明如此有效,而且似乎一个关键因素是深度:浅层网络根本无法正常工作。

 

我们回顾了几年前深度学习的基本概念和一些突破性成就。这里我们简要描述深度学习的起源,描述一些最近的进展,并讨论一些未来的挑战。这些挑战包括在很少或没有外部监督的情况下学习,处理来自与训练示例不同分布的测试示例,以及使用深度学习方法解决人类通过使用我们有意识地参与的深思熟虑的步骤序列来解决的任务——Kahneman将任务称为系统2任务,而不是系统1任务,例如对象识别或即时自然语言理解,这些任务通常感觉轻松。

 

从手工编码的符号表达式到学习的分布式表示

人工智能有两种截然不同的范式。简而言之,逻辑启发范式将顺序推理视为智能的本质,旨在使用手工设计的推理规则在计算机中实现推理,这些规则对手工设计的将知识形式化的符号表达式进行操作。受大脑启发的范式将从数据中学习表征视为智能的本质,旨在通过手动设计或演化规则来实现学习,以修改人工神经元模拟网络中的连接强度。

 

在逻辑启发范式中,符号没有有意义的内部结构:它的意义在于它与其他符号的关系,这些关系可以用一组符号表达式或关系图来表示。相比之下,在类脑范式中,用于交流的外部符号被转换为神经活动的内部向量,这些向量具有丰富的相似结构。活动向量可用于通过为每个符号学习适当的活动向量并学习允许填充与符号串缺失元素对应的活动向量的非线性变换来对一组符号串中固有的结构进行建模。这Rumelhart 等人首次在玩具数据上证明了这一点,然后 Bengio 等人 在真实句子上证明了这一点。最近一个非常令人印象深刻的演示是 BERT,它也利用自注意力来动态连接单元组,如下所述。

 

使用神经活动向量来表示概念和权重矩阵来捕捉概念之间的关系的主要优点是,这会导致自动泛化。如果星期二和星期四由非常相似的向量表示,它们将对神经活动的其他向量产生非常相似的因果影响。这有助于类比推理,并表明直接、直观的类比推理是我们的主要推理模式,而逻辑顺序推理则是较晚的发展,我们将对此进行讨论。

 

深度学习的兴起

深度学习在 2000 年代初期通过引入一些元素使训练更深的网络变得容易,从而重新激发了神经网络的研究。 GPU 的出现和大型数据集的可用性是深度学习的关键推动因素,并且通过开发具有自动区分功能的开源、灵活的软件平台(例如 Theano、Torch、Caffe、TensorFlow、和 PyTorch)大大增强了它们。这使得训练复杂的深度网络和重用最新模型及其构建块变得容易。但是,更多层的组合允许更复杂的非线性,并在感知任务中取得了令人惊讶的好结果,总结如下。

 

为什么是深度?

尽管更深层次的神经网络可能是更强大的直觉早于现代深度学习技术,它是架构和训练程序方面的一系列进步,迎来了与崛起相关的显着进步的深度学习。但是为什么更深的网络可以更好地概括我们对建模感兴趣的输入-输出关系类型?重要的是要认识到,这不仅仅是具有更多参数的问题,因为深度网络通常比具有相同参数数量的浅层网络具有更好的泛化能力。实践证实了这一点。最流行的计算机视觉卷积网络架构类别是 ResNet 系列,其中最常见的代表 ResNet-50 有 50 层。本文中未提及但结果证明非常有用的其他成分包括图像变形、丢失和批量标准化。

 

我们相信深度网络之所以出色,是因为它们利用了一种特定形式的组合性,其中一层中的特征以多种不同的方式组合,以在下一层创建更多抽象特征。

 

对于像感知这样的任务,这种组合性非常有效,并且有强有力的证据表明它被生物感知系统使用。

 

无监督预训练。当标记训练示例的数量与执行任务所需的神经网络的复杂性相比较小时,开始使用一些其他信息源来创建特征检测器层然后微调这些特征检测器是有意义的使用有限的标签供应。在迁移学习中,信息来源是另一个具有大量标签的监督学习任务。但也可以通过堆叠自动编码器来创建多层特征检测器,而无需使用任何标签。

 

首先,我们学习了一层特征检测器,其活动允许我们重建输入。然后我们学习第二层特征检测器,其活动允许我们重建第一层特征检测器的活动。在以这种方式学习了几个隐藏层之后,我们尝试从最后一个隐藏层中的活动预测标签,并通过所有层反向传播错误,以便微调最初发现的特征检测器,而不使用标签中的宝贵信息。预训练可以很好地提取与最终分类无关的各种结构,但是,在计算便宜且标记数据昂贵的情况下,只要预训练将输入转换为表示使分类更容易。

 

除了提高泛化能力之外,无监督预训练还可以通过反向传播轻松微调深度神经网络的方式初始化权重。预训练对优化的影响在历史上对于克服深度网络难以训练的公认观点很重要,但现在人们使用修正线性单元(见下一节)和残差连接,它的相关性要小得多。然而,预训练对泛化的影响已被证明是非常重要的。它可以通过利用大量未标记的数据来训练非常大的模型,例如在自然语言处理中,有大量的语料库可用。预训练和微调的一般原则已经证明成为深度学习工具箱中的重要工具,例如,当涉及到迁移学习时,甚至作为现代元学习的一个组成部分时。

 

整流线性单元的神秘成功。深度网络的早期成功涉及使用逻辑 sigmoid 非线性或密切相关的双曲正切对单元层进行无监督的预训练。长期以来,神经科学中一直假设校正线性单元并且已经在 RBM 的某些变体和卷积神经网络中使用。学者发现校正非线性(现在称为 ReLU,具有许多现代变体)使这变得容易,这是一个出乎意料的惊喜反向训练深度网络

 

近期进展

在这里,我们有选择地涉及深度学习的一些最新进展,显然忽略了许多重要的主题,例如深度强化学习、图神经网络和元学习。

 

软注意力和变换器架构

深度学习的一个重大发展,特别是在顺序处理方面,是乘法交互的使用,特别是软注意力的形式。这是对神经网络工具箱的变革性补充,因为它将神经网络从纯粹的矢量转换机器转变为可以动态选择对哪些输入进行操作的架构,并且可以将信息存储在可区分的关联存储器中。这种架构的一个关键特性是它们可以有效地对包括集合和图在内的不同类型的数据结构进行操作。

 

一层中的模块可以使用软注意力来动态选择它们将组合来自前一层的哪些向量来计算它们的输出。这可以使输出独立于输入的呈现顺序(将它们视为一组)或使用不同输入之间的关系(将它们视为图形)。

 

变换器架构已成为许多应用程序中的主导架构,它堆叠了许多层“自注意力”模块。层中的每个模块使用标量积来计算其查询向量与该层中其他模块的关键向量之间的匹配。匹配被归一化为总和为 1,然后使用产生的标量系数来形成由前一层中其他模块产生的值向量的凸组合。结果向量形成下一计算阶段的模块的输入。模块可以是多头的,以便每个模块计算几个不同的查询、键和值向量,从而使每个模块有可能有几个不同的输入,每个输入都以不同的方式从前一阶段的模块中选择。在此操作中,模块的顺序和数量无关紧要,因此可以对向量集进行操作,而不是像传统神经网络中那样对单个向量进行操作。例如,语言翻译系统在输出句子中生成一个单词时,可以选择关注输入句子中对应的一组单词,而与其在文本中的位置无关。虽然乘法门控是坐标变换和循环网络的增强形式之类的旧思想,但其最近的形式使其成为主流。另一种思考注意力机制的方法是,它们使通过适当选择的模块动态地路由信息,并以可能新颖的方式将这些模块组合起来,从而改进分布外泛化。

 

我们相信深度网络之所以出色,是因为它们利用了一种特定形式的组合性,其中一层中的特征以多种不同的方式组合,以在下一层创建更多抽象特征。

 

变换器产生了显着的性能改进,彻底改变了自然语言处理,现在它们在工业中被常规使用。 这些系统都以自我监督的方式进行了预训练,以预测一段文本中的缺失词。

 

也许更令人惊讶的是,变换器已成功用于象征性地求解积分方程和微分方程。 最近一个非常有前景的趋势是在卷积网络之上使用变换器,以具有最先进的性能在图像中进行对象检测和定位。 变换器以可微分的方式执行后处理和基于对象的推理,使系统能够进行端到端的训练。

 

无监督和自监督学习

监督学习虽然在各种任务中取得成功,但通常需要大量人工标记的数据。同样,当强化学习仅基于奖励时,它需要非常大量的交互。这些学习方法往往会产生特定于任务的专业系统,这些系统通常在他们接受过训练的狭窄领域之外是脆弱的。减少学习任务所需的人工标记样本数量或与世界的交互并提高域外鲁棒性对于低资源语言翻译、医学图像分析、自动驾驶、和内容过滤。

 

人类和动物似乎能够以独立于任务的方式学习大量关于世界的背景知识,主要是通过观察。这些知识巩固了常识,让人类只需几个小时的练习就可以学习复杂的任务,例如驾驶。人工智能未来的一个关键问题是人类如何仅从观察中学到这么多?

 

人工智能未来的一个关键问题是人类如何仅从观察中学到这么多?

 

在监督学习中,N 个类别之一的标签平均最多传达 log2(N) 位关于世界的信息。在无模型强化学习中,奖励同样仅传达少量信息。相比之下,音频、图像和视频是高带宽模式,隐含地传达了有关世界结构的大量信息。这激发了一种称为自监督学习的预测或重建形式,它通过预测数据的掩蔽或损坏部分来训练“填补空白”。自监督学习在训练 变换器提取向量方面非常成功,这些向量可以捕获单词或单词片段的上下文相关含义,并且这些向量非常适合下游任务。

 

对于文本,变换器被训练从一组离散的可能性中预测丢失的单词。但是在视频等高维连续域中,特定视频片段的合理延续集庞大而复杂,正确表示合理延续的分布本质上是一个未解决的问题。

 

对比学习

解决此问题的一种方法是通过潜在变量模型,该模型为视频示例和可能的延续分配能量(即,不良)。

 

给定输入视频 X 和建议的延续 Y,我们希望模型通过使用能量函数 E(X, Y) 来指示 Y 是否与 X 兼容,该函数在 X 和 Y 兼容时取低值,否则取高值。

 

E(X, Y) 可以由深度神经网络计算,对于给定的 X,以对比的方式训练,为与 X 兼容的值 Y 提供低能量(例如 (X, Y)对),以及与 X 不兼容的 Y 的其他值的高能量。对于给定的 X,推理包括找到一个使 E(X, Y) 最小化的Y或者可能从 Y 中采样具有较低的 E(X, Y) 值。这种基于能量的方法来表示 Y 依赖于 X 的方式,这使得建模多样化、多模态的合理延续集成为可能。

 

对比学习的关键难点是选择好的“负”样本:合适的点 Y,其能量会被推高。当可能的反例集合不是太大时,我们可以将它们全部考虑。这就是 softmax 的作用,因此在这种情况下,对比学习简化为对有限离散符号集的标准监督或自监督学习。但是在实值高维空间中,向量Y与 Y 的不同方式太多了,为了改进模型,我们需要关注那些本应具有高能量但当前能量较低的 Y。早期选择负样本的方法基于蒙特卡罗方法,例如受限玻尔兹曼机的对比散度和噪声对比估计。

 

生成对抗网络 (GAN)通过将神经网络应用于已知分布(例如高斯分布)的潜在样本来训练生成神经网络以生成对比样本。生成器训练自己产生输出Y,模型为其提供低能量 E(Y)。生成器可以使用反向传播来获得 E(Y) 相对于Y的梯度。生成器和模型同时训练,模型试图为训练样本提供低能量,而为生成的对比样本提供高能量。

 

GAN 优化起来有些棘手,但事实证明,对抗性训练思想非常有效,在图像合成方面产生了令人印象深刻的结果,并在内容创建和领域适应以及领域或风格转移方面开辟了许多新应用。

 

深度学习的未来

深度学习系统的性能通常可以通过简单地扩展它们来显着提高。有了更多的数据和更多的计算,它们通常会工作得更好。具有 1750 亿个参数的语言模型 GPT-318(与人脑中的突触数量相比仍然很小)生成的文本明显优于只有 15 亿个参数的 GPT-2。随着聊天机器人 Meena和 BlenderBot变得越来越大,它们也在不断改进。现在正在为扩大规模做出巨大努力,它将大大改进现有系统,但目前深度学习存在一些根本缺陷,无法通过单独扩大规模来克服,正如此处所讨论的。

 

将人类学习能力与当前的人工智能进行比较,提出了几个改进方向:

 

监督学习需要太多标记数据,而无模型强化学习需要太多试验。人类似乎能够以少得多的经验很好地概括。

当前的系统对分布变化的鲁棒性不如人类,人类可以通过很少的例子快速适应这种变化。

当前的深度学习在感知任务和通常所谓的系统 1 任务方面最为成功。将深度学习用于需要经过深思熟虑的步骤序列的系统 2 任务是一个仍处于起步阶段的令人兴奋的领域。

有什么需要改进的。从早期开始,机器学习的理论家就专注于 iid 假设,该假设指出测试用例应该来自与训练示例相同的分布。不幸的是,这在现实世界中并不是一个现实的假设:只需考虑由于各种代理改变世界的行为引起的非平稳性,或者学习代理的逐渐扩大的思维视野,总是有更多的东西需要学习和发现。实际上,当今最好的 AI 系统在从实验室到现场时的性能往往会受到影响。

 

我们希望在面对分布变化(称为分布外泛化)时实现更大的鲁棒性,这是在面对新任务时降低样本复杂性(良好泛化所需的示例数量)的更普遍目标的一个特例——如在迁移学习和终身学习中 ——或者只是改变分布或世界状态与奖励之间的关系。当前的监督学习系统需要比人类更多的示例(当必须学习一项新任务时),而无模型强化学习的情况甚至更糟,因为每个奖励试验提供的关于任务的信息比每个标记示例都少。已经注意到人类可以以一种不同于普通同分布泛化的方式进行泛化:我们可以正确解释现有概念的新组合,即使这些组合在我们的训练分布下极不可能,只要它们尊重我们已经学到的高级句法和语义模式。最近的研究帮助我们阐明了不同的神经网络架构在这种系统化泛化能力方面的表现。我们如何设计具有这些能力的未来机器学习系统,以更好地泛化或更快地适应非分布?

 

从同质层到代表实体的神经元组。来自神经科学的证据表明,附近的神经元组(形成所谓的超列)紧密相连,可能代表一种更高级别的向量值单元,不仅能够发送标量,而且能够发送一组协调值.这个想法是胶囊架构的核心,并且它也是软注意力机制的使用所固有的,其中集合中的每个元素都与一个向量相关联,从中可以读取一个关键向量和一个值向量(有时也是查询向量)。考虑这些向量级单位的一种方法是表示对象的检测及其属性(如姿势信息,在胶囊中)。计算机视觉领域的最新论文正在探索卷积神经网络的扩展,其中层次结构的顶层代表在输入图像中检测到的一组候选对象,并使用类似变换器的架构对这些候选对象进行操作。 为对象及其部分分配内在参考框架并通过使用部分之间的几何关系识别对象的神经网络应该更不容易受到定向对抗性攻击,后者依赖于人们使用的信息与被使用的信息之间的巨大差异。用于识别物体的神经网络。

 

适应的多个时间尺度。大多数神经网络只有两个时间尺度:权重在许多示例中缓慢适应,活动适应随着每个新输入而迅速变化。添加快速适应和快速衰减的“快速权重”的叠加引入了有趣的新计算能力。特别是,它创建了一个高容量的短期记忆,允许神经网络执行真正的递归,其中相同的神经元可以在递归调用中重复使用,因为它们在更高级别调用中的活动向量可以重建稍后使用快速权重中的信息。在学习学习或元学习中也会出现多种适应时间尺度。

 

更高层次的认知。在考虑新的挑战时,例如在交通规则异常的城市中驾驶,甚至想象在月球上驾驶车辆时,我们可以利用我们已经掌握的知识和通用技能,并以新的方式动态地重新组合它们.这种系统泛化的形式允许人类在训练分布下不太可能的上下文中进行相当好的泛化。然后我们可以通过练习、微调和编译这些新技能进一步改进,这样它们就不再需要有意识的关注了。我们如何通过重用已知的知识来使神经网络具有快速适应新环境的能力,从而避免对已知技能的干扰?朝这个方向的初步步骤包括 Transformers和 Recurrent Independent Mechanisms。

 

似乎我们的内隐(系统 1)处理能力允许我们在计划或推理时猜测潜在的好或危险的未来。这提出了系统 1 网络如何指导更高(系统 2)级别的搜索和规划的问题,也许本着指导 AlphaGo 的蒙特卡洛树搜索的价值函数的精神。

 

机器学习研究依赖于归纳偏差或先验,以鼓励在与世界的某些假设兼容的方向上学习。系统 2 处理和认知神经科学理论的性质表明了几种此类归纳偏差和架构,可用于设计新颖的深度学习系统。我们如何设计包含这种归纳偏差的深度学习架构和训练框架?

 

幼儿执行因果发现的能力表明这可能是人类大脑的基本属性,最近的工作表明,在干预变化下优化分布外泛化可用于训练神经网络以发现因果依赖或因果变量。我们应该如何构建和训练神经网络,以便它们能够捕捉到世界的这些潜在因果属性?

 

这些开放性问题所建议的方向与 20 世纪的象征性人工智能研究计划有何关联?显然,这个符号 AI 程序旨在实现系统 2 的能力,例如推理,能够将知识分解为可以在一系列计算步骤中轻松重新组合的部分,以及能够操作抽象变量、类型和实例。我们想设计可以在处理实值向量的同时完成所有这些事情的神经网络,以保留深度学习的优势,包括使用可微计算和基于梯度的自适应进行高效的大规模学习,基于高级低级感知和动作、处理不确定数据和使用分布式表示中的概念。

 

 

参考

https://cacm.acm.org/magazines/2021/7/253464-deep-learning-for-ai/fulltext

内容中包含的图片若涉及版权问题,请及时与我们联系删除