这些深度学习术语,你了解多少?(上)

摘要: 入门深度学习,不知道这些术语怎么和别人对话?

对于一个新手来说,深度学习术语可能非常难以理解。本表试图解释深度学习常用术语并链接到原始参考,以帮助读者深入了解特定主题。

深度学习与“一般”的机器学习术语之间的界限非常模糊。例如,我这里不包括“交叉验证”,因为它是一种通用技术,用于整个机器学习。但是,我加入了softmax或word2vec等术语,因为它们通常与深度学习相关,即使它们不是深度学习技术。

激活函数

为了让神经网络学习复杂的决策边界,我们将非线性激活函数应用于其某些层。常用的函数包括sigmoid、tanh、ReLU(整流线性单元)及它们的变体。

Adadelta

Adadelta是一种基于梯度下降的学习算法,可以随时间调整每个参数的学习速率。它被认为是对Adagrad的改进,因为Adagrad对超参数很敏感,并且可能过于快速的降低学习速度。Adadelta类似于rmsprop,可以用来代替朴素SGD。

相关资源:

1、ADADELTA:一种自适应学习率方法

2、斯坦福CS231n:优化算法

3、梯度下降优化算法概述

Adagrad

Adagrad是一种自适应学习速率算法,它可以跟随时间变化,并自动调整每个参数的学习速率。它可以代替vanilla SGD使用,并且对稀疏数据特别有用,它可以为不经常更新的参数分配更高的学习率。

相关资源:

1、在线学习和随机优化的自适应梯度下降方法

2、斯坦福CS231n:优化算法

3、梯度下降优化算法概述

Adam

Adam是一种类似于rmsprop的自适应学习速率算法,但是使用梯度的第一和第二时刻的运行平均值直接估计更新,并且还包括偏差校正项。

1、Adam:随机优化的一种方法

2、梯度下降优化算法概述

Affine layer(仿射层)

一种神经网络中的完全连接层。仿射意味着前一层中的每个神经元都连接到当前层中的每个神经元。在许多情况下,这是神经网络的“标准”层。在进行最终预测之前,通常会在卷积神经网络或递归神经网络的输出之上添加仿射层。仿射层通常形式的y=f(Wx+b),其中x是该层的输入,W参数,b偏置向量,f是非线性激活函数。

注意力机制

注意力机制受到人类视觉注意力机制的启发,即关注图像特定部分的能力。注意力机制可以应用在语言处理和图像识别架构中,以帮助网络了解在进行预测时“关注”的内容。

1、深度学习和NLP中的注意力机制

Alexnet

Alexnet是一种卷积神经网络架构的名称,它以绝对的优势赢得了ILSVRC 2012竞赛。它由五个卷积层组成,其中一些后面是最大池层,三个是完全连接的层,最后是1000-way softmax。Alexnet在深度卷积神经网络的ImageNet分类中被引入。

自动编码器

自动编码器是一种神经网络模型,其目标是预测输入本身,通常是通过网络中某处的“瓶颈”。通过引入瓶颈,我们可以强制网络输入的低维表示,这样能有效地将输入压缩为更好的表示。自动编码器与PCA和其他降维技术差不多,但由于其非线性的特性,它可以学习更复杂的映射。而且存在很多种自动编码器架构,包括去噪自动编码器、变分自动编码器或序列自动编码器。

平均池(Average-Pooling)

Average-Pooling是用于图像识别的卷积神经网络的汇集技术。它的工作原理是在一系列特征(例如像素)上滑动窗口,并获取窗口内所有值的平均值。它可以将输入压缩为较低维表示。

反向传播

反向传播是一种有效计算神经网络中梯度的算法,更一般地说,是一种前馈计算图。可以把它归结为从网络输出开始应用差异化的链规则并向后传播梯度,反向传播的第一次使用可以追溯到1960年代的Vapnik。

1、计算图上的微积分:反向传播

反向传播时间(BPTT)

Backpropagation Through Time(paper)是应用于递归神经网络(RNN)的反向传播算法。BPTT可被视为应用于RNN的标准反向传播算法,其中每个时间步长代表一个层,并且参数在各层之间共享。由于RNN在所有时间步骤中共享相同的参数,因此必须将“一段时间”的错误“通过时间”反向传播到所有先前的时间步骤,因此名称。当处理长序列时,经常使用Truncated-BPTT来降低计算成本。Truncated-BPTT在固定步数后停止反向传播错误。

1、通过时间反向传播:它做什么以及如何做到这一点

批量标准化(Batch Normalization)

批量标准化是一种对每个小批量的层输入进行标准化的技术。它加快了训练的速度,允许使用更高的学习率。目前已经发现批量标准化对卷积和前馈神经网络非常有效,但尚未成功应用于递归神经网络。

1、批量标准化:通过减少内部协变量转换来加速深度网络训练

2、批量标准化递归神经网络

双向RNN

双向RNN是一种神经网络,包含两个进入不同方向的RNN。前向RNN从开始到结束读取输入序列,而后向RNN从结束到开始读取输入序列。两个RNN堆叠在彼此之上,并且通常通过附加两个向量来组合它们的状态。双向RNN通常用于自然语言问题,因为希望在进行预测之前考虑单词之前和之后的上下文。

1、双向递归神经网络;

Caffe

Caffe是伯克利视觉和学习中心开发的深度学习框架,Caffe在视觉任务和CNN模型中特别受欢迎。

分类交叉熵损失(Categorical Cross-Entropy Loss)

分类交叉熵损失也称为负对数似然,它是分类问题中流行损失函数,它可以测量两个概率分布之间的相似性,通常是真实标签和预测标签。它由真实标签的概率分布L =-sum(y * log(y_prediction))在何处给出,y_prediction是预测标签的概率分布,通常来自softmax。

通道(Channel)

向Deep Learning模型输入数据可以有多个通道。一般的图像是具有红色、绿色和蓝色通道。图像可以表示为三维张量,其尺寸对应于通道、高度和宽度。自然语言数据也可以具有多个通道,例如以不同类型的嵌入的形式。

卷积神经网络(CNN,ConvNet)

CNN使用卷积来连接输入的局部区域的提取特征。大多数CNN都包含卷积,汇集和仿射层。CNN已经越来越受欢迎,特别是他们在视觉识别任务方面的出色表现。

1、斯坦福CS231n类-视觉识别的卷积神经网络

2、NLP中使用卷积神经网络

深度信念网络(DBN)

DBN是一种概率图形模型,其以无监督的方式学习数据的分层表示。DBN由多个隐藏层组成,每个连续的层中的神经元之间具有连接。DBN是通过将多个RBN堆叠在一起并逐个训练来构建的。

1、深度信念网络的快速学习算法

DeepDream

Google发明的一种技术,旨在提炼深层卷积神经网络捕获的知识。该技术可以生成新图像或者转换现有图像并赋予它们梦幻般的风格。

Dropout

Dropout是神经网络的正则化技术,可防止过度拟合。它通过在每次训练迭代中将它们的一部分随机设置为0来防止神经元过度适应。可以以各种方式解释丢失,例如从指数数量的不同网络中随机采样。Dropout层首先通过在CNN中的使用而获得普及,但此后已应用于其他层。

1、Dropout:一种防止神经网络过度拟合的简单方法

2、递归神经网络正则化

嵌入(Embedding)

嵌入是将输入(例如单词或句子)映射到向量中。有一种流行的嵌入类型是word嵌入,例如word2vec或GloVe。它们可以嵌入句子,段落或图像。例如,通过将图像及其文本描述映射到公共嵌入空间并最小化它们之间的距离,我们可以将标签与图像匹配。嵌入可以明确地学习,例如在word2vec中,也作为监督任务的一部分,例如情感分析。通常,网络的输入层用预先训练的嵌入进行初始化,然后将其微调到手头的任务。

梯度爆炸问题

梯度爆炸问题正好与消失梯度问题相反。在深度神经网络中,梯度可能在反向传播期间爆炸,导致数量溢出。处理梯度爆炸的常用技术是执行梯度裁剪。

1、训练递归神经网络的难点

微调

微调是指使用来自其他任务(例如无人监督的训练任务)的参数初始化网络,然后根据手头的任务更新这些参数的技术。例如,NLP架构通常使用像word2vec这样的预训练词嵌入模型,然后在训练期间根据诸如情感分析之类的特定任务更新这些词嵌入模型。

梯度裁剪

梯度裁剪是一种防止在非常深的网络中爆炸梯度的技术。执行梯度裁剪有很多方式,但常见的是当参数矢量的L2范数超过某个阈值时归一化参数矢量的梯度new_gradients=gradients * threshold/l2_norm(gradients)。

手套(GloVe)

GloVe是一种用于获得单词的矢量表示(嵌入)的无监督学习算法。GloVe向量与word2vec具有相同的目的,但由于受到共现统计的训练,因此具有不同的向量表示。

1、GloVe:Word表征的全局向量

GoogleLeNet

它是赢得ILSVRC 2014挑战的卷积神经网络架构。网络使用Inception模块来减少参数并提高网络内计算资源的利用率。

GRU

门控循环单元是LSTM单元的简化版本,参数较少。就像LSTM单元一样,它使用门控机制防止RNN通过出现梯度消失的问题。GRU由一个复位门和更新门组成,用于确定旧存储器的哪一部分与当前时间步的新值保持一致。

1、使用RNN编码器-解码器学习短语表示以进行统计机器翻译

2、循环神经网络教程-使用Python和Theano实现GRU/LSTM RNN

初始模块

初始模块用于卷积神经网络,通过堆叠1×1卷积降低维数,实现更高效的计算和更深入的网络。

Keras

Kears是一个基于Python的深度学习库,包含许多用于深度神经网络的高级构建块。它可以在TensorFlow、Theano或CNTK之上运行。

LSTM

长短期记忆网络是为了通过使用记忆门控机制来防止递归神经网络中的消失梯度问题。使用LSTM单元计算RNN中的隐藏状态,帮助网络有效地传播梯度并学习远程依赖性。

1、长短期记忆网络;

2、了解LSTM网络;

3、循环神经网络教程-使用Python和Theano实现GRU/LSTM RNN;

Max-pooling

池操作通常在卷积神经网络中使用。最大池层会选择特征块中的最大值,就像卷积层一样,池化层通过窗口大小和步幅大小进行参数化。例如,我们可以使用步幅大小2在10×10特征矩阵上滑动尺寸为2×2的窗口,在每个窗口内的所有4个值中选择最大值,从而产生新的5×5特征矩阵。合并图层有助于通过仅保留最显着的信息来减少表征的维度,并且在图像输入的情况下,它们提供转换的基本不变性(即使图像移动了几个像素,也将选择相同的最大值)。通常在连续的卷积层之间会插入池化层。

MNIST

该MNIST数据集是最常用的图像识别数据集。它包括60,000个训练和10,000个手写数字测试示例。每个图像大28×28像素,现有技术模型通常在测试装置上达到99.5%或更高的精度。

未完待续····

本文由阿里云云栖社区组织翻译。

文章原标题《deep-learning-glossary》

作者:wildml 译者:虎说八道,审校:。

相关推荐