您的位置 首页 嵌入式

深度学习入门有必要了解这25个概念

神经网络基础1、神经元(Neuron)——就像形成我们大脑基本元素的神经元一样,神经元形成神经网络的基本结构。想象一下,当我们得到新信息时我们该怎么做。当我们获取信息时,我们一般会处理它,然后

  神经网络根底

  1、神经元(Neuron)——就像构成咱们大脑根本元素的神经元相同,神经元构成神经网络的根本结构。幻想一下,当咱们得到新信息时咱们该怎么做。当咱们获取信息时,咱们一般会处理它,然后生成一个输出。相似地,在神经网络的情况下,神经元接纳输入,处理它并发生输出,而这个输出被发送到其他神经元用于进一步处理,或许作为终究输出进行输出。

    

 

  2、权重(Weights)——当输入进入神经元时,它会乘以一个权重。例如,假如一个神经元有两个输入,则每个输入将具有分配给它的一个相关权重。咱们随机初始化权重,并在模型练习进程中更新这些权重。练习后的神经网络对其输入赋予较高的权重,这是它以为与不那么重要的输入比较更为重要的输入。为零的权重则表明特定的特征是微乎其微的。

  让咱们假定输入为 a,而且与其相相关的权重为 W1,那么在经过节点之后,输入变为 a *W1。

    

 

  3、差错(Bias)——除了权重之外,另一个被运用于输入的线性重量被称为差错。它被加到权重与输入相乘的成果中。根本上增加差错的意图是来改动权重与输入相乘所得成果的规模的。增加差错后,成果将看起来像 a* W1 差错。这是输入改换的终究线性重量。

  4、激活函数(Activation Function)——一旦将线性重量运用于输入,将会需求运用一个非线性函数。这经过将激活函数运用于线性组合来完结。激活函数将输入信号转换为输出信号。运用激活函数后的输出看起来像 f(a *W1+ b),其间 f()便是激活函数。

  鄙人图中,咱们将"n"个输入给定为 X1 到 Xn 而与其相应的权重为 Wk1 到 Wkn。咱们有一个给定值为 bk 的差错。权重首要乘以与其对应的输入,然后与差错加在一同。而这个值叫做 u。

  U =ΣW*X +b

  激活函数被运用于 u,即 f(u),而且咱们会从神经元接纳终究输出,如 yk = f(u)。

    

 

  常用的激活函数

  最常用的激活函数便是 Sigmoid,ReLU 和 softmax

  (a)Sigmoid——最常用的激活函数之一是 Sigmoid,它被界说为:

  sigmoid(x)=1/(1+e -x )

    

 

  Sigmoid 改换发生一个值为 0 到 1 之间更滑润的规模。咱们或许需求调查在输入值略有改动时输出值中发生的改动。润滑的曲线使咱们能够做到这一点,因而优于阶跃函数。

  (b)ReLU(整流线性单位)——与 Sigmoid 函数不同的是,最近的网络更喜爱运用 ReLu 激活函数来处理躲藏层。该函数界说为:

  f(x)=max(x,0)

  当 X>0 时,函数的输出值为 X;当 X<=0 时,输出值为 0。函数图如下图所示:

    

 

  运用 ReLU 函数的最主要的长处是关于大于 0 的一切输入来说,它都有一个不变的导数值。常数导数值有助于网络练习进行得更快。

  (c) Softmax——Softmax 激活函数一般用于输出层,用于分类问题。它与 sigmoid 函数是很相似的,仅有的差异便是输出被归一化为总和为 1。Sigmoid 函数将发挥作用以防咱们有一个二进制输出,可是假如咱们有一个多类分类问题,softmax 函数使为每个类分配值这种操作变得适当简略,而这能够将其解释为概率。

  以这种方法来操作的话,咱们很简略看到——假定你正在测验辨认一个或许看起来像 8 的 6。该函数将为每个数字分配值如下。咱们能够很简略地看出,最高概率被分配给 6,而下一个最高概率分配给 8,依此类推……

    

 

  5、神经网络(Neural Network)——神经网络构成了深度学习的支柱。神经网络的方针是找到一个不知道函数的近似值。它由彼此联络的神经元构成。这些神经元具有权重和在网络练习期间依据过错来进行更新的差错。激活函数将非线性改换置于线性组合,而这个线性组合稍后会生成输出。激活的神经元的组合会给出输出值。

  一个很好的神经网络界说:

  "神经网络由许多彼此相关的概念化的人工神经元组成,它们之间传递彼此数据,而且具有依据网络"经历"调整的相关权重。神经元具有激活阈值,假如经过其相关权重的组合和传递给他们的数据满意这个阈值的话,其将被辞退;发射神经元的组合导致"学习"。

  6、输入/输出/躲藏层(Input / Output / Hidden Layer)——正如它们姓名所代表的那样,输入层是接纳输入那一层,本质上是网络的第一层。而输出层是生成输出的那一层,也能够说是网络的终究层。处理层是网络中的躲藏层。这些躲藏层是对传入数据履行特定使命并将其生成的输出传递到下一层的那些层。输入和输出层是咱们可见的,而中间层则是躲藏的。

    

 

  7、MLP(多层感知器)——单个神经元将无法履行高度杂乱的使命。因而,咱们运用仓库的神经元来生成咱们所需求的输出。在最简略的网络中,咱们将有一个输入层、一个躲藏层和一个输出层。每个层都有多个神经元,而且每个层中的一切神经元都衔接到下一层的一切神经元。这些网络也能够被称为彻底衔接的网络。

    

 

  8、正向传达(Forward Propagation)——正向传达是指输入经过躲藏层到输出层的运动。在正向传达中,信息沿着一个单一方向行进。输入层将输入提供给躲藏层,然后生成输出。这进程中是没有反向运动的。

  9、本钱函数(Cost Function)——当咱们树立一个网络时,网络企图将输出猜测得尽或许接近实践值。咱们运用本钱/丢失函数来衡量网络的准确性。而本钱或丢失函数会在发生过错时测验赏罚网络。

  咱们在运转网络时的方针是进步咱们的猜测精度并削减差错,然后最大极限地降低本钱。最优化的输出是那些本钱或丢失函数值最小的输出。

  假如我将本钱函数界说为均方差错,则能够写为:

  C= 1/m ∑(y–a)^2,

  其间 m 是练习输入的数量,a 是猜测值,y 是该特定示例的实践值。

  学习进程环绕最小化本钱来进行。

  10、梯度下降(Gradient Descent)——梯度下降是一种最小化本钱的优化算法。要直观地想一想,在爬山的时分,你应该会采纳小过程,一步一步走下来,而不是一会儿跳下来。因而,咱们所做的便是,假如咱们从一个点 x 开端,咱们向下移动一点,即Δh,并将咱们的方位更新为 x-Δh,而且咱们持续坚持一致,直到到达底部。考虑最低本钱点。

    

 

  在数学上,为了找到函数的部分最小值,咱们一般采纳与函数梯度的负数成份额的步长。

  11、学习率(Learning Rate)——学习率被界说为每次迭代中本钱函数中最小化的量。简略来说,咱们下降到本钱函数的最小值的速率是学习率。咱们应该十分细心地挑选学习率,由于它不应该是十分大的,以至于最佳处理方案被错失,也不应该十分低,以至于网络需求交融。

    

 

  12、反向传达(Backpropagation)——当咱们界说神经网络时,咱们为咱们的节点分配随机权重和差错值。一旦咱们收到单次迭代的输出,咱们就能够计算出网络的过错。然后将该过错与本钱函数的梯度一同反馈给网络以更新网络的权重。 终究更新这些权重,以便削减后续迭代中的过错。运用本钱函数的梯度的权重的更新被称为反向传达。

  在反向传达中,网络的运动是向后的,过错跟着梯度从外层经过躲藏层流回,权重被更新。

  13、批次(Batches)——在练习神经网络的一起,不必一次发送整个输入,咱们将输入分红几个随机巨细持平的块。与整个数据集一次性馈送到网络时树立的模型比较,批量练习数据使得模型愈加广义化。

  14、周期(Epochs)——周期被界说为向前和向后传达中一切批次的单次练习迭代。这意味着 1 个周期是整个输入数据的单次向前和向后传递。

  你能够挑选你用来练习网络的周期数量,更多的周期将显示出更高的网络准确性,可是,网络交融也需求更长的时刻。别的,你有必要留意,假如周期数太高,网络或许会过度拟合。

  15、丢掉(Dropout)——Dropout 是一种正则化技能,可避免网络过度拟合套。望文生义,在练习期间,躲藏层中的必定数量的神经元被随机地丢掉。这意味着练习发生在神经网络的不同组合的神经网络的几个架构上。你能够将 Dropout 视为一种归纳技能,然后将多个网络的输出用于发生终究输出。

    

 

  16、批量归一化(Batch Normalization)——作为一个概念,批量归一化能够被以为是咱们在河流中设定为特定检查点的塘坝。这样做是为了保证数据的分发与期望取得的下一层相同。当咱们练习神经网络时,权重在梯度下降的每个过程之后都会改动,这会改动数据的形状怎么发送到下一层。

    

 

  可是下一层预期散布相似于之前所看到的散布。 所以咱们在将数据发送到下一层之前明晰规范化数据。

    

 

  卷积神经网络

  17、滤波器(Filters)——CNN 中的滤波器与加权矩阵相同,它与输入图画的一部分相乘以发生一个回旋输出。咱们假定有一个巨细为 28 28 的图画,咱们随机分配一个巨细为 3 3 的滤波器,然后与图画不同的 3 * 3 部分相乘,构成所谓的卷积输出。滤波器尺度一般小于原始图画尺度。在本钱最小化的反向传达期间,滤波器值被更新为重量值。

  参阅一下下图,这儿 filter 是一个 3 * 3 矩阵:

    

 

  与图画的每个 3 * 3 部分相乘以构成卷积特征。

    

 

  18、卷积神经网络(CNN)——卷积神经网络根本上运用于图画数据。假定咱们有一个输入的巨细(28 28 3),假如咱们运用正常的神经网络,将有 2352(28 28 3)参数。而且跟着图画的巨细增加参数的数量变得十分大。咱们"卷积"图画以削减参数数量(如上面滤波器界说所示)。当咱们将滤波器滑动到输入体积的宽度和高度时,将发生一个二维激活图,给出该滤波器在每个方位的输出。咱们将沿深度尺度堆叠这些激活图,并发生输出量。

  你能够看到下面的图,以取得更明晰的形象。

    

 

  19、池化(Pooling)——一般在卷积层之间定时引进池层。这根本上是为了削减一些参数,并避免过度拟合。最常见的池化类型是运用 MAX 操作的滤波器尺度(2,2)的池层。它会做的是,它将占用原始图画的每个 4 * 4 矩阵的最大值。

    

 

  你还能够运用其他操作(如均匀池)进行池化,可是最大池数量在实践中体现更好。

  20、填充(Padding)——填充是指在图画之间增加额定的零层,以使输出图画的巨细与输入相同。这被称为相同的填充。

    

 

  在运用滤波器之后,在相同填充的情况下,卷积层具有等于实践图画的巨细。

  有用填充是指将图画坚持为具有实践或"有用"的图画的一切像素。在这种情况下,在运用滤波器之后,输出的长度和宽度的巨细在每个卷积层处不断减小。

  21、数据增强(Data Augmentation)——数据增强是指从给定数据导出的新数据的增加,这或许被证明对猜测有利。例如,假如你使光线变亮,或许更简略在较暗的图画中看到猫,或许例如,数字辨认中的 9 或许会略微歪斜或旋转。在这种情况下,旋转将处理问题并进步咱们的模型的准确性。经过旋转或增亮,咱们正在进步数据的质量。这被称为数据增强。

    

 

  循环神经网络

    

 

  22、循环神经元(Recurrent Neuron)——循环神经元是在 T 时刻内将神经元的输出发送回给它。假如你看图,输出将回来输入 t 次。打开的神经元看起来像衔接在一同的 t 个不同的神经元。这个神经元的根本长处是它给出了更广义的输出。

  23、循环神经网络(RNN)——循环神经网络特别用于次序数据,其间从前的输出用于猜测下一个输出。在这种情况下,网络中有循环。躲藏神经元内的循环使他们能够存储有关前一个单词的信息一段时刻,以便能够猜测输出。躲藏层的输出在 t 时刻戳内再次发送到躲藏层。打开的神经元看起来像上图。只要在完结一切的时刻戳后,循环神经元的输出才干进入下一层。发送的输出更广泛,曾经的信息保存的时刻也较长。

  然后依据打开的网络将过错反向传达以更新权重。这被称为经过时刻的反向传达(BPTT)。

  24、消失梯度问题(Vanishing Gradient Problem)——激活函数的梯度十分小的情况下会呈现消失梯度问题。在权重乘以这些低梯度时的反向传达进程中,它们往往变得十分小,而且跟着网络进一步深化而"消失"。这使得神经网络忘记了长距离依靠。这对循环神经网络来说是一个问题,长时间依靠关于网络来说是十分重要的。

  这能够经过运用不具有小梯度的激活函数 ReLu 来处理。

  25、激增梯度问题(Exploding Gradient Problem)——这与消失的梯度问题彻底相反,激活函数的梯度过大。在反向传达期间,它使特定节点的权重相关于其他节点的权重十分高,这使得它们不重要。这能够经过剪切梯度来轻松处理,使其不超越必定值。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/313086.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部