TensorFlow 中的人工神经网络2025年03月17日 | 阅读 9 分钟 神经网络或人工神经网络 (ANN) 的模型与人脑相同。人脑有思考和分析特定情况下任何任务的能力。 但机器如何像这样思考呢?为此,设计了一个称为神经网络的人工大脑。神经网络由许多感知器组成。 感知器是单层神经网络。它是一个二元分类器,属于监督学习。在人工神经网络中,生物神经元的简单模型称为感知器。 人工神经元有输入和输出。 ![]() 数学上感知器模型的表示。 ![]() 人脑有神经元传递信息,同样,神经网络有节点执行相同的任务。节点是数学函数。 神经网络基于生物神经网络的结构和功能。神经网络本身会根据输入和输出来改变或学习。流经系统的信息会影响人工神经网络的结构,因为它的学习和改进特性。 神经网络也被定义为 一个由几个简单、高度互连的处理单元组成的计算系统,它们通过对外部输入的动态状态响应来处理信息. 神经网络可以由多个感知器组成。有三层:
![]() 人工神经网络的类型神经网络的工作方式与人类神经系统功能相同。有几种类型的神经网络。这些网络的实现基于用于确定输出的参数集和数学运算。 ![]() 前馈神经网络 (人工神经元)FNN是 ANN 最纯粹的形式,其中输入和数据仅在一个方向上传输。数据仅向前流动;这就是为什么它被称为前馈神经网络。数据通过输入节点,然后从输出节点退出。节点没有循环连接。它不需要隐藏层。在 FNN 中,不需要有多个层。它也可以只有一层。 ![]() 它具有通过分类激活函数实现的前向传播。所有其他类型的神经网络都使用反向传播,但 FNN 不能。在 FNN 中,计算输入和权重的乘积之和,然后将其馈送到输出。人脸识别和计算机视觉等技术使用 FNN。 径向基函数神经网络RBFNN找到一个点到中心的距离,并认为它工作平滑。RBF 神经网络有两个层。在内层,特征与径向基函数结合。特征提供了一个用于考虑的输出。可以使用欧几里得距离以外的其他度量。 ![]() 径向基函数
径向函数=Φ(r) = exp (- r2/2σ2),其中 σ > 0 这种神经网络用于电力恢复系统。当今电力系统规模和复杂性不断增加。这两个因素都增加了发生大范围停电的风险。停电后,需要尽快可靠地恢复电力。 ![]() 多层感知器多层感知器有三层或更多层。无法线性分离的数据使用此网络进行分类。该网络是全连接网络,这意味着每个节点都与下一层的所有其他节点连接。多层感知器中使用非线性激活函数。它的输入和输出层节点以有向图的形式连接。这是一种深度学习方法,因此它使用反向传播来训练网络。它广泛应用于语音识别和机器翻译技术。 ![]() 卷积神经网络在图像分类和图像识别中,卷积神经网络起着至关重要的作用,或者我们可以说它是这些领域的主要类别。人脸识别、物体检测等是 CNN 广泛应用的领域。它与 FNN 类似,神经元中包含可学习的权重和偏置。 CNN 以图像作为输入,该图像被分类并处理到特定类别,例如狗、猫、狮子、老虎等。如我们所知,计算机将图像视为像素,并取决于图片的分辨率。根据图像分辨率,它会看到 h * w * d,其中 h=高度 w=宽度 d=维度。例如,RGB 图像是 6 * 6 * 3 的矩阵数组,灰度图像是 4 * 4 * 3 的模式数组。 在 CNN 中,每个输入图像都将通过一系列卷积层、池化层、全连接层、滤波器(也称为卷积核)。并应用 Soft-max 函数来以 0 和 1 的概率值对物体进行分类。 ![]() 循环神经网络循环神经网络基于预测。在此神经网络中,特定层的输出被保存并反馈到输入。这将有助于预测该层的输出。在循环神经网络中,第一层与 FNN 的层以相同方式形成,在后续层中,循环神经网络过程开始。 输入和输出彼此独立,但在某些情况下,需要预测句子的下一个单词。 那么它将取决于句子的前一个单词。RNN 以其主要和最重要的特征而闻名,即隐藏状态。隐藏状态会记住序列的信息。 ![]() RNN 具有存储计算后结果的内存。RNN 在所有隐藏层或数据上使用相同的参数执行相同的任务来产生输出。与其他神经网络不同,RNN 参数复杂度较低。 模块化神经网络在模块化神经网络中,几个不同的网络在功能上是独立的。在 MNN 中,任务被分解为子任务,并由几个系统执行。在计算过程中,网络之间不直接通信。所有接口都独立工作以实现输出。组合网络比平面和无限制的网络更强大。中间件获取每个系统的输出,处理它们以产生最终输出。 ![]() 序列到序列网络它由两个循环神经网络组成。在这里,编码器处理输入,解码器处理输出。编码器和解码器可以使用相同或不同的参数。 序列到序列模型应用于聊天机器人、机器翻译和问答系统。 人工神经网络的组成部分神经元神经元类似于生物神经元。神经元只不过是激活函数。人工神经元或激活函数在执行分类任务时具有“开启”特性。我们可以说,当输入大于特定值时;输出应该改变状态,即从 0 到 1,-1 到 1 等。Sigmoid 函数是人工神经网络中常用的激活函数。 F (Z) = 1/1+EXP (-Z) 节点生物神经元以分层网络连接,其中一些神经元的输出是其他神经元的输入。这些网络表示为互连的节点层。每个节点接收多个加权输入,并将它们应用于神经元以对这些输入的总和进行求和并生成输出。 ![]() 偏见在神经网络中,我们根据给定的输入 (x) 预测输出 (y)。我们创建一个模型,即 (mx + c),它有助于我们预测输出。当我们训练模型时,它会自己找到常量 m 和 c 的适当值。 常量 c 是偏置。偏置以这样一种方式帮助模型,即它可以最好地拟合给定数据。我们可以说偏置赋予了自由度以发挥最佳水平。 算法神经网络需要算法。生物神经元具有自我理解和工作能力,但人工神经元如何以相同的方式工作呢?为此,有必要训练我们的人工神经网络。为此,有许多算法被使用。每种算法都有不同的工作方式。 有五种算法用于训练我们的 ANN
梯度下降梯度下降算法也称为最速下降算法。它是最直接的算法,需要梯度向量的信息。GD 算法是一种一阶方法。 为简单起见,我们将ƒ(w(i)) 表示为ƒ(i),将∇ƒ(w(i)) 表示为g(i)。该方法从 w(0) 开始,并沿着训练方向d(i)=-g(i)从w(i)移动到w(i+1),直到满足停止准则。 所以梯度下降法迭代方式如下。 w(i+1) = w(i) - g(i)n(i)。 牛顿法牛顿法是一种二阶算法。它使用黑塞矩阵。其主要任务是利用损失函数的二阶导数找到更好的训练方向。 牛顿法迭代如下。 w(i+1) = w(i) - H(i)-1.g(i)对于 i = 0, 1..... 这里,H(i)-1.g(i) 称为牛顿步。参数的变化可能趋向于最大值而不是最小值。下面是使用牛顿法训练神经网络的图示。通过获得训练方向和合适的训练速率来改进参数。 共轭梯度共轭梯度介于梯度下降和牛顿法之间。共轭梯度避免了牛顿法所需的与黑塞矩阵的评估、求逆以及存储相关的计算量。 在 CG 算法中,搜索在共轭方向上进行,这比梯度下降方向具有更快的收敛速度。训练是在关于黑塞矩阵的共轭方向上进行的。通过计算共轭训练方向,然后在该方向上进行适当的训练速率来改进参数。 ![]() 拟牛顿法牛顿法的应用在计算方面成本很高。计算黑塞矩阵需要许多操作。为了解决这个缺点,开发了拟牛顿法。它也被称为可变矩阵方法。在算法的每次迭代中,它会建立一个逆黑塞矩阵的近似值,而不是直接计算黑塞矩阵。利用损失函数的一阶导数信息来计算近似值。 通过获得拟牛顿训练方向,然后找到令人满意的训练速率来改进参数。 ![]() Levenberg MarquardtLevenberg Marquardt 也称为阻尼最小二乘法。该算法专门设计用于处理损失函数。该算法不计算黑塞矩阵。它使用雅可比矩阵和梯度向量。 在 Levenberg Marquardt 中,第一步是找到损失、梯度和黑塞矩阵的近似值,然后调整阻尼参数。 人工神经网络的优点和缺点ANN 的优点
ANN 的缺点
下一主题神经网络的实现 |
我们请求您订阅我们的新闻通讯以获取最新更新。