原创译文|从神经网络说起:深度学习初学者不可不知的25个术语和概念(下)

人工智能,深度学习和机器学习,不论你现在是否能够理解这些概念,你都应该学习。否则三年内,你就会像灭绝的恐龙一样被社会淘汰。

——马克·库班(NBA小牛队老板,亿万富翁)

6) 输入层/输出层/隐藏层——顾名思义,输入层是接收输入信号的一层,也是该网络的第一层;输出层则是传递输出信号的一层,也是该网络的最后一层。

处理层则是该网络中的“隐含层”。这些“隐含层”将对输入信号进行特殊处理,并将生成的输出信号传递到下一层。输入层和输出层均是可见的,而其中间层则是隐藏起来的。

7) MLP (多层神经网络) –——MLP(多层神经网络) – 单一神经元无法执行高度复杂的任务。因此,需要大量神经元聚集在一起才能生成我们所需要的输出信号。

最简单的网络由一个输入层、一个输出层、一个隐含层组成,每一层上都有多个神经元,并且每一层上的神经元都和下一层上的神经元连接在了一起,这样的网络也被称为全互连网络(fully connected networks)。

8) 正向传播(Forward Propagation) –——正向传播指的是输入信号通过隐藏层传递到输出层的传递过程。

在正向传播中,信号仅沿单一方向向前正向传播,输入层将输入信号提供给隐藏层,隐藏层生成输出信号,这一过程中没有任何反向移动。

9) 成本函数(Cost Function) –——当我们建立一个网络后,网络将尽可能地使输出值无限接近于实际值。我们用成本函数(或损失函数)来衡量该网络完成这一过程的准确性。成本函数(或损失函数)将在该网络出错时,予以警告。

运行网络时,我们的目标是:尽可能地提高我们的预测精度、减少误差,由此最小化成本函数。最优化的输出即当成本函数(或损失函数)为最小值时的输出。

若将成本函数定义为均方误差,则可写成:

m在这里是训练输入值(training inputs),a 是预计值,y是特定事例中的实际值。

学习过程围绕着如何最小化成本。

10) 梯度下降(Gradient Descent) –——梯度下降是一种优化算法,以最小化成本。想象一下,当你下山时,你必须一小步一小步往下走,而不是纵身一跃跳到山脚。

因此,我们要做的是:比如,我们从X点开始下降,我们下降一点点,下降ΔH,到现在的位置,也就是X-ΔH,重复这一过程,直到我们到达“山脚”。“山脚”就是最低成本点。

从数学的角度来说,要找到函数的局部极小值,须采取与函数梯度负相关的“步子”,即:梯度下降法是用负梯度方向为搜索方向的,梯度下降法越接近目标值,步长越小,前进越慢。

11) 学习速率 (Learning Rate) –——学习率指每次迭代中对成本函数的最小化次数。简单来说,我们把下降到成本函数最小值的速率称为学习率。选择学习率时,我们必须非常小心,学习率既不应过大——会错过最优解,也不应过小——使网络收敛将需要很多很多步、甚至永不可能。

12) 反向传播(Back propagation) –——在定义一个神经网络的过程中, 每个节点会被随机地分配权重和偏置。

一次迭代后,我们可以根据产生的结果计算出整个网络的偏差,然后用偏差结合成本函数的梯度,对权重因子进行相应的调整,使得下次迭代的过程中偏差变小。

这样一个结合成本函数的梯度来调整权重因子的过程就叫做反向传播。在反向传播中,信号的传递方向是朝后的,误差连同成本函数的梯度从输出层沿着隐藏层传播,同时伴随着对权重因子的调整。

13) 分批 (Batches) —— 当我们训练一个神经网路时,我们不应一次性发送全部输入信号,而应把输入信号随机分成几个大小相同的数据块发送。

与将全部数据一次性送入网络相比,在训练时将数据分批发送,建立的模型会更具有一般性。

14) 周期 (Epochs) —— 一个周期表示对所有的数据批次都进行了一次迭代,包括一次正向传播和一次反向传播,所以一个周期就意味着对所有的输入数据分别进行一次正向传播和反向传播。

训练网络周期的次数是可以选择的,往往周期数越高,模型的准确性就越高,但是,耗时往往就越长。同样你还需要考虑如果周期/纪元的次数过高,那么可能会出现过拟合的情况。

15)Dropout方法 —— Dropout是一个可以阻止网络过拟合的规则化方法。就像它的名字那样,在训练过程中隐藏的某些特定神经元会被忽略掉(drop)。

这意味着网络的训练是在几个不同的结构上完成的。这种dropout的方式就像是一场合奏,多个不同结构网络的输出组合产生最终的输出结果。

来源:Hinton论文《Improving neural networks by preventing co-adaptation of featuredetectors》

地址:https://arxiv.org/pdf/1207.0580.pdf

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) 梯度爆炸问题 –——梯度爆炸问题与梯度消失问题正好相反,梯度爆炸问题中,激活函数的梯度过大。

在反向传播过程中,部分节点的大梯度使得他们的权重变得非常大,从而削弱了其他节点对于结果的影响,这个问题可以通过截断(即设置一个梯度允许的最大值)的方式来有效避免。

写在最后

希望你们喜欢这篇文章。

本文对深度学习的基本概念做出了高度的概括,希望各位在阅读这篇文章后,已对这些概念有了初步的了解。 我已尽可能地用最简单的语言来解释这些术语,如有任何疑问或纠正,请随意发表评论。

翻译:灯塔大数据

原文发布于微信公众号 - 灯塔大数据(DTbigdata)

原文发表时间:2017-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

神经网络中的激活函数具体是什么?为什么ReLu要好过于tanh和sigmoid function?

为什么引入激活函数? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少...

648100
来自专栏数据派THU

【一图看懂】计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN

原文:medium 来源:新智元 作者:Đặng Hà Thế Hiển 编译:新智元编辑部 本文长度为5000字,建议阅读8分钟 本文通过一张信息图示,讲述计...

33170
来自专栏算法channel

一文了解Word2vec之Skip-Gram训练网络的3种技术

上一篇 斯坦福大学NLP-cs224课程笔记2:词向量 介绍了 Word2vec 模型的基本思想,得到目标函数,给定中心词求上下文概率,最后还说到用 negat...

20420
来自专栏人工智能LeadAI

TensorFlow从0到1 | 第十五章 重新思考神经网络初始化

上一篇14 交叉熵损失函数——克服学习缓慢从最优化算法层面入手,将二次的均方误差(MSE)更换为交叉熵作为损失函数,避免了当出现“严重错误”时导致的学习缓慢。 ...

33980
来自专栏深度学习

神经网络相关名词解释

很多人认为深度学习很枯燥,大部分情况是因为对深度学习的学术词语,特别是专有名词很困惑,即便对相关从业者,亦很难深入浅出地解释这些词语的含义。  相信读过此文的圈...

450110
来自专栏机器之心

你是合格的机器学习数据科学家吗?来挑战这40题吧!(附解答)

选自 Analytics Vidhya 作者:ANKIT GUPTA 机器之心编译 参与:机器之心编辑部 目前机器学习是最抢手的技能之一。如果你是一名数据科学...

39390
来自专栏企鹅号快讯

一文读懂卷积神经网络CNN

来源:机器学习算法与自然语言处理 作者:白雪峰 本文为图文结合,建议阅读10分钟。 本文为大家解读如何简单明了的解释卷积,并且分享了学习中的一些方法案例。 首先...

36360
来自专栏华章科技

你是合格的机器学习数据科学家吗?来挑战这40题吧!(附解答)

目前机器学习是最抢手的技能之一。如果你是一名数据科学家,那就需要对机器学习很擅长,而不只是三脚猫的功夫。作为 DataFest 2017 的一部分,Analyt...

10520
来自专栏深度学习自然语言处理

【精华】Batch Normalization理论与实践

batch norm也可以当做调参的一部分,对于有些实验是有效果的,有些实验是几乎没啥效果,但是它的收敛速度还是很客观的,所以我们还是有必要要了解下哒!

11420
来自专栏PPV课数据科学社区

谷歌最新机器学习术语表,A/B 测试 、混淆矩阵、决策边界……都在这里了!

日前,谷歌发布机器学习术语表,以下术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。 A A/B 测试 (A/B testing) 一种...

33460

扫码关注云+社区

领取腾讯云代金券