深度学习常见的专业术语
(部分内容转载⾃⽹络,有修改)
1. 激活函数(Activation Function)
为了让神经⽹络能够学习复杂的决策边界(decision boundary),我们在其⼀些层应⽤⼀个⾮线性激活函数。最常⽤的函数包括sigmoid、tanh、ReLU(Rectified Linear Unit 线性修正单元)以及这些函数的变体。
2. 优化器
3. 仿射层(Affine Layer)
神经⽹络中的⼀个全连接层。仿射(Affine)的意思是前⾯⼀层中的每⼀个神经元都连接到当前层中的每⼀个神经元。在许多⽅⾯,这是神经⽹络的「标准」层。仿射层通常被加在卷积神经⽹络或循环神经⽹络做出最终预测前的输出的顶层。仿射层的⼀般形式为 y = f(Wx + b),其中 x 是层输⼊,w 是参数,b 是⼀个偏差⽮量,f 是⼀个⾮线性激活函数。
4.
5. Alexnet
Alexnet 是⼀种卷积神经⽹络架构的名字,这种架构曾在 2012 年 ILSVRC 挑战赛中以巨⼤优势获胜,⽽且它还导致了⼈们对⽤于图像识别的卷积神经⽹络(CNN)的兴趣的复苏。它由 5 个卷积层组成。其中⼀些后⾯跟随着最⼤池化(max-pooling)层和带有最终1000条路径的 softmax (1000-way softmax)的 3个全连接层。Alexnet 被引⼊到了使⽤深度卷积神经⽹络的 ImageNet 分类中。
6. ⾃编码器(Autoencoder)
⾃编码器是⼀种神经⽹络模型,它的⽬标是预测输⼊⾃⾝,这通常通过⽹络中某个地⽅的「瓶颈(bottleneck)」实现。通过引⼊瓶颈,我们迫使⽹络学习输⼊更低维度的表征,从⽽有效地将输⼊压缩成⼀个好的表征。⾃编码器和 PCA 等降维技术相关,但因为它们的
⾮线性本质,它们可以学习更为复杂的映射。⽬前已有⼀些范围涵盖较⼴的⾃编码器存在,包括降噪⾃编码器(Denoising
Autoencoders)、变⾃编码器(Variational Autoencoders)和序列⾃编码器(Sequence Autoencoders)。
降噪⾃编码器论⽂:Stacked Denoising Autoencoders: Learning Uful Reprentations in a Deep N
etwork with a Local Denoising Criterion
变⾃编码器论⽂:Auto-Encoding Variational Bayes
序列⾃编码器论⽂:Semi-supervid Sequence Learning
7. 平均池化(Average-Pooling)
平均池化是⼀种在卷积神经⽹络中⽤于图像识别的池化(Pooling)技术。它的⼯作原理是在特征的局部区域上滑动窗⼝,⽐如像素,然后再取窗⼝中所有值的平均。它将输⼊表征压缩成⼀种更低维度的表征。
8.
9. 批标准化(BN:Batch Normalization)utstarcom
分批标准化是⼀种按⼩批量的⽅式标准化层输⼊的技术。它能加速训练过程,允许使⽤更⾼的学习率,还可⽤作规范器
(regularizer)。⼈们发现,分批标准化在卷积和前馈神经⽹络中应⽤时⾮常⾼效,但尚未被成功应⽤到循环神经⽹络上。
论⽂:分批标准化:通过减少内部协变量位移(Covariate Shift)加速深度⽹络训练(Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift)
论⽂:使⽤分批标准化的循环神经⽹络(Batch Normalized Recurrent Neural Networks)
10. 双向循环神经⽹络(Bidirectional RNN)
双向循环神经⽹络是⼀类包含两个⽅向不同的 RNN 的神经⽹络。其中的前向 RNN 从起点向终点读取输⼊序列,⽽反向 RNN 则从终点向起点读取。这两个 RNN 互相彼此堆叠,它们的状态通常通过附加两个⽮量的⽅式进⾏组合。双向 RNN 常被⽤在⾃然语⾔问题中,因为在⾃然语⾔中我们需要同时考虑话语的前后上下⽂以做出预测。
论⽂:双向循环神经⽹络(Bidirectional Recurrent Neural Networks)
11. Caffe
Caffe 是由伯克利⼤学视觉和学习中⼼开发的⼀种深度学习框架。在视觉任务和卷积神经⽹络模型中,Caffe 格外受欢迎且性能优异12. 分类交叉熵损失(Categorical Cross-Entropy Loss)
分类交叉熵损失也被称为负对数似然(negative log likelihood)。这是⼀种⽤于解决分类问题的流⾏
的损失函数,可⽤于测量两种概率分布(通常是真实标签和预测标签)之间的相似性。它可⽤ L = -sum(y * log(y_prediction)) 表⽰,其中 y 是真实标签的概率分布(通常是⼀个one-hot vector),y_prediction 是预测标签的概率分布,通常来⾃于⼀个 softmax。
13. 通道(Channel)
深度学习模型的输⼊数据可以有多个信道。图像就是个典型的例⼦,它有红、绿和蓝三个颜⾊信道。⼀个图像可以被表⽰成⼀个三维的张量(Tensor),其中的维度对应于信道、⾼度和宽度。⾃然语⾔数据也可以有多个信道,⽐如在不同类型的嵌⼊(embedding)形式中。学美甲
14.
15. 深度信念⽹络(DBN:Deep Belief Network)
DBN 是⼀类以⽆监督的⽅式学习数据的分层表征的概率图形模型。DBN 由多个隐藏层组成,这些隐藏层的每⼀对连续层之间的神经元是相互连接的。DBN 通过彼此堆叠多个 RBN(限制波尔兹曼机)并⼀个接⼀个地训练⽽创建。
论⽂:深度信念⽹络的⼀种快速学习算法(A fast learning algorithm for deep belief nets)
16.
17. Dropout
Dropout 是⼀种⽤于神经⽹络防⽌过拟合的正则化技术。它通过在每次训练迭代中随机地设置神经元中的⼀⼩部分为 0 来阻⽌神经元共适应(co-adapting),Dropout 可以通过多种⽅式进⾏解读,⽐如从不同⽹络的指数数字中随机取样。Dropout 层⾸先通过它们在卷积神经⽹络中的应⽤⽽得到普及,但⾃那以后也被应⽤到了其它层上,包括输⼊嵌⼊或循环⽹络。
论⽂:Dropout: ⼀种防⽌神经⽹络过拟合的简单⽅法(Dropout: A Simple Way to Prevent Neural Networks from Overfitting)论⽂:循环神经⽹络正则化(Recurrent Neural Network Regularization)平和英语村
18. 嵌⼊(Embedding)
⼀个嵌⼊映射到⼀个输⼊表征,⽐如⼀个词或⼀句话映射到⼀个⽮量。⼀种流⾏的嵌⼊是词语嵌⼊(word embedding,国内常⽤的说法是:词向量),如 word2vec 或 GloVe。我们也可以嵌⼊句⼦、段落或图像。⽐如说,通过将图像和他们的⽂本描述映射到⼀个共同的嵌⼊空间中并最⼩化它们之间的距离,我们可以将标签和图像进⾏匹配。嵌⼊可以被明确地学习到,⽐如在 word2vec 中;嵌⼊也可作为监督任务的⼀部分例如情感分析(Sentiment Analysis)。通常⼀个⽹络的输⼊层是通过预先训练的嵌⼊进⾏初始化,然后再根据当前任务进⾏微调(fine-tuned)。
19. 梯度爆炸问题(Exploding Gradient Problem)
梯度爆炸问题是梯度消失问题(Vanishing Gradient Problem)的对⽴⾯。在深度神经⽹络中,梯度可能会在反向传播过程中爆炸,导致数字溢出。解决梯度爆炸的⼀个常见技术是执⾏梯度裁剪(Gradient Clipping)。
论⽂:训练循环神经⽹络的困难之处(On the difficulty of training Recurrent Neural Networks)
20. 微调(Fine-Tuning)
Fine-Tuning 这种技术是指使⽤来⾃另⼀个任务(例如⼀个⽆监督训练⽹络)的参数初始化⽹络,然后再基于当前任务更新这些参数。
⽐如,⾃然语⾔处理架构通常使⽤ word2vec 这样的预训练的词向量(word embeddings),然后这些词向量会在训练过程中基于特定的任务(如情感分析)进⾏更新。
21. 梯度裁剪(Gradient Clipping)
梯度裁剪是⼀种在⾮常深度的⽹络(通常是循环神经⽹络)中⽤于防⽌梯度爆炸(exploding gradient)的技术。执⾏梯度裁剪的⽅法有很多,但常见的⼀种是当参数⽮量的 L2 范数(L2 norm)超过⼀个特定阈值时对参数⽮量的梯度进⾏标准化,这个特定阈值根据函数:新梯度=梯度*阈值/L2范数(梯度){new_gradients = gradients * threshold / l2_norm(gradients)}确定。
论⽂:训练循环神经⽹络的困难之处(On the difficulty of training Recurrent Neural Networks)
22. GloVe
Glove 是⼀种为话语获取⽮量表征(嵌⼊)的⽆监督学习算法。GloVe 的使⽤⽬的和 word2vec ⼀样,但 GloVe 具有不同的⽮量表征,因为它是在共现(co-occurrence)统计数据上训练的。
论⽂:GloVe:⽤于词汇表征(Word Reprentation)的全局⽮量(Global Vector)(GloVe: Global Vectors for Word
Reprentation )
23. GoogleLeNet
GoogleLeNet 是曾赢得了 2014 年 ILSVRC 挑战赛的⼀种卷积神经⽹络架构。这种⽹络使⽤ Inception 模块(Inception Module)以减少参数和提⾼⽹络中计算资源的利⽤率。
论⽂:使⽤卷积获得更深(Going Deeper with Convolutions)
24.
25. Highway Layer
Highway Layer 是使⽤门控机制控制通过层的信息流的⼀种神经⽹络层。堆叠多个 Highway Layer 层可让训练⾮常深的⽹络成为可能。Highway Layer 的⼯作原理是通过学习⼀个选择输⼊的哪部分通过和哪部分通过⼀个变换函数(如标准的仿射层)的门控函数来进⾏学习。Highway Layer 的基本公式是 T * h(x) + (1 - T) * x;其中 T 是学习过的门控函数,取值在 0 到 1 之间;h(x) 是⼀个任意的输⼊变换,x 是输⼊。注意所有这些都必须具有相同的⼤⼩。
论⽂:Highway Networks
四级考试时间安排202026. ICML
即国际机器学习⼤会(International Conference for Machine Learning),⼀个顶级的机器学习会议。
27. ILSVRC
即 ImageNet ⼤型视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge),该⽐赛⽤于评估⼤规模对象检测和图像分类的算法。它是计算机视觉领域最受欢迎的学术挑战赛。过去⼏年中,深度学习让错误率出现了显著下降,从 30% 降到了不到5%,在许多分类任务中击败了⼈类。
28. Inception模块(Inception Module)
Inception模块被⽤在卷积神经⽹络中,通过堆叠 1×1 卷积的降维(dimensionality reduction)带来更⾼效的计算和更深度的⽹络。
论⽂:使⽤卷积获得更深(Going Deeper with Convolutions)
29. Keras
Kears 是⼀个基于 Python 的深度学习库,其中包括许多⽤于深度神经⽹络的⾼层次构建模块。它可以运⾏在 TensorFlow 或 Theano
上。
30.
31. 最⼤池化(Max-Pooling)
池化(Pooling)操作通常被⽤在卷积神经⽹络中。⼀个最⼤池化层从⼀块特征中选取最⼤值。和卷积层⼀样,池化层也是通过窗⼝(块)⼤⼩和步幅尺⼨进⾏参数化。⽐如,我们可能在⼀个 10×10 特征矩阵上以 2 的步幅滑动⼀个 2×2 的窗⼝,然后选取每个窗⼝的
4 个值中的最⼤值,得到⼀个 5×
5 特征矩阵。池化层通过只保留最突出的信息来减少表征的维度;在这个图像输⼊的例⼦中,它们为
转译提供了基本的不变性(即使图像偏移了⼏个像素,仍可选出同样的最⼤值)。池化层通常被安插在连续卷积层之间。
32. MNIST
MNIST数据集可能是最常⽤的⼀个图像识别数据集。它包含 60,000 个⼿写数字的训练样本和 10,000 个测试样本。每⼀张图像的尺⼨为 28×28像素。⽬前最先进的模型通常能在该测试集中达到 99.5% 或更⾼的准确度。
33. 动量(Momentum)
动量是梯度下降算法(Gradient Descent Algorithm)的扩展,可以加速和阻抑参数更新。在实际应⽤中,在梯度下降更新中包含⼀个动量项可在深度⽹络中得到更好的收敛速度(convergence rate)。
论⽂:通过反向传播(back-propagating error)错误学习表征
34. 多层感知器(MLP:Multilayer Perceptron)
多层感知器是⼀种带有多个全连接层的前馈神经⽹络,这些全连接层使⽤⾮线性激活函数(activation function)处理⾮线性可分的数据。MLP 是多层神经⽹络或有两层以上的深度神经⽹络的最基本形式。
35. 负对数似然(NLL:Negative Log Likelihood)
参见分类交叉熵损失(Categorical Cross-Entropy Loss)。
36. 神经⽹络机器翻译(NMT:Neural Machine Translation)
NMT 系统使⽤神经⽹络实现语⾔(如英语和法语)之间的翻译。NMT 系统可以使⽤双语语料库进⾏端到端的训练,这有别于需要⼿⼯打造特征和开发的传统机器翻译系统。NMT 系统通常使⽤编码器和解码器循环神经⽹络实现,它可以分别编码源句和⽣成⽬标句。
论⽂:使⽤神经⽹络的序列到序列学习(Sequence to Sequence Learning with Neural Networks)
论⽂:为统计机器翻译使⽤ RNN 编码器-解码器学习短语表征(Learning Phra Reprentations using RNN Encoder-Decoder for Statistical Machine Translation)
37. 神经图灵机(NTM:Neural Turing Machine)
NTM 是可以从案例中推导简单算法的神经⽹络架构。⽐如,NTM 可以通过案例的输⼊和输出学习排序算法。NTM 通常学习记忆和注意机制的某些形式以处理程序执⾏过程中的状态。
论⽂:神经图灵机(Neural Turing Machines)
38. ⾮线性(Nonlinearity)
参见激活函数(Activation Function)。
39. 噪⾳对⽐估计(NCE:noi-contrastive estimation)
噪⾳对⽐估计是⼀种通常被⽤于训练带有⼤输出词汇的分类器的采样损失(sampling loss)。在⼤量的可能的类上计算 softmax 是异常昂贵的。使⽤ NCE,我们可以将问题降低成⼆元分类问题,这可以通过训练分类器区别对待取样和「真实」分布以及⼈⼯⽣成的噪声分布来实现。
宝贝英语论⽂:噪⾳对⽐估计:⼀种⽤于⾮标准化统计模型的新估计原理(Noi-contrastive estimation: A new estimation principle for unnormalized statistical models )
论⽂:使⽤噪⾳对⽐估计有效地学习词向量(Learning word embeddings efficiently with noi-contrastive estimation)
40. 池化
参见最⼤池化(Max-Pooling)或平均池化(Average-Pooling)。
41. 受限玻尔兹曼机(RBN:Restricted Boltzmann Machine)
RBN 是⼀种可被解释为⼀个随机⼈⼯神经⽹络的概率图形模型。RBN 以⽆监督的形式学习数据的表征。RBN 由可见层和隐藏层以及每⼀个这些层中的⼆元神经元的连接所构成。RBN 可以使⽤对⽐散度(contrastive divergence)进⾏有效的训练,这是梯度下降的⼀种近似。
第六章:动态系统中的信息处理:和谐理论基础
cranberry sauce论⽂:受限玻尔兹曼机简介(An Introduction to Restricted Boltzmann Machines)女士英文名
42.
43. 递归神经⽹络(Recursive Neural Network)
递归神经⽹络是循环神经⽹络的树状结构的⼀种泛化(generalization)。每⼀次递归都使⽤相同的权重。就像 RNN ⼀样,递归神经⽹络可以使⽤向后传播(backpropagation)进⾏端到端的训练。尽管
可以学习树结构以将其⽤作优化问题的⼀部分,但递归神经⽹络通常被⽤在已有预定义结构的问题中,如⾃然语⾔处理的解析树中。
论⽂:使⽤递归神经⽹络解析⾃然场景和⾃然语⾔(Parsing Natural Scenes and Natural Language with Recursive Neural Networks )
44. ReLU
即线性修正单元(Rectified Linear Unit)。ReLU 常在深度神经⽹络中被⽤作激活函数。它们的定义是 f(x) = max(0, x) 。ReLU 相对于 tanh 等函数的优势包括它们往往很稀疏(它们的活化可以很容易设置为 0),⽽且它们受到梯度消失问题的影响也更⼩。ReLU 主
要被⽤在卷积神经⽹络中⽤作激活函数。ReLU 存在⼏种变体,如Leaky ReLUs、Parametric ReLU (PReLU) 或更为流畅的 softplus近似。
论⽂:深⼊研究修正器(Rectifiers):在 ImageNet 分类上超越⼈类⽔平的性能(Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification)
论⽂:修正⾮线性改进神经⽹络声学模型(Rectifier Nonlinearities Improve Neural Network Acoustic Models )
论⽂:线性修正单元改进受限玻尔兹曼机(Rectified Linear Units Improve Restricted Boltzmann Machines )
45. 残差⽹络(ResNet)
深度残差⽹络(Deep Residual Network)赢得了 2015 年的 ILSVRC 挑战赛。这些⽹络的⼯作⽅式是引⼊跨层堆栈的快捷连接,让优化器可以学习更「容易」的残差映射(residual mapping)⽽⾮更为复杂的原映射(original mapping)。这些快捷连接和 Highway Layer 类似,但它们与数据⽆关且不会引⼊额外的参数或训练复杂度。ResNet 在 ImageNet 测试集中实现了 3.57% 的错误率。
论⽂:⽤于图像识别的深度残差⽹络(Deep Residual Learning for Image Recognition)
46.
plain
47. 序列到序列(Seq2Seq)
序列到序列(Sequence-to-Sequence)模型读取⼀个序列(如⼀个句⼦)作为输⼊,然后产⽣另⼀个序列作为输出。它和标准的RNN 不同;在标准的 RNN 中,输⼊序列会在⽹络开始产⽣任何输出之前被完整地读取。通常⽽⾔,Seq2Seq 通过两个分别作为编码器和解码器的 RNN 实现。神经⽹络机器翻译是⼀类典型的 Seq2Seq 模型。
论⽂:使⽤神经⽹络的序列到序列学习(Sequence to Sequence Learning with Neural Networks)
48.speaknow
49. Softmax
Softmax 函数通常被⽤于将原始分数(raw score)的⽮量转换成⽤于分类的神经⽹络的输出层上的类概率(class probability)。它通过对归⼀化常数(normalization constant)进⾏指数化和相除运算⽽对分数进⾏规范化。如果我们正在处理⼤量的类,例如机器翻译中的⼤量词汇,计算归⼀化常数是很昂贵的。有许多种可以让计算更⾼效的替代选择,包括分层 Softmax(Hierarchical Softmax)或使⽤基于取样的损失函数,如 NCE。
50. TensorFlow
TensorFlow是⼀个开源 C ++ / Python 软件库,⽤于使⽤数据流图的数值计算,尤其是深度神经⽹络。它是由⾕歌创建的。在设计⽅⾯,它最类似于 Theano,但⽐ Caffe 或 Keras 更低级。
51. Theano
Theano 是⼀个让你可以定义、优化和评估数学表达式的 Python 库。它包含许多⽤于深度神经⽹络的构造模块。Theano 是类似于TensorFlow 的低级别库。更⾼级别的库包括Keras 和 Caffe。
52. 梯度消失问题(Vanishing Gradient Problem)
梯度消失问题出现在使⽤梯度很⼩(在 0 到 1 的范围内)的激活函数的⾮常深的神经⽹络中,通常是循环神经⽹络。因为这些⼩梯度会在反向传播中相乘,它们往往在这些层中传播时「消失」,从⽽让⽹络⽆法学习长程依赖。解决这⼀问题的常⽤⽅法是使⽤ ReLU 这样的不受⼩梯度影响的激活函数,或使⽤明确针对消失梯度问题的架构,如LSTM。这个问题的反⾯被称为梯度爆炸问题
(exploding gradient problem)。
论⽂:训练循环神经⽹络的困难之处(On the difficulty of training Recurrent Neural Networks)
53. VGG
VGG 是在 2014 年 ImageNet 定位和分类⽐赛中分别斩获第⼀和第⼆位置的卷积神经⽹络模型。这个 VGG 模型包含 16-19 个权重层,并使⽤了⼤⼩为 3×3 和 1×1 的⼩型卷积过滤器。
论⽂:⽤于⼤规模图像识别的⾮常深度的卷积⽹络(Very Deep Convolutional Networks for Large-Scale Image Recognition)zhouqu
54.