知名企业家、同时也是 NBA 小牛队的老板马克·库班(Mark Cuban)曾说过一句话:人工智能,深度学习和机器学习,不论你现在是否能够理解这些概念,你都应该学习。否则三年内,你就会像灭绝的恐龙一样被社会淘汰。马克·库班的这番话乍听起来有些耸人听闻,但仔细想想却不无道理。我们正经历一场大革命,这场革命就是由大数据和强大的电脑计算能力发起的。为了更好地面对和适应这场革命,了解一下相关的概念已经十分有必要了。本文为下篇,阅读上篇,请点击:从神经网络说起:深度学习初学者不可不知的25个术语和概念(上) 11. 学习速率(Learning Rate)学习速率指每次迭代中对成本函数的最小化次数。简单来说,我们把下降到成本函数最小值的速率称为学习率。选择学习率时,我们必须非常小心,学习速率既不应过大——会错过最优解,也不应过小——使网络收敛将需要很多很多步、甚至永不可能。 12. 反向传播(Back Propagation)在定义一个神经网络的过程中,每个节点会被随机地分配权重和偏置。 一次迭代后,我们可以根据产生的结果计算出整个网络的偏差,然后用偏差结合成本函数的梯度,对权重因子进行相应的调整,使得下次迭代的过程中偏差变小。 这样一个结合成本函数的梯度来调整权重因子的过程就叫做反向传播。在反向传播中,信号的传递方向是朝后的,误差连同成本函数的梯度从输出层沿着隐藏层传播,同时伴随着对权重因子的调整。 13. 分批(Batches)当我们训练一个神经网路时,我们不应一次性发送全部输入信号,而应把输入信号随机分成几个大小相同的数据块发送。 与将全部数据一次性送入网络相比,在训练时将数据分批发送,建立的模型会更具有一般性。 14. 周期(Epochs)一个周期表示对所有的数据批次都进行了一次迭代,包括一次正向传播和一次反向传播,所以一个周期就意味着对所有的输入数据分别进行一次正向传播和反向传播。 训练网络周期的次数是可以选择的,往往周期数越高,模型的准确性就越高,但是,耗时往往就越长。同样你还需要考虑如果周期 / 纪元的次数过高,那么可能会出现过拟合的情况。 15. Dropout 方法Dropout 是一个可以阻止网络过拟合的规则化方法。就像它的名字那样,在训练过程中隐藏的某些特定神经元会被忽略掉(drop)。 这意味着网络的训练是在几个不同的结构上完成的。这种 Dropout 的方式就像是一场合奏,多个不同结构网络的输出组合产生最终的输出结果。 16. 分批标准化(Batch Normalization)分批标准化就像是人们在河流中用以监测水位的监察站一样。 这是为了保证下一层网络得到的数据拥有合适的分布。在训练神经网络的过程中,每一次梯度下降后权重因子都会得到改变,从而会改变相应的数据结构。 但是下一层网络希望能够得到与之前分布相似的数据,因此在每一次数据传递前都需要对数据进行一次正则化处理。 卷积神经网络17. 过滤器 / 滤波器(Filters)CNN 中的滤波器,具体是指将一个权重矩阵乘以输入图像的一个部分,产生相应的卷积输出。 比方说,对于一个 28×28 的图片而言,将一个 3×3 的滤波器与图片中 3×3 的矩阵依次相乘,从而得到相应的卷积输出。 滤波器的尺寸通常比原始图片要小,与权重相似,在最小化成本的反向传播中,滤波器也会被更新。就像下面这张图片一样,通过一个过滤器,依次乘以图片中每个 3×3 的分块,从而产生卷积的结果。 18. 卷积神经网络 CNN(Convolutional Neural Network)卷积神经网络通常用来处理图像数据,假设输入数据的形状为 28×28×3(28pixels × 28pixels × RGBValue),那么对于传统的神经网络来说就会有 2352(28×28×3)个变量。随着图像尺寸的增加,那么变量的数量就会急剧增加。 通过对图片进行卷积,可以减少变量的数目(已在过滤器的概念中提及)。随着过滤器沿着图像上宽和高的两个方向滑动,就会产生一个相应的 2 维激活映射,最后再沿纵向将所有的激活映射堆叠在一起,就产生了最后的输出。 可以参照下面这个示意图。 19. 池化(Pooling)为进一步减少变量的数目同时防止过拟合,一种常见的做法是在卷积层中引入池化层(Pooling Layer)。 最常用的池化层的操作是将原始图片中每个 4×4 分块取最大值形成一个新的矩阵,这叫做最大值池化(Max Pooling)。 也有人尝试诸如平均池化(Average Pooling)之类的方式,但在实际情况中最大化池化拥有更好的效果。 20. 补白(Padding)补白(Padding)通常是指给图像的边缘增加额外的空白,从而使得卷积后输出的图像跟输入图像在尺寸上一致,这也被称作相同补白(Same Padding)。 如应用过滤器,在相同补白的情况下,卷积后的图像大小等于实际图像的大小。 有效补白(Valid Padding)指的是保持图片上每个真实的像素点,不增加空白,因此在经历卷积后数据的尺寸会不断变小。 21. 数据增强(Data Augmentation)数据增强指的是从已有数据中创造出新的数据,通过增加训练量以期望能够提高预测的准确率。 比如,在数字识别中,我们遇到的数字9可能是倾斜或旋转的,因此如果将训练的图片进行适度的旋转,增大训练量,那么模型的准确性就可能会得到提高。 通过「旋转」「照亮」的操作,训练数据的品质得到了提升,这种过程被称作数据增强。 递归神经网络22. 递归神经元(Recurrent NeuralNetwork)对于递归神经元来说,经由它自己处理过的数据会变成自身下一次的输入,这个过程总共会进行 t 次。 如下图所示,将递归神经元展开就相当于 t 个不同的神经元串联起来,这种神经元的长处是能够产生一个更全面的输出结果。 23. 递归神经网络(RNN-Recurrent NeuralNetwork)递归神经网络通常被用于处理序列化的数据,即前一项的输出是用来预测下一项的输入。 递归神经网络通常被用于处理序列化的数据,即前一项的输出是用来预测下一项的输入。递归神经网络中存在环的结构,这些神经元上的环状结构使得它们能够存储之前的数据一段时间,从而使得能够预测输出。 与递归神经元相似,在 RNN 中隐含层的输出会作为下一次的输入,如此往复经历 t 次,再将输出的结果传递到下一层网络中。这样,最终输出的结果会更全面,而且之前训练的信息被保持的时间会更久。 隐藏层将反向传递错误以更新权重。这被称为 backpropagation through time(BPTT)。 24. 梯度消失问题当激活函数的梯度非常小时,会出现梯度消失问题。在反向传播过程中,权重因子会被多次乘以这些小的梯度,因此会越变越小。随着递归的深入趋于「消失」,神经网络失去了长程可靠性。这在递归神经网络中是一个较普遍的问题,对于递归神经网络而言,长程可靠性尤为重要。 这一问题可通过采用 ReLu 等没有小梯度的激活函数来有效避免。 25. 梯度爆炸问题梯度爆炸问题与梯度消失问题正好相反,梯度爆炸问题中,激活函数的梯度过大。 在反向传播过程中,部分节点的大梯度使得他们的权重变得非常大,从而削弱了其他节点对于结果的影响,这个问题可以通过截断(即设置一个梯度允许的最大值)的方式来有效避免。 写在最后本文对深度学习的基本概念做出了高度的概括,希望各位在阅读这篇文章后,可以对这些概念有初步的了解。 希望你们喜欢这篇文章。 作者:Dishashree Gupta
原题:25 Must Know Terms & concepts for Beginners in Deep Learning 出处: |
|