大数据文摘授权转载自数据实战派
作者:YoshuaBengio,YannLecun,GeoffreyHinton
译者:LZM
人工神经网络的研究源于以下观察:人类智能来自于高度并行的、相对简单的非线性神经元网络,这些神经元通过调整其连接的强度来学习知识。
这一观察引发出一个核心计算问题:这种一般类型的网络如何学习识别物体或理解语言等困难任务所需的复杂内部表示呢?深度学习试图通过深度表征向量和最优化损失函数得到的权重链接来回答这个问题。
非常令人惊讶的是,这种概念上简单的方法在使用大量计算资源和大型训练集时被实验证明是如此有效,而且似乎一个关键因素是深度,即浅层网络无法正常工作。
本文,我们将回顾近年来深度学习的基本概念和一些突破性成就,描述深度学习的起源,以及讨论一些未来的挑战。
这些挑战包括在很少或没有外部监督的情况下进行学习,处理来自与训练样本不同分布的测试样本,以及使用深度学习方法,用于那些人类通过一系列步骤有意识地解决的任务——即Kahneman称之为system2而非system1的任务,例如对象识别或即时自然语言理解。system1的任务往往更轻松。
从手工设计的编码到分布式向量表示
人工智能有两种截然不同的范式。简而言之,逻辑启发范式将顺序推理视为智能的本质,旨在使用手工设计的推理规则在计算机中实现推理,这些规则对手工设计的将知识形式化的符号表达式进行操作。
受大脑启发的范式将从数据中学习表征视为智能的本质,旨在通过手动设计或演化规则来实现学习,以修改人工神经网络中的连接强度。
在逻辑启发范式中,符号没有有意义的内部结构:它的意义在于它与其他符号的关系,这些关系可以用一组符号表达式或关系图来表示。
相比之下,在类脑范式中,用于交流的外部符号被转换为神经活动的内部向量,这些向量具有丰富的相似结构。活动向量可用于通过为每个符号学习适当的活动向量并学习允许填充与符号串缺失元素对应的活动向量的非线性变换来对一组符号串中固有的结构进行建模。
Rumelhart等人首先证明了这一点。最近一个非常令人印象深刻的系统是BERT,它利用自注意力来动态连接单元组。
使用神经活动向量来表示概念和权重矩阵来捕捉概念之间的关系的主要优点是,这会产生自动的泛化能力。如果星期二和星期四由非常相似的向量表示,它们将对神经活动的其他向量产生非常相似的因果影响。
这有助于类比推理,并表明直接、直观的类比推理是我们的主要推理模式,而逻辑顺序推理(logicalsequentialreasoning)则是较晚的发展,我们将对此进行讨论。
深度学习的兴起
年代初期,深度学习领域通过引入一些新技术使训练更深的网络变得容易,从而重新激发了神经网络的研究。
GPU和大型数据集是深度学习的关键推动因素,并且通过开发具有自动区分功能的开源、灵活的软件平台(例如Theano、Torch、Caffe、TensorFlow、和PyTorch)大大增强了深度学习的发展,这使得训练复杂的深度网络和重用最新模型及其构建块变得容易。而且,更多层的组合允许更复杂的非线性,并在感知任务中取得了令人惊讶的好结果。
1)为什么是深度?:尽管更深层次的神经网络可能是更强大的直觉早于现代深度学习技术,这是架构和训练程序方面的一系列进步,但是,为什么更深的网络可以更好地概括我们对建模感兴趣的输入输出关系类型?
重要的是,要认识到这不仅仅是具有更多参数的问题,因为深度网络通常比具有相同参数数量的浅层网络具有更好的泛化能力。
最流行的计算机视觉卷积网络架构是ResNet系列,其中最常见的代表ResNet-50有50层。本文未提及但结果证明非常有用的其他成分包括图像变形、dropout和批量归一化。
我们相信深度网络之所以出色,是因为它们利用了一种特定形式的组合性,其中一层中的特征以多种不同的方式组合,以在下一层创建更多抽象特征。对于像感知这样的任务,这种组合性非常有效,并且有强有力的证据表明这种组合性质被生物感知系统所利用。
2)无监督预训练:当标记训练示例的数量与执行任务所需的神经网络的复杂性相比较小时,开始使用一些其他信息源来创建特征检测器层然后微调这些特征检测器是有意义的。在迁移学习中,信息来源是另一个具有大量标签的监督学习任务。但也可以通过堆叠自动编码器来创建多层特征检测器,而无需使用任何标签。
首先,我们学习了一层特征检测器,其输出激活向量允许重建输入。然后学习第二层特征检测器,其激活向量允许重建第一层特征检测器的激活。
在以这种方式学习了几个隐藏层之后,尝试从最后一个隐藏层中的活动预测标签,并通过所有层反向传播错误,以便微调最初建立的特征检测器,而不使用标签中的宝贵信息。预训练可以很好地提取与最终分类无关的各种结构,但是,在计算便宜且标记数据昂贵的情况下,只要预训练将输入转换为表示使分类更容易。
除了提高泛化能力之外,无监督预训练还以一种很容易通过反向传播微调深度神经网络的方式初始化权重。
预训练对优化的影响在历史上对于克服深度网络难以训练的公认观点很重要,但现在人们使用修正线性单元(见下一节)和残差连接,它的相关性要小得多。然而,预训练对泛化的影响已被证明是非常重要的。它可以通过利用大量未标记的数据来训练非常大的模型,例如在自然语言处理中,有大量的语料库可用。预训练和微调的一般原则已成为深度学习工具箱中的一个重要工具,例如,迁移学习和元学习。
3)ReLU的成功之谜:深度网络的早期成功涉及使用sigmoid非线性函数或双曲正切激活函数对隐含层进行无监督预训练。
长期以来,神经科学线性ReLU函数是生物神经网络中的正确激活,并且ReLU已经在RBM的某些变体和卷积神经网络中使用,并取得了不错的效果。ReLU使学习变得容易,这是一个出乎意料的惊喜,通过反向传播和随机梯度下降来训练深度网络,而无需逐层预训练。这是技术进步之一,使深度学习能够胜过先前的对象识别方法。
4)语音和物体识别方面的突破:声学模型将声波的表示转换为音素片段的概率分布。
Robinson使用晶片机和Morgan等人使用DSP芯片的尝试已经表明,如果有足够的处理能力,神经网络可以与最先进的声学建模技术相媲美。年,两名使用NvidiaGPU的研究生表明,预训练的深度神经网络在TIMIT数据集上的表现略优于SOTA。
这一结果重新点燃了神经网络中几个主要语音小组的兴趣。年,基本上相同的深度网络被证明在不需要依赖说话者的训练的情况下在大词汇语音识别方面击败了SOTA。
到年,谷歌设计了一个生产版本,显着改善了Android上的语音搜索。这是深度学习颠覆性力量的早期证明。
大约在同一时间,深度学习在年ImageNet竞赛中取得了戏剧性的胜利,在识别自然图像中一千种不同类别的物体时,错误率几乎减半。这场胜利的关键是李飞飞的主要努力和她的合作者为训练集收集了超过一百万张带标签的图像,并且AlexKrizhevsky非常有效地使用了多个GPU。
当前的硬件(包括GPU)鼓励在多次使用该权重时分摊从内存中获取权重的成本。使用每个权重一次的纯在线随机梯度下降会更快收敛,并且未来的硬件可能只是就地使用权重而不是从内存中获取它们。
深度卷积神经网络包含一些新颖性,例如使用ReLU使学习更快,使用dropout防止过拟合,但它基本上只是YannLeCun和他的那种前馈卷积神经网络。计算机视觉社区对这一突破的反应令人钦佩。
鉴于卷积神经网络优越性的无可争议的证据,社区迅速放弃了以前的手工设计方法,转而使用深度学习。
近期进展
在这里,我们有选择地讨论深度学习的一些最新进展。不过我们在此暂且忽略了许多重要的主题,例如深度强化学习、图神经网络和元学习。
1)软注意力机制和transformer架构:深度学习的一个重大发展,尤其是在顺序处理方面,是乘法交互的使用,特别是在软注意力的形式中。这是对神经网络工具箱的变革性补充,因为它将神经网络从纯粹的矢量转换机器转变为可以动态选择对哪些输入进行操作的架构,并且可以将信息存储在可区分的关联存储器中。这种架构的一个关键特性是它们可以有效地对包括集合和图在内的不同类型的数据结构进行操作。
隐藏层可以使用软注意力来动态选择它们将组合来自前一层的哪些向量来计算它们的输出。这可以使输出独立于输入的呈现顺序或使用不同输入之间的关系。
Transformer架构已经成为许多应用中的主导架构,它堆叠了许多层“self-attention”模块。
层中的每个模块使用标量积来计算其查询向量与该层中其他模块的关键向量之间的匹配。匹配项被归一化为总和为1,然后使用产生的标量系数来形成前一层中其他模块产生的值向量的凸组合。结果向量形成下一计算阶段的模块的输入。模块可以是多头的,以便每个模块计算几个不同的查询、键和值向量,从而使每个模块有可能有几个不同的输入,每个输入都以不同的方式从前一阶段的模块中选择。
在此操作中,模块的顺序和数量无关紧要,因此可以对向量集进行操作,而不是像传统神经网络中那样对单个向量进行操作。例如,语言翻译系统在输出句子中生成一个单词时,可以选择
转载请注明:http://www.0431gb208.com/sjslczl/4577.html