对于刚开始学习深度学习的新人来说,深度学习术语掌握起来会非常困难。这篇深度学习词汇表包含了一些深度学习的常用术语,以帮助读者深入了解特定主题。
深度学习和“一般”机器学习术语之间的界限非常模糊。我尽量让这个词汇表围绕深度学习展开,但有可能有少部分的重叠。例如,我这里不包括“交叉验证”,因为它是一种通用技术,使用了所有跨机器学习。但是,我决定将SoftMax或Word2Vec等术语包括在内,因为它们通常与深度学习相关,即使它们不是深度学习技术。
Activation Function
为了让神经网络从信息处理的角度对复杂的人脑神经元进行处理,我们将非线性激活函数应用到这个层面。信号从一个神经元进入,经过非线性激活函数,传入到下一层神经元,循环往复,直到输出层。常用的功能包括Sigmoid函数、TANH函数、RELU函数和这些功能的变体。
AdaDelta算法
AdaDelta算法主要是为了解决AdaGrad算法中存在的缺陷,在介绍Adadelta之前需要先了解Adagrad,Adadelta的特点是在下降初期,梯度比较小,这时学习率会比较大,而到了中后期,接近最低点时,梯度较大,这时学习率也会相对减小,放慢速度,以便可以迭代到最低点。Adadelta是对Adagrad的扩展,最初方案依然是对学习率进行自适应约束,但是进行了计算上的简化。Adagrad会累加之前所有的梯度平方,而Adadelta只累加固定大小的项,并且也不直接存储这些项,仅仅是近似计算对应的平均值。
Adagrad算法
Adagrad是一种自适应学习速率算法,可以跟踪随时间变化的平方梯度,并自动调整每个参数的学习速率。它可以代替普通的SGD,特别有助于稀疏数据,在稀疏数据中,它为不经常更新的参数分配更高的学习率。
Adam
Adam是一种类似于RMSprop的自适应学习速率算法,但是它的功能除了使用梯度的第一和第二力矩的运行平均值估算,还包括偏差校正项。
RMSprop, Adadelta, Adam 在很多情况下的效果是相似的。Adam 就是在 RMSprop 的基础上加了 bias-correction 和 momentum,随着梯度变的稀疏,Adam 比 RMSprop 效果会好。
整体来讲,Adam 是最好的选择。
Affine Layer
Affine Layer是神经网络中完全连接的层。仿射意味着前一层中的每个神经元都与当前层中的每个神经元相连。在许多方面,这是神经网络的“标准”层。在做出最终预测之前,通常在卷积神经网络或递归神经网络的输出端加上仿射层。仿射层的形式通常是y=f(w x+b),其中x是层输入,w是参数,b是偏压矢量,f是非线性激活函数。
Attention Mechanism
注意力机制受到人类视觉注意力的启发,即专注于处理图像特定部分的功能。用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效果的的机制(Mechanism),一般称为Attention Mechanism。注意力机制可以同时包含在语言处理和图像识别体系结构中,给信息赋予区别分辨的能力,以帮助了解在进行预测时“关注”什么。
Alexnet
AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计,是用第一作者Alex Krizhevsky的名字命名。Alexnet是卷积神经网络体系结构的名称,它的出现重新引起人们对CNN图像识别的兴趣。alexNet为8层深度网络,其中5层卷积层和3层全连接层,不计LRN层和池化层。
关于Alexnet及卷积神经网络模型分类可参考http://www.atyun.com/37216.html进行了解。
Autoencoder
AutoEncoder是深度学习的另外一个重要内容,Feature的数据进行压缩,之后再进行解压的过程。神经网络通过大量数据集,进行end-to-end的训练,不断提高其准确率,而AutoEncoder通过设计encode和decode过程使输入和输出越来越接近,是一种无监督学习过程。
Average-Pooling
池化操作时在卷积神经网络中经常采用过的一个基本操作,一般在卷积层后面都会接一个池化操作,但是近些年比较主流的ImageNet上的分类算法模型都是使用的max-pooling,很少使用average-pooling,通常来讲,max-pooling的效果更好,虽然max-pooling和average-pooling都对数据做了下采样,但是max-pooling感觉更像是做了特征选择,选出了分类辨识度更好的特征,提供了非线性,根据相关理论,特征提取的误差主要来自两个方面:(1)邻域大小受限造成的估计值方差增大;(2)卷积层参数误差造成估计均值的偏移。一般来说,average-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。average-pooling更强调对整体特征信息进行一层下采样,在减少参数维度的贡献上更大一点。
Backpropagation
Backpropagation反向传播是一种有效地计算神经网络中梯度的算法,通俗理解是一种前馈计算图,是复合函数的链接法则。它归结为从网络输出开始应用微分链规则,然后反向传播梯度。反向传播的第一个用途可以追溯到20世纪60年代的瓦普尼克,但是反向传播错误的学习表示经常被引用为来源。
Backpropagation Through Time (BPTT)
反向传播算法最早于上世纪70年代被提出,但是直到1986年,由David Rumelhart, Geoffrey Hinton, 和Ronald Williams联合发表了一篇著名论文(Learning representations by back-propagating errors)之后,人们才完全认识到这个算法的重要性。基于时间反向传播(PAPER)是应用于递归神经网络(RNN)的反向传播算法。BPTT可以看作是应用于RNN的标准反向传播算法,其中每个时间步代表一个层,参数跨层共享。由于RNN在所有时间步骤中共享相同的参数,因此一个时间步骤中的错误必须“通过时间”反向传播到所有以前的时间步骤,因此名称为。在处理长序列(数百个输入)时,通常使用截断版本的BPTT来降低计算成本。截断的BPTT在固定的步骤数后停止对错误进行反向传播。
今天先更新到这,后续还会有多个词汇,我会慢慢的为志同道合的伙伴做解释。