2021.6
https://cacm.acm.org/magazines/2021/7/253464-deep-learning-for-ai/fulltext
https://mp.weixin.qq.com/s/8njg92xSrg_AX32xl7Uv7A
Yoshua Bengio、Yann LeCun和Geoffrey Hinton获得了2018 ACM A.M.图灵奖,因为他们的突破使深度神经网络成为计算的关键组成部分。
对人工神经网络的研究是基于这样一个观察:人类智能是从相对简单的非线性神经元高度并行的网络中产生的,这些神经元通过调整连接的强度来学习。这一观察结果引出了一个核心的计算问题:这种一般类型的网络如何能够学习复杂的内部表示,这些表示是识别对象或理解语言等困难任务所必需的?深度学习试图通过使用多层活动向量作为表示来回答这个问题,并通过跟踪衡量网络性能的目标函数的随机梯度来学习产生这些向量的连接强度。这是非常令人惊讶的,这样一个概念上简单的方法已被证明是如此有效,当应用于大型训练集使用大量的计算,它似乎是一个关键因素是深度:浅网络根本不工作。
我们回顾了几年前深度学习的基本概念和一些突破性成果。63这里我们简要介绍了深度学习的起源,描述了一些较新的进展,并讨论了一些未来的挑战。这些挑战包括在很少或没有外部监督的情况下学习,应对来自不同于培训样本分布的测试样本,使用深度学习的方法来解决人类的任务,通过使用一系列的步骤,我们有意识地处理Kahneman56称之为系统2任务的任务,而不是系统1任务,比如物体识别或即时自然语言理解,它们通常感觉毫不费力。
从手工编码的符号表达式到学习的分布式表示
人工智能有两种完全不同的模式。简单地说,逻辑启发范式将顺序推理视为智能的本质,旨在使用手工设计的推理规则在计算机中实现推理,这些规则操作手工设计的符号表达式,这些符号表达式将知识形式化。脑启发范式将从数据中学习表征视为智能的本质,旨在通过设计或进化规则来修改人工神经元模拟网络中的连接强度来实现手动学习。
在受逻辑启发的范式中,符号没有有意义的内部结构:它的意义存在于它与其他符号的关系中,这些关系可以用一组符号表达式或关系图来表示。相比之下,在大脑启发的范式中,用于交流的外部符号被转换成神经活动的内部向量,这些向量具有丰富的相似结构。活动向量可用于通过学习用于每个符号的适当活动向量和学习允许填充对应于符号串的缺失元素的活动向量的非线性变换来建模一组符号串中固有的结构。这一点首先在Rumelhart等人74的玩具数据中得到证实,然后在Bengio等人14的真实句子中得到证实。最近的一个非常令人印象深刻的演示是BERT,22,它还利用自我关注来动态连接一组单元,如后面所述。
使用神经活动向量来表示概念和权重矩阵来捕获概念之间的关系的主要优点是,这会导致自动泛化。如果星期二和星期四由非常相似的向量表示,它们将对其他神经活动向量产生非常相似的因果影响。这有助于类比推理,并表明直接、直观的类比推理是我们的主要推理模式,逻辑顺序推理是一个更晚的发展,56我们将讨论。
深度学习的兴起
20世纪初,通过引入一些元素,使深层学习神经网络的训练变得更加容易,从而使神经网络研究焕发活力。GPU的出现和大型数据集的可用性是深入学习的关键因素,并且通过开发具有自动区分功能的开放源码、灵活的软件平台(如Theano、16 Torch、25 CAFE、55 TensorFlow)大大增强了这些平台的性能,1和Pythrot.71这使得训练复杂的深网和重用最新模型及其构建块变得非常容易。但是,更多层次的组成允许更复杂的非线性,并在感知任务中取得令人惊讶的好结果,如本文所总结。
为什么深度?尽管人们直觉认为,较深的神经网络可以是更强大的现代深度学习技术,82它是在结构和训练过程方面的一系列进步,15,35,48,这导致了与深度学习的兴起相关的显著进展。但是,为什么更深层次的网络能够更好地概括我们感兴趣的各种输入-输出关系呢?重要的是要认识到,这不仅仅是一个参数较多的问题,因为深网络通常比具有相同参数的浅网络更好地推广。15实践证明了这一点。最流行的计算机视觉卷积网络结构是ResNet家族43,其中最常见的代表,ResNet-50有50层。本文中未提到但非常有用的其他成分包括图像变形、退出、51和批量标准化
我们认为,深度网络之所以能发挥优势,是因为它们利用了一种特殊的组合形式,其中一层的特征以多种不同的方式组合在一起,从而在下一层中创建更抽象的特性。
对于感知这样的任务,这种组合性非常有效,并且有很强的证据表明它被生物感知系统所使用
无监督的预培训。当标记训练示例的数量与执行任务所需的神经网络的复杂性相比,有必要首先使用其他信息源创建特征检测器层,然后使用有限的标签供应对这些特征检测器进行微调。在迁移学习中,信息源是另一个有监督的学习任务,具有丰富的标签。但是,也可以通过堆叠自动编码器来创建一层不使用任何标签的特征检测器
首先,我们学习了一层特征检测器,它的活动允许我们重建输入。然后我们学习第二层特征检测器,其活动允许我们重建第一层特征检测器的活动。通过这种方法学习了几个隐藏层,然后尝试从最后一个隐藏层的活动中预测标签,并将错误反向传播到所有层,以便在不使用标签中宝贵信息的情况下对最初发现的特征检测器进行微调。预培训很可能提取出与最终分类无关的各种结构,但是,在计算成本低廉、标记数据昂贵的情况下,只要预培训将输入转换为一种表示形式,从而使分类更容易,这是很好的。
除了改进泛化,无监督预训练还可以通过这种方法初始化权重,从而便于对具有反向传播的深部神经网络进行微调。预培训对优化的影响对于克服公认的深网难以训练的智慧具有历史意义,但现在人们使用校正的线性单元(见下一节)和剩余连接,这一点就没有太大的相关性。43然而,预培训对泛化的影响已证明非常重要。通过大量未标注数据,例如在自然语言处理中,利用大量未标记数据,训练非常大的模型成为可能,而对于这些数据,可以使用大型语料库。26,32预培训和微调的一般原则已成为深入学习工具箱中的重要工具,在转移学习,甚至作为现代元学习的一个组成部分时。33
线性校正装置的神秘成功。深度网络的早期成功涉及到使用logistic-sigmoid非线性或密切相关的双曲正切的单元层的无监督预训练。校正的线性单位早在神经科学29中就被假设出来了,并且已经用于RBMs70和卷积神经网络的一些变体中。54发现校正非线性(现在称为ReLUs,有许多现代的变种)使得通过backprop和随机梯度下降很容易训练深层网络,而不需要分层预训练。这是一项技术进步,使深度学习优于以前的物体识别方法,60如本文所述。
语音和物体识别的突破。声学模型将声波的表示转换成音素片段上的概率分布。Robinson 72使用Transputer和Morgan等人69使用DSP芯片所做的英勇努力已经表明,在具有足够处理能力的情况下,神经网络在声学建模方面与最先进的技术具有竞争力。2009年,两名使用Nvidia GPU的研究生68表明,预先训练的深度神经网络在TIMIT数据集上的表现略优于SOTA。这一结果重新激起了神经网络中几个主要语音组的兴趣。2010年,基本上相同的deep network在大词汇量语音识别方面击败了SOTA,而不需要依赖说话人的培训28,46,到2012年,Google设计了一个产品版本,显著改进了Android上的语音搜索。这是深度学习破坏力的早期证明。
与此同时,deep learning在2012 ImageNet竞赛中取得了戏剧性的胜利,在自然图像中识别上千种不同类别的对象时,错误率几乎降低了一半。60这一胜利的关键在于李菲菲和她的合作者在收集超过一百万张标记图像31用于训练集方面的重大努力,以及Alex Krizhevsky非常有效地使用多个GPU。当前的硬件,包括gpu,鼓励使用大的小批量,以便将从内存中获取权重的成本分摊到该权重的许多用途中。纯在线随机梯度下降法使用每个权值一次收敛更快,未来的硬件可能只使用权值,而不是从内存中获取它们。
深层卷积神经网络包含了一些新的功能,例如使用ReLUs来加快学习速度,使用dropout来防止过度拟合,但它基本上只是Yann LeCun及其合作者多年来开发的一种前馈卷积神经网络,65计算机视觉界对这一突破的反应令人钦佩。鉴于卷积神经网络优越性的无可争辩的证据,社区迅速放弃了以前的手工设计方法,转而进行深度学习。
最新进展
在这里,我们有选择地接触到一些最新的深入学习的进展,显然遗漏了许多重要的课题,如深度强化学习,图形神经网络和元学习。
软注意和变压器架构。深度学习的一个重要发展,特别是在顺序处理方面,是使用乘法交互作用,特别是以软注意的形式。7,32,39,78这是对神经网络工具箱的一个变革性补充,它将神经网络从单纯的向量变换机转变为能动态选择输入的结构,并能将信息存储在可微联想存储器中。这种体系结构的一个关键特性是,它们可以有效地操作不同类型的数据结构,包括集合和图。
一个层中的模块可以使用软注意来动态地选择上一层中的哪些向量,它们将组合起来计算它们的输出。这可以使输出独立于输入的呈现顺序(将它们视为一个集合),或者使用不同输入之间的关系(将它们视为一个图形)。
transformer架构(transformer architecture)已经成为许多应用程序中的主导架构,它堆叠了许多层的“自我关注”模块。层中的每个模块都使用标量积来计算其查询向量与该层中其他模块的键向量之间的匹配。将匹配项归一化为和1,然后使用得到的标量系数来形成由前一层中的其他模块生成的值向量的凸组合。得到的向量形成下一阶段计算的模块的输入。模块可以是多头的,以便每个模块计算几个不同的查询、键和值向量,从而使每个模块有可能有几个不同的输入,每个输入以不同的方式从前一阶段模块中选择。在这种操作中,模块的顺序和数量无关紧要,因此可以对向量集进行操作,而不是像传统的神经网络那样对单个向量进行操作。例如,语言翻译系统在输出句子中产生一个词时,可以选择关注输入句子中相应的一组词,而不考虑它们在文本中的位置。虽然乘法选通对于坐标变换和强大的循环网络形式来说是一个古老的想法,但它最近的形式使它成为主流。思考注意机制的另一种方式是,它们使人们能够通过适当选择的模块动态地传递信息,并以潜在的新颖方式组合这些模块,以改进分布外的泛化。38
我们认为深层网络之所以出色,是因为它们利用了一种特殊的组合形式,即一层中的特征以多种不同的方式组合在一起,从而在下一层中创建更多的抽象特征。
变压器已经产生了巨大的性能改进,这已经彻底改变了自然语言处理,27,32,它们现在正在工业中被常规使用。这些系统都是以自我监督的方式预先训练的,以预测文本中的缺失词。
也许更令人惊讶的是,变压器已成功地用于象征性地求解积分和微分方程。62最近的一个非常有希望的趋势是,在具有最新性能的图像中使用卷积网络上的变压器进行目标检测和定位。19变压器在一个具有最新性能的图像中执行后处理和基于对象的推理可微方式,使系统能够接受端到端的培训。
无监督和自我监督的学习。监督学习虽然在各种任务中都很成功,但通常需要大量的人工标记数据。同样,当强化学习仅仅基于奖励时,它需要大量的交互。这些学习方法往往产生特定于任务的、专门的系统,这些系统通常在他们接受过培训的狭窄领域之外变得脆弱。减少学习任务所需的人类标记样本或与世界的交互数量,提高域外鲁棒性,对于低资源语言翻译、医学图像分析、自主驾驶和内容过滤等应用具有重要意义。
人类和动物似乎能够以独立于任务的方式,通过观察,学习大量有关世界的背景知识。这种知识是常识的基础,它让人类能够通过短短几个小时的练习来学习复杂的任务,比如驾驶。人工智能未来的一个关键问题是,人类如何从观察中学习如此多?
人工智能未来的一个关键问题是,人类如何从观察中学到这么多东西?
在有监督学习中,N个类别中的一个类别的标签平均最多传递log2(N)位关于世界的信息。在无模型强化学习中,奖励同样只传递少量信息。相比之下,音频、图像和视频是高带宽的形式,隐含地传达了大量关于世界结构的信息。这激发了一种称为自我监督学习的预测或重建形式,即通过预测数据中被掩盖或损坏的部分来训练“填补空白”。自监督学习已经非常成功地用于训练变换器来提取向量,这些向量能够捕获单词或单词片段的上下文相关意义,并且这些向量对于下游任务非常有效。
对于文本,变换器被训练成从一组离散的可能性中预测丢失的单词。但在视频等高维连续域中,某一特定视频片段的似然连续体集合庞大而复杂,正确地表示似然连续体的分布本质上是一个尚未解决的问题。
对比学习。解决这个问题的一种方法是通过潜变量模型,将一个能量(即,一个坏的)分配给一个视频的例子和一个可能的延续
给定一个输入视频X和一个建议的延拓Y,我们想要一个模型,通过使用能量函数E(X,Y)来指示Y是否与X兼容,当X和Y兼容时,能量函数E(X,Y)取低值,否则取高值。
E(X,Y)可以由一个深度神经网络来计算,对于给定的X,该神经网络以对比的方式进行训练,以给与X兼容的值Y(例如训练集中的(X,Y)对的例子)提供低能量,给与X不兼容的值Y提供高能量。对于给定的X,推断包括找到一个使E(X,Y)最小化的cacm6407_a.gif,或者从E(X,Y)值较低的Y中采样。这种基于能量的方法来表示Y依赖于X的方式,使得对一组不同的、多模态的看似合理的连续性进行建模成为可能。
对比学习的关键难点在于选取好的“否定”样本:合适的点Y,其能量将被推高。当一组可能的否定例子不太大时,我们可以把它们全部考虑在内。这就是softmax所做的,因此在这种情况下,对比学习简化为有限离散符号集上的标准监督或自监督学习。但在实值高维空间中,向量cacm6407_b.gif有太多不同于Y的方式,为了改进模型,我们需要关注那些本应具有高能量但目前具有低能量的Y。早期挑选负样本的方法是基于蒙特卡罗方法,如受限玻耳兹曼机的对比散度48和噪声对比估计。41
生成性对抗网络(GANs)36通过将神经网络应用于来自已知分布(例如,高斯分布)的潜在样本来训练生成性神经网络以产生对比样本。发电机自身进行训练,以产生输出cacm6407_b.gif,模型向其提供低能量E(cacm6407_b.gif)。生成器可以使用反向传播来获得E(cacm6407_b.gif)相对于cacm6407_b.gif的梯度。发生器和模型同时训练,模型试图给训练样本低能量,给生成的对比样本高能量。
GAN的优化有些棘手,但对抗性训练思想已被证明是极其丰富的,在图像合成方面产生了令人印象深刻的结果,并在内容创建和领域适应34以及领域或风格转换方面开辟了许多新的应用领域。87
运用对比学习使表达一致。对比学习提供了一种无需重建或生成像素就能发现良好特征向量的方法。其思想是学习前馈神经网络,当给定同一图像的两个不同作物10或同一对象的两个不同视图17但不同对象的不同图像或视图的作物的不同输出向量时,该网络产生非常相似的输出向量。两个输出向量之间的平方距离可以被视为一个能量,对于相容对,它被向下推;对于不相容对,它被向上推
最近的一系列论文使用卷积网络来提取一致的表示,在视觉特征学习中产生了有希望的结果。正对由同一图像的不同版本组成,这些版本通过裁剪、缩放、旋转、颜色偏移、模糊等方式进行扭曲。负片对是不同图像的类似失真版本,可以通过称为硬负片挖掘的过程从数据集中巧妙地选取,也可以是小批量中其他图像的所有失真版本。该网络的一个高级层的隐藏活动向量随后被用作以有监督的方式训练的线性分类器的输入。这种连体网方法在标准图像识别基准上取得了很好的效果。6,21,22,43,67最近,两种连体网方法成功地避免了对对比样本的需要。第一个被称为SwAV,它量化一个网络的输出来训练另一个网络,20第二个被称为BYOL,它平滑了两个网络之一的权重轨迹,这显然足以防止崩溃。40
可变自动编码器。最近流行的一种自监督学习方法是变分自动编码器(VAE)。58它由将图像映射到潜在代码空间的编码器网络和从潜在代码生成图像的解码器网络组成。VAE通过在编码器的输出中加入高斯噪声来限制潜在码的信息容量,然后再将其传递给解码器。这类似于将小的有噪声的球体打包成半径最小的较大球体。信息容量受限于包含的球体中包含多少噪声球体。噪声球相互排斥,因为良好的重建误差需要对应于不同样本的代码之间的小重叠。在数学上,该系统使通过在噪声分布上边缘化潜在码而获得的自由能最小化。然而,最小化自由能相对于参数是困难的,必须依赖于统计物理中最小化自由能上界的变分近似方法。
深度学习的未来
深度学习系统的性能通常可以通过简单的扩展而得到极大的提高。有了更多的数据和更多的计算,它们通常工作得更好。具有1750亿个参数的语言模型GPT-318(与人脑中的突触数量相比仍然很小)生成的文本明显好于只有15亿个参数的GPT-2。聊天机器人Meena2和BlenderBot73也在不断改进,因为它们越来越大。目前,在扩展方面正在付出巨大的努力,它将极大地改进现有系统,但当前深度学习的一些根本缺陷无法通过单独的扩展来克服,如本文所讨论的。
将人类的学习能力与当前的人工智能进行比较,可以提出几个改进方向:
监督学习需要太多的标记数据,而无模型强化学习需要太多的实验。人类似乎能够用少得多的经验很好地概括。
目前的系统对分布变化的鲁棒性不如人类,人类能够快速适应这种变化的例子很少。
当前的深度学习最成功的是感知任务,通常称为系统1任务。对于需要经过深思熟虑的步骤序列的System2任务,使用深度学习是一个令人兴奋的领域,它仍处于起步阶段。
需要改进的地方。从早期开始,机器学习理论界就把重点放在iid假设上,这说明测试用例的分布与训练实例的分布一致。不幸的是,在现实世界中,这不是一个现实的假设:仅仅考虑由于各种代理改变世界的行为而产生的非平稳性,或者学习代理的逐渐扩大的心理层面,它总是有更多的学习和发现。实际结果是,当今最好的AI系统从实验室到现场时,性能往往会受到冲击。
当面临分布变化(称为非分布泛化)时,我们希望实现更大的鲁棒性,这是一个特殊情况,即当面临转移学习和终身学习等新任务时,降低样本复杂性(需要推广的示例数)的更一般目标81或简单在分配上或世界各国之间的关系和回报的变化。当前的监督学习系统比人类需要更多的例子(当必须学习新任务时),而无模型强化学习的情况更糟23,因为每个奖励试验提供的关于任务的信息比每个标记的示例少。人们已经注意到D61,76人类可以以不同和更强大的方式概括iid概括:我们可以正确地解释现有概念的新组合,即使在我们的训练分布下,这些组合极不可能,只要他们尊重高级的句法和语义模式,我们就已经学会了。最近的研究有助于我们阐明在这种系统泛化能力方面,不同的神经网络结构是如何发展的。8,9如何设计具有这些能力的未来机器学习系统,以更好地推广或更快地适应分布之外?
从均匀的层到代表实体的神经元组。神经科学的证据表明,附近神经元群(形成所谓的超柱)紧密相连,可能代表一种更高层次的向量值单元,它不仅可以发送标量,而且还可以发送一组协调值。这个想法是胶囊结构的核心,47,59,它也是使用软注意机制的固有思想,其中集合中的每个元素都与向量相关联,从中可以读取键向量和值向量(有时也可以是查询向量)。考虑这些矢量级单位的一种方法是表示对象的检测及其属性(如姿势信息,在胶囊中)。计算机视觉的最近论文正在探索卷积神经网络的扩展,在这种扩展中,层次的顶层代表在输入图像中检测到的一组候选对象,并且对这些候选对象的操作是用类似变压器的结构来执行的,86为对象及其部件分配内在参考帧,并通过零件间的几何关系识别对象的神经网络应不易受到定向对抗攻击,79这依赖于人们使用的信息与神经网络识别物体的信息之间的巨大差异。
多时间适应比例。大多数神经网络只有两个时间尺度:权重在许多例子中适应缓慢,并且随着每个新输入的变化,活动适应迅速。添加快速适应和快速衰减的“快速权重”49的叠加,引入了有趣的新计算能力。特别是,它创建了一个高容量、短期内存,4允许神经网络执行真正的递归,在递归调用中可以重用同一个神经元,因为它们在更高级别调用中的活动向量可以稍后使用快速权重中的信息重建。学习学习或元学习也会产生多个时间适应量表
更高层次的认知。当我们思考一个新的挑战时,比如在一个交通规则不寻常的城市里开车,甚至想象在月球上驾驶一辆车,我们可以利用我们已经掌握的知识和通用技能,以新的方式动态地将它们重新组合起来。这种形式的系统化概括允许人类在训练分布下不太可能的上下文中相当好地概括。然后,我们可以通过练习、微调和编译这些新技能来进一步提高,使它们不再需要有意识的关注。我们怎样才能赋予神经网络快速适应新环境的能力,主要是重用已知的知识片段,从而避免对已知技能的干扰?这方面的初始步骤包括变革者32和反复出现的独立机制。38
似乎我们的内隐(系统1)处理能力允许我们在计划或推理时猜测潜在的好的或危险的未来。这就提出了一个问题,即系统1网络如何在更高的(系统2)层次上指导搜索和规划,也许是在价值函数的精神指导下,蒙特卡罗树搜索AlphaGo.77
机器学习研究依赖于归纳偏见或先验,以鼓励学习方向与一些关于世界的假设相一致。系统2处理和认知神经科学理论的本质5,30表明了一些这样的归纳偏见和结构,11,45可以用来设计新的深度学习系统。我们如何设计包含这种归纳偏差的深度学习架构和培训框架?
幼儿进行因果发现的能力37表明,这可能是人脑的一个基本特性,最近的研究表明,在干预性变化下优化分布外的泛化可以用来训练神经网络,以发现因果依赖或因果变量。3,13,57,66我们应该如何构造和训练神经网络,以便它们能够捕捉世界的这些潜在因果特性?
这些开放性问题提出的方向与20世纪的符号人工智能研究计划有何关联?显然,这个符号人工智能程序旨在实现系统2的能力,例如推理,能够将知识分解成可以在一系列计算步骤中轻松重组的片段,并且能够操纵抽象变量、类型和实例。我们希望设计一种神经网络,它能在处理实值向量的同时完成所有这些工作,从而保持深度学习的优势,包括使用可微计算和基于梯度的自适应进行有效的大规模学习,在低水平的感知和行动中建立高水平的概念,处理不确定数据,使用分布式表示。