什么是神经网络?

什么是神经网络?

神经网络是一种机器学习程序或模型,它以类似于人脑的方式做出决策,通过使用模仿生物神经元协同工作方式的过程来识别现象、权衡利弊并得出结论。

每个神经网络都由多个节点层或人工神经元组成 – 一个输入层、一个或多个隐藏层和一个输出层。每个节点都与其他节点相连,具有一个关联的权重和阈值。如果任何单个节点的输出高于指定的阈值,那么该节点将被激活,并将数据发送到网络的下一层。否则,不会将数据传递到网络的下一层。

神经网络依靠训练数据来学习并随着时间的推移提高其准确性。一旦对其准确性进行微调,它们就会成为计算机科学和人工智能领域的强大工具,可高速进行数据分类和聚类。与人类专家的人工识别相比,人工智能进行语音识别或图像识别只需几分钟,而人工识别则需要几小时。神经网络最著名的例子之一就是 Google 的搜索算法。

神经网络有时被称为人工神经网络 (ANN) 或模拟神经网络 (SNN)。它们是机器学习的一个子集,是深度学习模型的核心。

专家为您带来最新的 AI 趋势

谢谢!您已订阅。

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明

神经网络如何工作?

将每个单独的节点视为其自己的线性回归模型,由输入数据、权重、偏置(或阈值)和输出组成。公式如下所示:

∑wixi + 偏置 = w1x1 + w2x2 + w3x3 + bias

如果 Σw1x1 + b>= 0,则输出 = f(x) = 1;如果 Σw1x1 + b < 0,则输出为 0

一旦确定了输入层,就会分配权重。这些权重有助于确定任何给定变量的重要性,与其他输入相比,较大的权重对输出的贡献更大。然后将所有输入乘以各自的权重,再求和。之后,输出通过激活函数传递,该函数决定着输出。如果该输出值超过给定阈值,将“触发”(或激活)节点,并将数据传递到网络中的下一层。结果是一个节点的输出成为下一个节点的输入。这种将数据从一层传递到下一层的过程将该神经网络定义为前馈网络。

让我们用二进制数值来分析一下单个节点可能是什么样子。我们可以把这个概念应用到一个更具体的例子中,比如你是否应该去冲浪(是:1,否:0)。去还是不去的决定是我们的预期结果,或者 y-hat。假设有三个因素影响着你的决策:

  1. 海浪状况好吗?(是:1,否:0)
  2. 排队人多吗?(是:1,否:0)
  3. 最近发生过鲨鱼袭击事件吗?(是:0,否:1)

那么,我们假设以下情况,给出以下输入:

  • X1 = 1,因为海浪状况良好
  • X2 = 0,因为人群已散去
  • X3 = 1,因为最近没有发生鲨鱼袭击事件

现在,我们需要分配一些权重来确定各项的重要性。权重越大表示特定变量对决策或结果越重要。

  • W1 = 5,因为不经常出现大浪
  • W2 = 2,因为你已经习惯了有很多人
  • W3 = 4,因为你害怕鲨鱼

最后,我们还将假设阈值为 3,这将转换为偏置值 –3。有了各项输入后,我们可以开始将值代入公式以获得所需的输出。

Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6

如果我们使用本节开头的激活函数,就可以确定该节点的输出为 1,因为 6 大于 0。在这种情况下,你会去冲浪;但如果我们调整权重或阈值,就可以从模型中获得不同的结果。当我们观察一个决策时,就像上面的例子一样,我们可以看到神经网络如何根据先前决策或层的输出做出越来越复杂的决策。

在上面的例子中,我们使用感知器来说明其中的一些数学原理,但神经网络利用了 sigmoid 神经元,它们的特点是值在 0 到 1 之间。由于神经网络的行为类似于决策树,数据从一个节点级联到另一个节点,使得 x 值在 0 到 1 之间可减少单个变量的任何给定变化对任何给定节点的输出的影响,从而减少对神经网络输出的影响。

当我们开始考虑神经网络的更多实际用例时,例如图像识别或分类,我们将利用监督学习或标记数据集来训练算法。当我们训练模型时,我们需要使用成本(或损失)函数来评估其准确性。这通常也称为均方误差 (MSE)。在下面的等式中,

  • i 代表样本索引、
  • y-hat 是预测结果,
  • y 是实际值,
  • m 是样本数。

𝐶𝑜𝑠𝑡 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛= 𝑀𝑆𝐸=1/2𝑚 ∑129_(𝑖=1)^𝑚▒(𝑦 ̂^((𝑖) )−𝑦^((𝑖) ) )^2

最终,我们的目标是使成本函数最小化,以确保任何给定观测数据的拟合正确性。随着模型调整其权重和偏置,它使用成本函数和强化学习来达到收敛点或局部最小值。算法调整权重的过程是通过梯度下降,让模型确定减少误差(或最小化成本函数)的方向。对于每个训练示例,模型的参数都会进行调整,以逐渐收敛到最小值。

请参阅这篇 IBM Developer 文章,深入了解神经网络中涉及的定量概念

大多数深度神经网络都是前馈网络,这意味着它们仅沿一个方向从输入流向输出。但是,你也可以通过反向传播来训练模型,也就是说,从输出到输入反方向移动。通过反向传播,我们可以计算并确定与每个神经元相关的误差,从而对模型参数进行适当的调整和拟合。

神经网络的类型

神经网络可分为不同类型,不同的神经网络用于不同目的。尽管这不是一个全面的类型列表,但以下列出的神经网络类型代表了最常见的应用案例。

感知器是最古老的神经网络,由 Frank Rosenblatt 在 1958 年创建。

前馈神经网络或多层感知器 (MLP) 是本文的主要研究对象。它们由一个输入层、一个或多个隐藏层和一个输出层组成。虽然这些神经网络通常也被称为 MLP,但重要的是,要注意它们实际上由 sigmoid 神经元而不是感知器组成,因为大多数现实世界的问题都是非线性的。数据通常被输入到这些模型中进行训练,它们是计算机视觉、自然语言处理和其他神经网络的基础。

卷积神经网络 (CNN) 与前馈网络类似,但它们通常用于图像识别、模式识别和/或计算机视觉。这些网络利用线性代数,尤其是矩阵乘法的原理来识别图像中的模式。

循环神经网络 (RNN) 可通过其反馈循环来识别。这些学习算法主要用于使用时间序列数据对未来结果进行预测,例如股票市场预测或销售预测。

神经网络与深度学习

在日常对话中,“深度学习”和“神经网络”这两个术语往往会交替使用,这可能会造成混淆。因此,值得注意的是,深度学习中的“深度”仅指神经网络中层的深度。一个由超过三层(包括输入层和输出层)构成的神经网络可以被视为一个深度学习算法。只有两层或三层的神经网络只是一个基本的神经网络。

要深入了解神经网络与其他形式的人工智能(如机器学习)之间的差异,请阅读博客文章“人工智能、机器学习、深度学习、神经网络:有什么区别?

神经网络的历史

神经网络的历史比大多数人想象的要长。虽然“会思考的机器”的概念可以追溯到古希腊时期,但我们将重点关注带来神经网络认知演进的关键事件,多年来,神经网络的热度也是时消时涨:

1943 年:Warren S. McCulloch 和 Walter Pitts 发表了“神经活动中内在思想的逻辑演算”(ibm.com 外部链接)。这项研究试图了解人脑如何通过连接的脑细胞或神经元形成复杂的模式。这项工作产生的一个主要思想是将具有二进制阈值的神经元与布尔逻辑(即 0/1 或真/假语句)进行比较。

1958 年:Frank Rosenblatt 因开发感知器而受到赞誉,这记录在他的以下研究论文中:“感知器:大脑中信息存储和组织的概率模型”(ibm.com 外部链接)。他将 McCulloch 和 Pitt 的工作向前推进了一步,在等式中引入了权重。利用 IBM 704,Rosenblatt 让计算机学会了如何区分左侧标记的卡片和右侧标记的卡片。

1974 年:虽然许多研究人员都为反向传播的概念做出了贡献,但 Paul Werbos 作为美国第一人,首次在其博士论文(ibm.com 外部链接)中提到了反向传播在神经网络中的应用。

1989 年:Yann LeCun 发表了一篇论文(ibm.com 外部链接),阐述了如何在反向传播中使用约束并将其集成到神经网络架构中来训练算法。这项研究成功地利用神经网络来识别美国邮政总局提供的手写邮政编码数字。

专家荟萃 | 播客

解码 AI:每周新闻摘要

加入我们的世界级专家团队,包括工程师、研究人员、产品负责人等,他们将穿透 AI 的喧嚣,为您带来最新的 AI 新闻和见解。

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示