在深入计算机术语之前,理解神经网络在日常生活中的作用非常重要。“神经”这个词来源于“神经元”,指的是一个单独的神经细胞。没错——神经网络仅仅是一组执行日常生活中例行任务的神经元。模式识别、物体识别和智能都在解决每天面临的困难中扮演着重要角色。虽然这些反射执行得如此轻松,以至于没有意识到它们,但实际上它们很难自动化。例如:孩子们记住苹果的外观;动物识别其母亲或主人;感知物体的温度。这些复杂的计算都是由神经网络完成的。人类现在已经开发出一种计算系统,能够以类似于神经系统的方式执行。这些被称为人工神经网络(ANN)。虽然最初使用ANN来处理简单任务,但计算能力的提高使能够开发出更强大的神经网络架构,能够解决更复杂的问题。在接下来的部分,将更详细地讨论ANN。
人工神经网络,或称ANN,是一个多层、全连接的神经网络,由输入层、隐藏层和输出层组成。ANN如下图所示。如果仔细观察,会发现每一层的每个节点都与它上面和下面的层的每个节点相连。随着隐藏层数量的增加,网络变得更深。考虑输出层或隐藏层中单个节点的外观。如所见,该节点接收大量的输入。它将所有权重相加,并通过非线性激活函数输出总和。这个节点的输出成为下一层节点的输入。重要的是要记住,信号总是从左到右移动。一旦所有节点都遵循了协议,就会提供最终结果。节点的方程如下所示。在上述方程中,b表示偏置。它作为所有节点的输入,始终设置为1。偏置使激活函数的结果可以向左或向右移动。了解更多关于人工神经网络的信息,请访问这里。
让来看一下在谈到人工神经网络模型时应该熟悉的一些基本术语。输入:从源提供给神经网络的初始数据称为输入。它的目的是为网络提供数据,以便它能够对它接收的信息做出判断或预测。在大多数情况下,神经网络模型接收实值输入,这些输入应该提供给输入层的神经元。训练集:训练集是已知正确输出的输入。这些被用来帮助神经网络训练和记忆给定的输入集。输出:根据它接收的输入,每个神经网络都会产生一个预测或判断。可以用一组整数或布尔判断来表示这个输出。输出层的一个神经元负责生成输出值。神经元:神经元,也称为感知器,是神经网络的基本单位。它接收一个输入值,并根据该值输出一个值。如前所述,每个神经元接收一部分输入,并通过非线性激活函数将其传输到下一层的节点。TanH、sigmoid或ReLu激活函数都是可能的。这些函数的非线性有助于网络训练。权重空间:每个神经元都有一个独特的数值权重。当它将数据传输到另一个节点时,它的权重会加到其他节点的权重上,形成输出。通过训练神经网络来调整这些权重。权重微调有助于确定最佳权重和偏置集合。这就是反向传播概念发挥作用的地方。
反向传播是有效确定需要对权重进行的微小修改以减少网络损失的方法之一。最初,激活应该向上或以前馈方式传输。现在,成本函数的导数必须向下或以另一种方式传输。通过这种方法,可以计算每个权重的部分成本导数。然后可以计算与修改相关的成本节省。
通过反向传播,错误在人工神经网络中向后传播。为了以迭代的方式训练人工神经网络,这种方法被标准化。通过反向传播微调神经网络的权重,这减少了错误并提高了系统的准确性和可靠性。使用这种方法很容易实现。不需要知道任何关于神经网络的信息就可以使用这个策略。它不会做任何事情,只是微调系统已经给出的数字,不需要进一步的配置。
因此,许多软件开发人员不支持神经网络模型,因为他们认为它效率低下,特别是考虑到需要多轮才能找到最具成本效益的解决方案。有许多现代技术需要的调整比以往方法少得多,以创建一个正确的模型,例如Hinton的胶囊网络和胶囊神经网络。因此,神经网络很可能会有一个漫长而繁荣的未来。
如果觉得这很有趣,可以通过以下方式联系: