参与翁俊坚 刘晓坤

这是一篇献给新手的深度学习综述

这篇综述论文列举出了近年来深度学习的重要研究成果,从方法、架构,以及正则化、优化技术方面进行概述。机器之心认为,这篇综述对于刚入门的深度学习新手是一份不错的参考资料,在形成基本学术界图景、指导文献查找等方面都能提供帮助。

论文:Recent Advances in Deep Learning: An Overview

论文地址:https://arxiv.org/pdf/1807.08169v1.pdf

摘要:深度学习机器学习和人工智能研究的最新趋势之一。它也是当今最流行的科学研究趋势之一。深度学习方法为计算机视觉机器学习带来了革命性的进步。新的深度学习技术正在不断诞生,超越最先进的机器学习甚至是现有的深度学习技术。近年来,全世界在这一领域取得了许多重大突破。由于深度学习正快度发展,导致了它的进展很难被跟进,特别是对于新的研究者。在本文中,我们将简要讨论近年来关于深度学习的最新进展。

1. 引言

深度学习」(DL)一词最初在 1986 被引入机器学习(ML),后来在 2000 年时被用于人工神经网络(ANN)。深度学习方法由多个层组成,以学习具有多个抽象层次的数据特征。DL 方法允许计算机通过相对简单的概念来学习复杂的概念。对于人工神经网络(ANN),深度学习(DL)(也称为分层学习(Hierarchical Learning))是指在多个计算阶段中精确地分配信用,以转换网络中的聚合激活。为了学习复杂的功能,深度架构被用于多个抽象层次,即非线性操作;例如 ANNs,具有许多隐藏层。用准确的话总结就是,深度学习机器学习的一个子领域,它使用了多层次的非线性信息处理和抽象,用于有监督或无监督的特征学习、表示、分类和模式识别

深度学习表征学习机器学习的一个分支或子领域,大多数人认为近代深度学习方法是从 2006 开始发展起来的。本文是关于最新的深度学习技术的综述,主要推荐给即将涉足该领域的研究者。本文包括 DL 的基本思想、主要方法、最新进展以及应用。

综述论文是非常有益的,特别是对某一特定领域的新研究人员。一个研究领域如果在不久的将来及相关应用领域中有很大的价值,那通常很难被实时跟踪到最新进展。现在,科学研究是一个很有吸引力的职业,因为知识和教育比以往任何时候都更容易分享和获得。对于一种技术研究的趋势来说,唯一正常的假设是它会在各个方面有很多的改进。几年前对某个领域的概述,现在可能已经过时了。

考虑到近年来深度学习的普及和推广,我们简要概述了深度学习神经网络(NN),以及它的主要进展和几年来的重大突破。我们希望这篇文章将帮助许多新手研究者在这一领域全面了解最近的深度学习的研究和技术,并引导他们以正确的方式开始。同时,我们希望通过这项工作,向这个时代的顶级 DL 和 ANN 研究者们致敬:Geoffrey Hinton(Hinton)、Juergen Schmidhuber(Schmidhuber)、Yann LeCun(LeCun)、Yoshua Bengio(Bengio)和许多其他研究学者,他们的研究构建了现代人工智能(AI)。跟进他们的工作,以追踪当前最佳的 DL 和 ML 研究进展对我们来说也至关重要。

在本论文中,我们首先简述过去的研究论文,对深度学习的模型和方法进行研究。然后,我们将开始描述这一领域的最新进展。我们将讨论深度学习(DL)方法、深度架构(即深度神经网络(DNN))和深度生成模型(DGM),其次是重要的正则化和优化方法。此外,用两个简短的部分对于开源的 DL 框架和重要的 DL 应用进行总结。我们将在最后两个章节(即讨论和结论)中讨论深入学习的现状和未来。

2. 相关研究

在过去的几年中,有许多关于深度学习的综述论文。他们以很好的方式描述了 DL 方法、方法论以及它们的应用和未来研究方向。这里,我们简要介绍一些关于深度学习的优秀综述论文。

Young 等人(2017)讨论了 DL 模型和架构,主要用于自然语言处理(NLP)。他们在不同的 NLP 领域中展示了 DL 应用,比较了 DL 模型,并讨论了可能的未来趋势。

Zhang 等人(2017)讨论了用于前端和后端语音识别系统的当前最佳深度学习技术。

Zhu 等人(2017)综述了 DL 遥感技术的最新进展。他们还讨论了开源的 DL 框架和其他深度学习的技术细节。

Wang 等人(2017)以时间顺序的方式描述了深度学习模型的演变。该短文简要介绍了模型,以及在 DL 研究中的突破。该文以进化的方式来了解深度学习的起源,并对神经网络的优化和未来的研究做了解读。

Goodfellow 等人(2016)详细讨论了深度网络和生成模型,从机器学习(ML)基础知识、深度架构的优缺点出发,对近年来的 DL 研究和应用进行了总结。

LeCun 等人(2015)从卷积神经网络(CNN)和递归神经网络(RNN)概述了深度学习(DL)模型。他们从表征学习的角度描述了 DL,展示了 DL 技术如何工作、如何在各种应用中成功使用、以及如何对预测未来进行基于无监督学习(UL)的学习。同时他们还指出了 DL 在文献目录中的主要进展。

Schmidhuber(2015)从 CNN、RNN 和深度强化学习 (RL) 对深度学习做了一个概述。他强调了序列处理的 RNN,同时指出基本 DL 和 NN 的局限性,以及改进它们的技巧。

Nielsen (2015) 用代码和例子描述了神经网络的细节。他还在一定程度上讨论了深度神经网络深度学习

Schmidhuber (2014) 讨论了基于时间序列的神经网络、采用机器学习方法进行分类,以及在神经网络中使用深度学习的历史和进展。

Deng 和 Yu (2014) 描述了深度学习类别和技术,以及 DL 在几个领域的应用。

Bengio (2013) 从表征学习的角度简要概述了 DL 算法,即监督和无监督网络、优化和训练模型。他聚焦于深度学习的许多挑战,例如:为更大的模型和数据扩展算法,减少优化困难,设计有效的缩放方法等。

Bengio 等人 (2013) 讨论了表征和特征学习即深度学习。他们从应用、技术和挑战的角度探讨了各种方法和模型。

Deng (2011) 从信息处理及相关领域的角度对深度结构化学习及其架构进行了概述。

Arel 等人 (2010) 简要概述了近年来的 DL 技术。

Bengio (2009) 讨论了深度架构,即人工智能的神经网络生成模型

最近所有关于深度学习(DL)的论文都从多个角度讨论了深度学习重点。这对 DL 的研究人员来说是非常有必要的。然而,DL 目前是一个蓬勃发展的领域。在最近的 DL 概述论文发表之后,仍有许多新的技术和架构被提出。此外,以往的论文从不同的角度进行研究。我们的论文主要是针对刚进入这一领域的学习者和新手。为此,我们将努力为新研究人员和任何对这一领域感兴趣的人提供一个深度学习的基础和清晰的概念。

3. 最新进展

在本节中,我们将讨论最近从机器学习和人工神经网络 (ANN) 的中衍生出来的主要深度学习 (DL) 方法,人工神经网络深度学习最常用的形式。

3.1 深度架构的演变

人工神经网络 (ANN) 已经取得了长足的进步,同时也带来了其他的深度模型。第一代人工神经网络由简单的感知器神经层组成,只能进行有限的简单计算。第二代使用反向传播,根据错误率更新神经元权重。然后支持向量机 (SVM) 浮出水面,在一段时间内超越 ANN。为了克服反向传播的局限性,人们提出了受限玻尔兹曼机(RBM),使学习更容易。此时其他技术和神经网络也出现了,如前馈神经网络 (FNN)、卷积神经网络 (CNN)、循环神经网络 (RNN) 等,以及深层信念网络、自编码器等。从那时起,为实现各种用途,ANN 在不同方面得到了改进和设计。

Schmidhuber (2014)、Bengio (2009)、Deng 和 Yu (2014)、Goodfellow 等人 (2016)、Wang 等人 (2017) 对深度神经网络 (DNN) 的进化和历史以及深度学习 (DL) 进行了详细的概述。在大多数情况下,深层架构是简单架构的多层非线性重复,这样可从输入中获得高度复杂的函数。

4. 深度学习方法

深度神经网络监督学习中取得了巨大的成功。此外,深度学习模型在无监督、混合和强化学习方面也非常成功。

4.1 深度监督学习

监督学习应用在当数据标记、分类器分类或数值预测的情况。LeCun 等人 (2015) 对监督学习方法以及深层结构的形成给出了一个精简的解释。Deng 和 Yu(2014) 提到了许多用于监督和混合学习的深度网络,并做出解释,例如深度堆栈网络 (DSN) 及其变体。Schmidthuber(2014) 的研究涵盖了所有神经网络,从早期神经网络到最近成功的卷积神经网络 (CNN)、循环神经网络 (RNN)、长短期记忆 (LSTM) 及其改进。

4.2 深度无监督学习

当输入数据没有标记时,可应用无监督学习方法从数据中提取特征并对其进行分类或标记。LeCun 等人 (2015) 预测了无监督学习深度学习中的未来。Schmidthuber(2014) 也描述了无监督学习神经网络。Deng 和 Yu(2014) 简要介绍了无监督学习的深度架构,并详细解释了深度自编码器。

4.3 深度强化学习

强化学习使用奖惩系统预测学习模型的下一步。这主要用于游戏和机器人,解决平常的决策问题。Schmidthuber(2014) 描述了强化学习 (RL) 中深度学习的进展,以及深度前馈神经网络 (FNN) 和循环神经网络 (RNN) 在 RL 中的应用。Li(2017) 讨论了深度强化学习 (Deep Reinforcement Learning, DRL)、它的架构 (例如 Deep Q-Network, DQN) 以及在各个领域的应用。

Mnih 等人 (2016) 提出了一种利用异步梯度下降进行 DNN 优化的 DRL 框架。

van Hasselt 等人 (2015) 提出了一种使用深度神经网络 (deep neural network, DNN) 的 DRL 架构。

5. 深度神经网络

在本节中,我们将简要地讨论深度神经网络 (DNN),以及它们最近的改进和突破。神经网络的功能与人脑相似。它们主要由神经元和连接组成。当我们说深度神经网络时,我们可以假设有相当多的隐藏层,可以用来从输入中提取特征和计算复杂的函数。Bengio(2009) 解释了深度结构的神经网络,如卷积神经网络 (CNN)、自编码器 (AE) 等及其变体。Deng 和 Yu(2014) 详细介绍了一些神经网络架构,如 AE 及其变体。Goodfellow 等 (2016) 对深度前馈网络、卷积网络、递归网络及其改进进行了介绍和技巧性讲解。Schmidhuber(2014) 提到了神经网络从早期神经网络到最近成功技术的完整历史。

5.1 深度自编码器

自编码器 (AE) 是神经网络 (NN),其中输出即输入。AE 采用原始输入,编码为压缩表示,然后解码以重建输入。在深度 AE 中,低隐藏层用于编码,高隐藏层用于解码,误差反向传播用于训练.。

5.1.1 变分自编码器

变分自动编码器 (VAE) 可以算作解码器。VAE 建立在标准神经网络上,可以通过随机梯度下降训练 (Doersch,2016)。

5.1.2 多层降噪自编码器

在早期的自编码器 (AE) 中,编码层的维度比输入层小(窄)。在多层降噪自编码器 (SDAE) 中,编码层比输入层宽 (Deng and Yu, 2014)。

5.1.3 变换自编码器

深度自动编码器 (DAE) 可以是转换可变的,也就是从多层非线性处理中提取的特征可以根据学习者的需要而改变。变换自编码器 (TAE) 既可以使用输入向量,也可以使用目标输出向量来应用转换不变性属性,将代码引导到期望的方向 (Deng and Yu,2014)。

5.2 深度卷积神经网络

四种基本思想构成了卷积神经网络 (CNN),即:局部连接、共享权重池化和多层使用。CNN 的第一部分由卷积层和池化层组成,后一部分主要是全连接层。卷积层检测特征的局部连接,池层将相似的特征合并为一个。CNN 在卷积层中使用卷积而不是矩阵乘法。

Krizhevsky 等人 (2012) 提出了一种深度卷积神经网络 (CNN) 架构,也称为 AlexNet,这是深度学习 (Deep Learning, DL) 的一个重大突破。网络由 5 个卷积层和 3 个全连接层组成。该架构采用图形处理单元 (GPU) 进行卷积运算,采用线性整流函数 (ReLU) 作为激活函数,用 Dropout 来减少过拟合

Iandola 等人 (2016) 提出了一个小型的 CNN 架构,叫做「SqueezeNet」。

Szegedy 等人 (2014) 提出了一种深度 CNN 架构,名为 Inception。Dai 等人 (2017) 提出了对 Inception-ResNet 的改进。

Redmon 等人 (2015) 提出了一个名为 YOLO (You Only Look Once) 的 CNN 架构,用于均匀和实时的目标检测。

Zeiler 和 Fergus (2013) 提出了一种将 CNN 内部激活可视化的方法。

Gehring 等人 (2017) 提出了一种用于序列到序列学习的 CNN 架构。

Bansal 等人 (2017) 提出了 PixelNet,使用像素来表示。

Goodfellow 等人 (2016) 解释了 CNN 的基本架构和思想。Gu 等人 (2015) 对 CNN 的最新进展、CNN 的多种变体、CNN 的架构、正则化方法和功能以及在各个领域的应用进行了很好的概述。

5.2.1 深度最大池化卷积神经网络

最大池化卷积神经网络 (MPCNN) 主要对卷积和最大池化进行操作,特别是在数字图像处理中。MPCNN 通常由输入层以外的三种层组成。卷积层获取输入图像并生成特征图,然后应用非线性激活函数。最大池层向下采样图像,并保持子区域的最大值。全连接层进行线性乘法。在深度 MPCNN 中,在输入层之后周期性地使用卷积和混合池化,然后是全连接层。

5.2.2 极深的卷积神经网络

Simonyan 和 Zisserman(2014) 提出了非常深层的卷积神经网络 (VDCNN) 架构,也称为 VGG Net。VGG Net 使用非常小的卷积滤波器,深度达到 16-19 层。Conneau 等人 (2016) 提出了另一种文本分类的 VDCNN 架构,使用小卷积和池化。他们声称这个 VDCNN 架构是第一个在文本处理中使用的,它在字符级别上起作用。该架构由 29 个卷积层组成。

5.3 网络中的网络

Lin 等人 (2013) 提出了网络中的网络 (Network In Network,NIN)。NIN 以具有复杂结构的微神经网络代替传统卷积神经网络 (CNN) 的卷积层。它使用多层感知器 (MLPConv) 处理微神经网络和全局平均池化层,而不是全连接层。深度 NIN 架构可以由 NIN 结构的多重叠加组成。

5.4 基于区域的卷积神经网络

Girshick 等人 (2014) 提出了基于区域的卷积神经网络 (R-CNN),使用区域进行识别。R-CNN 使用区域来定位和分割目标。该架构由三个模块组成:定义了候选区域的集合的类别独立区域建议,从区域中提取特征的大型卷积神经网络 (CNN),以及一组类特定的线性支持向量机 (SVM)。

5.4.1 Fast R-CNN

Girshick(2015) 提出了快速的基于区域的卷积网络 (Fast R-CNN)。这种方法利用 R-CNN 架构能快速地生成结果。Fast R-CNN 由卷积层和池化层、区域建议层和一系列全连接层组成。

5.4.2 Faster R-CNN

Ren 等人 (2015) 提出了更快的基于区域的卷积神经网络 (Faster R-CNN),它使用区域建议网络 (Region Proposal Network, RPN) 进行实时目标检测。RPN 是一个全卷积网络,能够准确、高效地生成区域建议 (Ren et al.,2015)。

5.4.3 Mask R-CNN

何恺明等人 (2017) 提出了基于区域的掩模卷积网络 (Mask R-CNN) 实例目标分割。Mask R-CNN 扩展了 R-CNN 的架构,并使用一个额外的分支用于预测目标掩模。

5.4.4 Multi-Expert R-CNN

Lee 等人 (2017) 提出了基于区域的多专家卷积神经网络 (ME R-CNN),利用了 Fast R-CNN 架构。ME R-CNN 从选择性和详尽的搜索中生成兴趣区域 (RoI)。它也使用 per-RoI 多专家网络而不是单一的 per-RoI 网络。每个专家都是来自 Fast R-CNN 的全连接层的相同架构。

5.5 深度残差网络

He 等人 (2015) 提出的残差网络 (ResNet) 由 152 层组成。ResNet 具有较低的误差,并且容易通过残差学习进行训练。更深层次的 ResNet 可以获得更好的性能。在深度学习领域,人们认为 ResNet 是一个重要的进步。

5.5.1 Resnet in Resnet

Targ 等人 (2016) 在 Resnet in Resnet (RiR) 中提出将 ResNets 和标准卷积神经网络 (CNN) 结合到深层双流架构中。

5.5.2 ResNeXt

Xie 等人 (2016) 提出了 ResNeXt 架构。ResNext 利用 ResNets 来重复使用分割-转换-合并策略。

5.6 胶囊网络

Sabour 等人 (2017) 提出了胶囊网络 (CapsNet),即一个包含两个卷积层和一个全连接层的架构。CapsNet 通常包含多个卷积层,胶囊层位于末端。CapsNet 被认为是深度学习的最新突破之一,因为据说这是基于卷积神经网络的局限性而提出的。它使用的是一层又一层的胶囊,而不是神经元。激活的较低级胶囊做出预测,在同意多个预测后,更高级的胶囊变得活跃。在这些胶囊层中使用了一种协议路由机制。Hinton 之后提出 EM 路由,利用期望最大化 (EM) 算法对 CapsNet 进行了改进。

5.7 循环神经网络

循环神经网络 (RNN) 更适合于序列输入,如语音、文本和生成序列。一个重复的隐藏单元在时间展开时可以被认为是具有相同权重的非常深的前馈网络。由于梯度消失和维度爆炸问题,RNN 曾经很难训练。为了解决这个问题,后来许多人提出了改进意见。

Goodfellow 等人 (2016) 详细分析了循环和递归神经网络和架构的细节,以及相关的门控和记忆网络。

Karpathy 等人 (2015) 使用字符级语言模型来分析和可视化预测、表征训练动态、RNN 及其变体 (如 LSTM) 的错误类型等。

J´ozefowicz 等人 (2016) 探讨了 RNN 模型和语言模型的局限性。

5.7.1 RNN-EM

Peng 和 Yao(2015) 提出了利用外部记忆 (RNN-EM) 来改善 RNN 的记忆能力。他们声称在语言理解方面达到了最先进的水平,比其他 RNN 更好。

5.7.2 GF-RNN

Chung 等 (2015) 提出了门控反馈递归神经网络 (GF-RNN),它通过将多个递归层与全局门控单元叠加来扩展标准的 RNN。

5.7.3 CRF-RNN

Zheng 等人 (2015) 提出条件随机场作为循环神经网络 (CRF-RNN),其将卷积神经网络 (CNN) 和条件随机场 (CRF) 结合起来进行概率图形建模。

5.7.4 Quasi-RNN

Bradbury 等人 (2016) 提出了用于神经序列建模和沿时间步的并行应用的准循环神经网络 (QRNN)。

5.8 记忆网络

Weston 等人 (2014) 提出了问答记忆网络 (QA)。记忆网络由记忆、输入特征映射、泛化、输出特征映射和响应组成。

5.8.1 动态记忆网络

Kumar 等人 (2015) 提出了用于 QA 任务的动态记忆网络 (DMN)。DMN 有四个模块:输入、问题、情景记忆、输出。

5.9 增强神经网络

Olah 和 Carter(2016) 很好地展示了注意力和增强循环神经网络,即神经图灵机 (NTM)、注意力接口、神经编码器和自适应计算时间。增强神经网络通常是使用额外的属性,如逻辑函数以及标准的神经网络架构。

5.9.1 神经图灵机

Graves 等人 (2014) 提出了神经图灵机 (NTM) 架构,由神经网络控制器和记忆库组成。NTM 通常将 RNN 与外部记忆库结合。

5.9.2 神经 GPU

Kaiser 和 Sutskever(2015) 提出了神经 GPU,解决了 NTM 的并行问题。

5.9.3 神经随机存取机

Kurach 等人 (2015) 提出了神经随机存取机,它使用外部的可变大小的随机存取存储器。

5.9.4 神经编程器

Neelakantan 等人 (2015) 提出了神经编程器,一种具有算术和逻辑功能的增强神经网络

5.9.5 神经编程器-解释器

Reed 和 de Freitas(2015) 提出了可以学习的神经编程器-解释器 (NPI)。NPI 包括周期性内核、程序内存和特定于领域的编码器。

5.10 长短期记忆网络

Hochreiter 和 Schmidhuber(1997) 提出了长短期记忆 (Long short - Short-Term Memory, LSTM),克服了循环神经网络 (RNN) 的误差回流问题。LSTM 是基于循环网络和基于梯度的学习算法,LSTM 引入自循环产生路径,使得梯度能够流动。

Greff 等人 (2017) 对标准 LSTM 和 8 个 LSTM 变体进行了大规模分析,分别用于语音识别、手写识别和复调音乐建模。他们声称 LSTM 的 8 个变种没有显著改善,而只有标准 LSTM 表现良好。

Shi 等人 (2016b) 提出了深度长短期记忆网络 (DLSTM),它是一个 LSTM 单元的堆栈,用于特征映射学习表示。

5.10.1 批-归一化 LSTM

Cooijmans 等人 (2016) 提出了批-归一化 LSTM (BN-LSTM),它对递归神经网络的隐藏状态使用批-归一化。

5.10.2 Pixel RNN

van den Oord 等人 (2016b) 提出像素递归神经网络 (Pixel-RNN),由 12 个二维 LSTM 层组成。

5.10.3 双向 LSTM

W¨ollmer 等人 (2010) 提出了双向 LSTM(BLSTM) 的循环网络与动态贝叶斯网络 (DBN) 一起用于上下文敏感关键字检测。

5.10.4 Variational Bi-LSTM

Shabanian 等人 (2017) 提出了变分双向 LSTM(Variational Bi-LSTM),它是双向 LSTM 体系结构的变体。Variational Bi-LSTM 使用变分自编码器 (VAE) 在 LSTM 之间创建一个信息交换通道,以学习更好的表征。

5.11 谷歌神经机器翻译

Wu 等人 (2016) 提出了名为谷歌神经机器翻译 (GNMT) 的自动翻译系统,该系统结合了编码器网络、解码器网络和注意力网络,遵循共同的序列对序列 (sequence-to-sequence) 的学习框架。

5.12 Fader Network

Lample 等人 (2017) 提出了 Fader 网络,这是一种新型的编码器-解码器架构,通过改变属性值来生成真实的输入图像变化。

5.13 超网络

Ha 等人 (2016) 提出的超网络(Hyper Networks)为其他神经网络生成权值,如静态超网络卷积网络、用于循环网络的动态超网络。

Deutsch(2018) 使用超网络生成神经网络

5.14 Highway Networks

Srivastava 等人 (2015) 提出了高速路网络(Highway Networks),通过使用门控单元来学习管理信息。跨多个层次的信息流称为信息高速路。

5.14.1 Recurrent Highway Networks

Zilly 等人 (2017) 提出了循环高速路网络 (Recurrent Highway Networks,RHN),它扩展了长短期记忆 (LSTM) 架构。RHN 在周期性过渡中使用了 Highway 层。

5.15 Highway LSTM RNN

Zhang 等人 (2016) 提出了高速路长短期记忆 (high - Long short Memory, HLSTM) RNN,它在相邻层的内存单元之间扩展了具有封闭方向连接 (即 Highway) 的深度 LSTM 网络。

5.16 长期循环 CNN

Donahue 等人 (2014) 提出了长期循环卷积网络 (LRCN),它使用 CNN 进行输入,然后使用 LSTM 进行递归序列建模并生成预测。

5.17 深度神经 SVM

Zhang 等人 (2015) 提出了深度神经 SVM(DNSVM),它以支持向量机 (Support Vector Machine, SVM) 作为深度神经网络 (Deep Neural Network, DNN) 分类的顶层。

5.18 卷积残差记忆网络

Moniz 和 Pal(2016) 提出了卷积残差记忆网络,将记忆机制并入卷积神经网络 (CNN)。它用一个长短期记忆机制来增强卷积残差网络。

5.19 分形网络

Larsson 等人 (2016) 提出分形网络即 FractalNet 作为残差网络的替代方案。他们声称可以训练超深度的神经网络而不需要残差学习。分形是简单扩展规则生成的重复架构。

5.20 WaveNet

van den Oord 等人 (2016) 提出了用于产生原始音频的深度神经网络 WaveNet。WaveNet 由一堆卷积层和 softmax 分布层组成,用于输出。

Rethage 等人 (2017) 提出了一个 WaveNet 模型用于语音去噪。

5.21 指针网络

Vinyals 等人 (2017) 提出了指针网络 (Ptr-Nets),通过使用一种称为「指针」的 softmax 概率分布来解决表征变量字典的问题。

6. 深度生成模型

在本节中,我们将简要讨论其他深度架构,它们使用与深度神经网络类似的多个抽象层和表示层,也称为深度生成模型 (deep generate Models, DGM)。Bengio(2009) 解释了深层架构,例如 Boltzmann machine (BM) 和 Restricted Boltzmann Machines (RBM) 等及其变体。

Goodfellow 等人 (2016) 详细解释了深度生成模型,如受限和非受限的玻尔兹曼机及其变种、深度玻尔兹曼机、深度信念网络 (DBN)、定向生成网络和生成随机网络等。

Maaløe 等人(2016)提出了辅助的深层生成模型(Auxiliary Deep Generative Models),在这些模型中,他们扩展了具有辅助变量的深层生成模型。辅助变量利用随机层和跳过连接生成变分分布。

Rezende 等人 (2016) 开发了一种深度生成模型的单次泛化。

6.1 玻尔兹曼机

玻尔兹曼机是学习任意概率分布的连接主义方法,使用最大似然原则进行学习。

6.2 受限玻尔兹曼机

受限玻尔兹曼机 (Restricted Boltzmann Machines, RBM) 是马尔可夫随机场的一种特殊类型,包含一层随机隐藏单元,即潜变量和一层可观测变量。

Hinton 和 Salakhutdinov(2011) 提出了一种利用受限玻尔兹曼机 (RBM) 进行文档处理的深度生成模型

6.3 深度信念网络

深度信念网络 (Deep Belief Networks, DBN) 是具有多个潜在二元或真实变量层的生成模型

Ranzato 等人 (2011) 利用深度信念网络 (deep Belief Network, DBN) 建立了深度生成模型进行图像识别。

6.4 深度朗伯网络

Tang 等人 (2012) 提出了深度朗伯网络 (Deep Lambertian Networks,DLN),它是一个多层次的生成模型,其中潜在的变量是反照率、表面法线和光源。DLNis 是朗伯反射率与高斯受限玻尔兹曼机和深度信念网络的结合。

6.5 生成对抗网络

Goodfellow 等人 (2014) 提出了生成对抗网络 (generate Adversarial Nets, GAN),用于通过对抗过程来评估生成模型。GAN 架构是由一个针对对手(即一个学习模型或数据分布的判别模型)的生成模型组成。Mao 等人 (2016)、Kim 等人 (2017) 对 GAN 提出了更多的改进。

Salimans 等人 (2016) 提出了几种训练 GANs 的方法。

6.5.1 拉普拉斯生成对抗网络

Denton 等人 (2015) 提出了一种深度生成模型 (DGM),叫做拉普拉斯生成对抗网络 (LAPGAN),使用生成对抗网络 (GAN) 方法。该模型还在拉普拉斯金字塔框架中使用卷积网络。

6.6 循环支持向量机

Shi 等人 (2016a) 提出了循环支持向量机 (RSVM),利用循环神经网络 (RNN) 从输入序列中提取特征,用标准支持向量机 (SVM) 进行序列级目标识别。

7. 训练和优化技术

在本节中,我们将简要概述一些主要的技术,用于正则化和优化深度神经网络 (DNN)。

7.1 Dropout

Srivastava 等人 (2014) 提出 Dropout,以防止神经网络过拟合。Dropout 是一种神经网络模型平均正则化方法,通过增加噪声到其隐藏单元。在训练过程中,它会从神经网络中随机抽取出单元和连接。Dropout 可以用于像 RBM (Srivastava et al.,2014) 这样的图形模型中,也可以用于任何类型的神经网络。最近提出的一个关于 Dropout 的改进是 Fraternal Dropout,用于循环神经网络 (RNN)。

7.2 Maxout

Goodfellow 等人 (2013) 提出 Maxout,一种新的激活函数,用于 Dropout。Maxout 的输出是一组输入的最大值,有利于 Dropout 的模型平均。

7.3 Zoneout

Krueger 等人 (2016) 提出了循环神经网络 (RNN) 的正则化方法 Zoneout。Zoneout 在训练中随机使用噪音,类似于 Dropout,但保留了隐藏的单元而不是丢弃。

7.4 深度残差学习

He 等人 (2015) 提出了深度残差学习框架,该框架被称为低训练误差的 ResNet。

7.5 批归一化

Ioffe 和 Szegedy(2015) 提出了批归一化,通过减少内部协变量移位来加速深度神经网络训练的方法。Ioffe(2017) 提出批重归一化,扩展了以前的方法。

7.6 Distillation

Hinton 等人 (2015) 提出了将知识从高度正则化模型的集合 (即神经网络) 转化为压缩小模型的方法。

7.7 层归一化

Ba 等人 (2016) 提出了层归一化,特别是针对 RNN 的深度神经网络加速训练,解决了批归一化的局限性。

8. 深度学习框架 

有大量的开源库和框架可供深度学习使用。它们大多数是为 Python 编程语言构建的。如 Theano、Tensorflow、PyTorch、PyBrain、Caffe、Blocks and Fuel 、CuDNN、Honk、ChainerCV、PyLearn2、Chainer,、torch 等。

9. 深度学习的应用

在本节中,我们将简要地讨论一些最近在深度学习方面的杰出应用。自深度学习 (DL) 开始以来,DL 方法以监督、非监督、半监督或强化学习的形式被广泛应用于各个领域。从分类和检测任务开始,DL 应用正在迅速扩展到每一个领域。

例如:

  • 图像分类与识别

  • 视频分类

  • 序列生成 

  • 缺陷分类

  • 文本、语音、图像和视频处理

  • 文本分类

  • 语音处理

  • 语音识别和口语理解

  • 文本到语音生成

  • 查询分类

  • 句子分类

  • 句子建模

  • 词汇处理

  • 预选择

  • 文档和句子处理

  • 生成图像文字说明

  • 照片风格迁移

  • 自然图像流形

  • 图像着色

  • 图像问答

  • 生成纹理和风格化图像

  • 视觉和文本问答

  • 视觉识别和描述

  • 目标识别

  • 文档处理

  • 人物动作合成和编辑

  • 歌曲合成

  • 身份识别

  • 人脸识别和验证

  • 视频动作识别

  • 人类动作识别

  • 动作识别

  • 分类和可视化动作捕捉序列

  • 手写生成和预测

  • 自动化和机器翻译

  • 命名实体识别

  • 移动视觉

  • 对话智能体

  • 调用遗传变异

  • 癌症检测

  • X 射线 CT 重建

  • 癫痫发作预测

  • 硬件加速

  • 机器人

等。

Deng 和 Yu(2014) 提供了 DL 在语音处理、信息检索、目标识别、计算机视觉、多模态、多任务学习等领域应用的详细列表。

使用深度强化学习 (Deep Reinforcement Learning, DRL) 来掌握游戏已经成为当今的一个热门话题。每到现在,人工智能机器人都是用 DNN 和 DRL 创建的,它们在战略和其他游戏中击败了人类世界冠军和象棋大师,从几个小时的训练开始。例如围棋的 AlphaGo 和 AlphaGo Zero。

10. 讨论

尽管深度学习在许多领域取得了巨大的成功,但它还有很长的路要走。还有很多地方有待改进。至于局限性,例子也是相当多的。例如:Nguyen 等人表明深度神经网络(DNN)在识别图像时容易被欺骗。还有其他问题,如 Yosinski 等人提出的学习的特征可迁移性。Huang 等人提出了一种神经网络攻击防御的体系结构,认为未来的工作需要防御这些攻击。Zhang 等人则提出了一个理解深度学习模型的实验框架,他们认为理解深度学习需要重新思考和概括。

Marcus 在 2018 年对深度学习 (Deep Learning, DL) 的作用、局限性和本质进行了重要的回顾。他强烈指出了 DL 方法的局限性,即需要更多的数据,容量有限,不能处理层次结构,无法进行开放式推理,不能充分透明,不能与先验知识集成,不能区分因果关系。他还提到,DL 假设了一个稳定的世界,以近似方法实现,工程化很困难,并且存在着过度炒作的潜在风险。Marcus 认为 DL 需要重新概念化,并在非监督学习、符号操作和混合模型中寻找可能性,从认知科学和心理学中获得见解,并迎接更大胆的挑战。

11. 结论

尽管深度学习(DL)比以往任何时候都更快地推进了世界的发展,但仍有许多方面值得我们去研究。我们仍然无法完全地理解深度学习,我们如何让机器变得更聪明,更接近或比人类更聪明,或者像人类一样学习。DL 一直在解决许多问题,同时将技术应用到方方面面。但是人类仍然面临着许多难题,例如仍有人死于饥饿和粮食危机, 癌症和其他致命的疾病等。我们希望深度学习和人工智能将更加致力于改善人类的生活质量,通过开展最困难的科学研究。最后但也是最重要的,愿我们的世界变得更加美好。

入门深度学习Capsule
22
相关数据
激活函数技术
Activation function

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

Alex网络技术
AlexNet

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

神经机器翻译技术
Neural Machine Translation

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

自动编码器技术
Autoencoder

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

阿尔法围棋技术
AlphaGo

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

玻尔兹曼机技术
Boltzmann machine

玻尔兹曼机(Boltzmann machine)是随机神经网络和递归神经网络的一种,由杰弗里·辛顿(Geoffrey Hinton)和特里·谢泽诺斯基(Terry Sejnowski)在1985年发明。玻尔兹曼机可被视作随机过程的,可生成的相应的Hopfield神经网络。它是最早能够学习内部表达,并能表达和(给定充足的时间)解决复杂的组合优化问题的神经网络。但是,没有特定限制连接方式的玻尔兹曼机目前为止并未被证明对机器学习的实际问题有什么用。所以它目前只在理论上显得有趣。然而,由于局部性和训练算法的赫布性质(Hebbian nature),以及它们和简单物理过程相似的并行性,如果连接方式是受约束的(即受限玻尔兹曼机),学习方式在解决实际问题上将会足够高效。它由玻尔兹曼分布得名。该分布用于玻尔兹曼机的抽样函数。

深度神经网络技术
Deep neural network

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

动态贝叶斯网络技术
Dynamic Bayesian (belief) network

动态贝叶斯网络(Dynamic Bayesian Network, DBN),是一个随着毗邻时间步骤把不同变量联系起来的贝叶斯网络。这通常被叫做“两个时间片”的贝叶斯网络,因为DBN在任意时间点T,变量的值可以从内在的回归量和直接先验值(time T-1)计算。

深度玻尔兹曼机技术
Deep Boltzmann Machine

深度玻尔兹曼机是一种以受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)为基础的深度学习模型,其本质是一种特殊构造的神经网络。深度玻尔兹曼机由多层受限玻尔兹曼机叠加而成的,不同于深度置信网络(Deep Belief Network),深度玻尔兹曼机的中间层与相邻层是双向连接的。接下来举例说明深度玻尔兹曼机的基本结构和特征。

降噪自编码器技术
Denoising AutoEncoder

当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE)

计算机视觉技术
Computer Vision

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

判别模型技术
Discriminative Model

在机器学习领域,有一种分类方法将模型分为判别模型和生成模型(generative model)两种。 判别模型是一种对未知数据y与已知数据x之间关系进行建模的方法,是一种基于概率理论的方法。已知输入变量x,判别模型通过构建条件概率P(y|x)分布预测结果,或试图直接从输入x的空间学习映射到标签{0,1}(如感知器算法)的函数。生成模型则是考虑x与y之间的联合分布。 在实际应用中判别模型非常常见,如:逻辑回归(logistic regression),支持向量机(support vector machine), 提升方法(Boosting),条件随机场(conditional random fields),神经网络(neural network),随机森林(random forests)典型的生成模型则包括:高斯混合模型(Gaussian Mixture Model),隐马尔科夫模型(hidden markov model),简单贝叶斯(naive Bayes)等。不难看出两者的区别。

条件随机场技术
Conditional random field

条件随机场(conditional random field,简称 CRF),是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。 如同马尔可夫随机场,条件随机场为无向性之图模型,图中的顶点代表随机变量,顶点间的连线代表随机变量间的相依关系,在条件随机场当中,随机变量 Y 的分布为条件机率,给定的观察值则为随机变量 X。原则上,条件随机场的图模型布局是可以任意给定的,一般常用的布局是链接式的架构,链接式架构不论在训练(training)、推论(inference)、或是解码(decoding)上,都存在有效率的算法可供演算。 条件随机场跟隐马尔可夫模型常被一起提及,条件随机场对于输入和输出的机率分布,没有如隐马尔可夫模型那般强烈的假设存在。 线性链条件随机场应用于标注问题是由Lafferty等人与2001年提出的。

深度强化学习技术
Deep reinforcement learning

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

前馈神经网络技术
Feed-forward neural network

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

深度残差网络技术
Deep Residual Network

残差网络是为了解决深度神经网络(DNN)隐藏层过多时的网络退化问题而提出。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。

人脸识别技术
Facial recognition

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

生成对抗网络技术
Generative Adversarial Networks

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

专家网络技术
Expert network

专家网络建立在专家系统(expert system)的基础之上,它的本质是一个事件驱动性的(event-driven)神经网络。与普通神经网络不同,专家网络的线性和非线性处理更加复杂,因为它以知识库(knowledge base)和推理机(inference machine)为基础。根据知识库构造一个推理网络,用专家系统的推理规则(inference rule)定义网络节点的线性和非线性处理函数。知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。推理机是由算法或决策策略来进行与知识库内各项专门知识的推论,依据使用者的问题来推得正确的答案。因此,专家网络初始的拓朴结构由知识库确定,网络的动态性则由推理机确定。

生成模型技术
Generative Model

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

图像处理技术
Image processing

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

层归一化技术
Layer Normalization

深度神经网络的训练是具有高度的计算复杂性的。减少训练的时间成本的一种方法是对神经元的输入进行规范化处理进而加快网络的收敛速度。层规范化是在训练时和测试时对数据同时进行处理,通过对输入同一层的数据进行汇总,计算平均值和方差,来对每一层的输入数据做规范化处理。层规范化是基于批规范化进行优化得到的。相比较而言,批规范化是对一个神经元输入的数据以mini-batch为单位来进行汇总,计算平均值和方法,再用这个数据对每个训练样例的输入进行规整。层规范化在面对RNN等问题的时候效果更加优越,也不会受到mini-batch选值的影响。

逻辑技术
Logic

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

梯度下降技术
Gradient Descent

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

信息检索技术
Information Retrieval

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语言模型技术
Language models

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

多层感知器技术
Multilayer Perceptron

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

马尔可夫随机场技术
Markov Random Field

具有马尔可夫性质的随机场。 随机场:当给每一个位置(site)按照某种分布随机赋予相空间(phase space)的一个值之后,其全体就叫做随机场

神经图灵机技术
Neural Turing Machine

神经图灵机(NTMs)是Alex Graves等人发表的一种递归神经网络模型。NTM将神经网络的模糊模式匹配能力与可编程计算机的算法能力相结合。一个NTM有一个神经网络控制器连接到外部存储器资源,通过注意机制与外部存储器资源进行交互。 记忆交互是端对端可区分的,可以使用梯度下降对其进行优化。 具有长期短期记忆(LSTM)网络控制器的NTM可以从输入和输出示例推断简单的算法,例如复制,排序和关联回忆。

命名实体识别技术
Named entity recognition

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

神经元技术
neurons

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

自然语言处理技术
Natural language processing

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

机器翻译技术
Machine translation

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

Mask R-CNN技术
Mask R-CNN

Mask R-CNN是一个概念上简单,灵活和通用的对象实例分割框架。 该方法能够高效地检测图像中的对象,同时为每个实例生成高质量的分割蒙版。 这种方法通过添加一个用于预测对象蒙版的分支来扩展R-CNN使之更快,该分支与现有的用于边界框识别的分支并行。

过拟合技术
Overfitting

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

规范化技术
Normalization

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

池化技术
Pooling

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

先验知识技术
prior knowledge

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

感知器技术
perceptron

感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类器。 Frank Rosenblatt给出了相应的感知机学习算法,常用的有感知机学习、最小二乘法和梯度下降法。

查询技术
Query

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

感知技术
perception

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

表征学习技术
Representation learning

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

强化学习技术
Reinforcement learning

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

受限玻尔兹曼机技术
Restricted Boltzmann Machine

受限玻尔兹曼机(英语:restricted Boltzmann machine, RBM)是一种可通过输入数据集学习概率分布的随机生成神经网络。RBM最初由发明者保罗·斯模棱斯基于1986年命名为簧风琴(Harmonium),但直到杰弗里·辛顿及其合作者在2000年代中叶发明快速学习算法后,受限玻兹曼机才变得知名。受限玻兹曼机在降维、分类、协同过滤、特征学习和主题建模中得到了应用。根据任务的不同,受限玻兹曼机可以使用监督学习或无监督学习的方法进行训练。受限玻兹曼机也可被用于深度学习网络。具体地,深度信念网络可使用多个RBM堆叠而成,并可使用梯度下降法和反向传播算法进行调优。

监督学习技术
Supervised learning

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

非监督学习技术
Unsupervised learning

非监督式学习是一种机器学习的方式,并不需要人力来输入标签。它是监督式学习和强化学习等策略之外的一种选择。在监督式学习中,典型的任务是分类和回归分析,且需要使用到人工预先准备好的范例(base)。一个常见的非监督式学习是数据聚类。在人工神经网络中,自组织映射(SOM)和适应性共振理论(ART)则是最常用的非监督式学习。

语音识别技术
Speech Recognition

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

随机梯度下降技术
Stochastic gradient descent

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

文本分类技术
text classification

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

变分自编码器技术
Variational autoencoder

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

模式识别技术
Pattern Recognition

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

张量技术
Tensor

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

支持向量机技术
Support Vector Machines

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

噪音技术
Noise

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

多任务学习技术
Multi-task learning