什么是神经网络?
神经网络试图模仿人脑,结合计算机科学和统计学来解决人工智能领域的常见问题
黑色和蓝色背景
什么是神经网络?

神经网络又称人工神经网络 (ANN) 或模拟神经网络 (SNN),是机器学习的子集,同时也是深度学习算法的核心。  其名称和结构均受到人脑的启发,可模仿生物神经元相互传递信号的方式。

人工神经网络 (ANN) 由节点层组成,包含一个输入层、一个或多个隐藏层和一个输出层。 每个节点也称为一个人工神经元,它们连接到另一个节点,具有相关的权重和阈值。 如果任何单个节点的输出高于指定的阈值,那么会激活该节点,并将数据发送到网络的下一层。 否则,不会将数据传递到网络的下一层。

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

神经网络如何运作?

将各个节点当成自己的线性回归模型,由输入数据、权重、偏差(或阈值)和输出组成。 该公式与以下类似:

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

output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 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 发表了“A logical calculus of the ideas immanent in nervous activity (PDF, 1 MB)(链接位于 ibm.com 外部)”,本研究旨在了解人脑如何通过互相连接的脑细胞或神经元形成复杂模式。 本文中的主要想法之一是将具有二进制阈值的神经元与布尔逻辑(即,0/1 或 true/false 语句)进行对比。   

1958 年:Frank Rosenblatt 开发出感知器,这一创新记录在他的以下研究论文中:“The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain”(链接位于 ibm.com 外部)。 他通过在方程中引入权重,进一步巩固了 McCulloch 和 Pitt 的研究成果。 Rosenblatt 能够利用 IBM 704,让计算机学会如何区分左侧标记的卡片和右侧标记的卡片。

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

1989 年:Yann LeCun 发表了一篇论文 (PDF, 5.7 MB)(链接位于 ibm.com 外部),说明了反向传播中使用的约束及其与神经网络架构的集成如何用于训练算法。 本研究成功利用神经网络识别出美国邮政总局提供的手写邮政编码。

相关解决方案
IBM Watson Studio

在任何云中构建和扩展值得信赖的 AI。 实现 ModelOps 的 AI 生命周期自动化。

探索 IBM Watson Studio
IBM Cloud 解决方案

混合。 开放。 永续。 您的数字化转型平台和合作伙伴。

探索云解决方案
资源 企业中的 AI 之 2021:通过数据释放商机

注册获取我们的电子书,深入了解将 AI 注入业务面临的机遇与挑战以及汲取的经验教训。

采取下一步行动

几十年来,IBM 已成为人工智能技术和神经网络开发的先驱,而 IBM Watson 的开发和演进更添一臂之力。 如果企业希望使用经过验证的分层 AI 采用和实施方法,将高级自然语言处理和深度学习技术运用于系统,那么 Watson 现在就是值得信赖的解决方案。

使用 IBM Watson® Studio 探索深度学习