分享

10 分钟内了解神经网络

 流形sbz 2023-10-13 发布于甘肃

什么是神经网络?

神经网络是深度学习算法的基本构建模块。神经网络是一种机器学习算法,旨在模拟人脑的行为。它由互连的节点(也称为人工神经元)组成,这些节点被组织成层。

10 分钟内了解神经网络

神经网络与机器学习有何不同?

神经网络是机器学习算法的一种,但它们在几个关键方面与传统机器学习不同。最重要的是,神经网络可以自行学习和改进,无需人工干预它直接从数据中学习特征,使其更适合大型数据集。然而,在传统的机器学习中,特征是手动提供的。

为什么要使用深度学习?

深度学习的主要优势之一是其处理大数据的能力。随着数据量的增加,传统的机器学习技术在性能和准确性方面可能变得低效。另一方面,深度学习继续表现良好,使其成为数据密集型应用程序的理想选择。

10 分钟内了解神经网络

了解结构的好处?

通过分析神经网络的结构,可以找到优化它以获得更好性能的方法。例如,可以调整层数或节点数,或者调整网络处理输入数据的方式。还可以开发更适合分析医学图像或预测股票市场的神经网络。如果知道网络中的哪些节点针对特定输入被激活,就可以更好地理解网络如何做出决策或预测。

神经网络如何工作?

每个神经元代表一个计算单元,它接受一组输入,执行一组计算,并产生传递到下一层的输出。就像我们大脑中的神经元一样,神经网络中的每个节点都会接收输入,对其进行处理,然后将输出传递到下一个节点。当数据在网络中移动时,节点之间的连接会加强或减弱,具体取决于数据中的模式。这使得网络能够从数据中学习,并根据所学到的知识做出预测或决策。

设想一个 28 x 28 的网格,其中的数字以某些像素比其他像素更暗的方式绘制。通过识别较亮的像素,我们可以破译网格上写的数字。该网格用作神经网络的输入。

10 分钟内了解神经网络

每个神经元对应于输入图像中的单个像素,每个神经元内的值表示该像素的激活或强度。神经网络的输入层负责接收原始数据(在本例中为图像)并将其转换为网络其余部分可以处理的格式。本例中,我们有 28x28 输入像素,这使得输入层中总共有 784 个神经元。每个神经元的激活值分别为 0 或 1,具体取决于输入图像中相应像素是黑色还是白色。

10 分钟内了解神经网络

在本例中,神经网络的输出层由 10 个神经元组成,每个神经元代表一个可能的输出类别(在本例中为数字 0 到 9)。输出层中每个神经元的输出表示输入图像属于该特定类别的概率。最高概率值确定该输入图像的预测类别。

隐藏层

在输入层和输出层之间,有一个或多个隐藏层,它们对输入数据执行一系列非线性变换。这些隐藏层的目的是从输入数据中提取对当前任务更有意义的高级特征。

10 分钟内了解神经网络

隐藏层中的每个神经元接收来自前一层中所有神经元的输入,并在将结果传递给非线性激活函数之前对这些输入应用一组权重和偏差。在隐藏层中的所有神经元上重复此过程,直到到达输出层。

前向传播

前向传播是输入数据通过神经网络生成输出的过程。它涉及通过将权重和偏差应用于输入并将结果传递给激活函数来计算网络每层中每个神经元的输出。

数学方程:

y = g (wo + Sigma xi.wi) 或 y = g (wo + Xt.W)

其中y是神经网络的输出,g是非线性激活函数,xi指第 i 个输入特征或输入变量,wi是与第 i 个输入特征或变量相关的权重,wo是偏差项,是添加到输入的线性组合中的常数值。

反向传播

10 分钟内了解神经网络

反向传播是一种用于训练神经网络的流行算法。它涉及计算梯度,它是损失函数相对于网络中每个权重的变化的度量。损失函数衡量神经网络对于给定输入预测正确输出的能力。通过计算损失函数的梯度,反向传播允许神经网络以减少训练期间总体误差或损失的方式更新其权重。

该算法的工作原理是将输出层的误差传播回网络各层,使用微积分的链式法则计算损失函数相对于每个权重的梯度。然后将该梯度用于梯度下降优化,以更新权重并最小化损失函数。

神经网络中使用的术语

10 分钟内了解神经网络
  • 神经网络的训练是根据输入数据和期望输出调整神经网络权重的过程,以提高网络预测的准确性。
  • 权重:权重是指训练过程中学习到的参数,它们决定神经元之间连接的强度。神经元之间的每个连接都分配有一个权重,该权重乘以神经元的输入值以确定其输出。
  • 偏差:偏差是另一个学习参数,它被添加到给定层中神经元的输入的加权和中。它是神经元的额外输入,有助于调整激活函数的输出。
  • 非线性激活函数:将非线性激活函数应用于神经元的输出,以将非线性引入网络。非线性很重要,因为它允许网络对输入和输出之间复杂的非线性关系进行建模。神经网络中常用的激活函数包括 sigmoid 函数、ReLU(整流线性单元)函数和 softmax 函数。
  • 损失函数:这是一个数学函数,衡量神经网络的预测输出与真实输出之间的误差或差异。经验损失衡量整个数据集的总损失。交叉熵损失通常用于输出 0 到 1 之间概率的模型,而均方误差损失则用于输出连续实数的回归模型。目标是最小化训练期间的损失函数,以提高网络预测的准确性。
  • 损失优化:这是最小化神经网络在进行预测时产生的错误或损失的过程。这是通过调整网络权重来完成的。
  • 梯度下降:这是一种用于寻找函数最小值的优化算法,例如神经网络的损失函数。它涉及在损失函数的负梯度方向上迭代调整权重。这个想法是不断地向减少损失的方向移动权重,直到达到最小值。

用现实生活中的例子来记住这些术语

1.考虑这样一个场景:一家公司希望通过销售产品来最大化利润。他们可能有一个模型,可以根据价格、营销支出等各种因素来预测利润。偏差可以指影响产品利润的任何固定因素,但与价格或营销支出没有直接关系。例如,如果产品是季节性产品,则可能会在一年中的某些时间段偏向更高的利润。实际利润与预测利润之间的差额就是损失函数梯度下降涉及计算损失函数相对于每个输入特征的梯度,并使用该梯度迭代地调整特征值,直到找到最优值,并且涉及找到输入特征的最优值以最小化损失函数的过程为损失优化。利润预测模型可以使用非线性激活函数将输入特征(例如价格、营销支出)转换为预测利润值。该函数可用于引入输入特征和输出利润之间的非线性关系。

2.想象一下,您正在玩一款视频游戏,您是一个试图到达目的地的角色,但您只能在两个维度上移动(向前/向后和向左/向右)。你知道目的地的确切坐标,但不知道如何到达那里。您的目标是找到到达目的地的最短路径。在这种情况下,损失函数可能是您当前位置和目的地之间的距离。损失函数的梯度是朝向目的地的最陡坡度的方向和大小,您可以使用它来调整您的运动并更接近目的地。当您接近目的地时,损失函数会减小(因为您越来越接近目标),并且梯度也会相应变化。通过反复使用渐变来调整你的动作,

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多