人工神经网络 (ANN) 的完整概述
已发表: 2020-07-17即使你不在数据科学或软件工程领域工作,也很难避免接触到人工神经网络这个术语。
人工神经网络 (ANN) 无处不在。 它们用于聊天机器人、医学成像、媒体规划和大量其他领域。 但我们是否怀着深深的好奇心问:什么是人工神经网络,它真正能实现什么?
我们都遇到过人工神经网络复制人类神经系统功能的共同定义。 这解释了工作原理,但我们大多数人仍然不知道是什么让 ANN 如此特别,或者它最适合解决什么问题。 为了澄清空气,这里是您可以找到的关于人工神经网络的最全面且易于理解的指南。
什么是人工神经网络?
当人工智能、机器学习、深度学习和神经网络等十几个术语时,很容易混淆。 这些垂直领域之间的实际分歧并不复杂。
人工智能是通用的集合,它是手头的主题。 它是对智能程序如何运行和制作的系统研究。 机器学习是人工智能的一个子集,专注于机器如何自我学习。 深度学习是 ML 的另一个子集,专注于如何使用神经网络层来生成输出。 您可以使用此可视化来导航层次结构:

那么什么是人工神经网络呢? 答案正是大众媒体吹捧它的方式。 它是一个数据处理和输出生成系统,可复制神经系统以解开大型数据集中的非线性关系。 数据可能来自感官路径,可能是文本、图片或音频的形式。
了解人工神经网络如何工作的最佳方法是了解大脑内的自然神经网络如何工作,并在它们之间画一个平行线。 神经元是人类大脑的基本组成部分,负责学习和保留我们所知道的知识和信息。 您可以将它们视为大脑中的处理单元。 他们将感觉数据作为输入,对其进行处理,并给出其他神经元使用的输出数据。 信息被处理和传递,直到获得决定性的结果。
大脑中的基本神经网络由突触连接。 您可以将它们可视化为连接两个神经元的桥的末端节点。 因此,突触是两个神经元的交汇点。 突触是该系统的重要组成部分,因为突触的强度将决定理解的深度和信息的保留。
当你在练习一项活动时,你正在加强这些突触关系。 这就是你如何可视化大脑中的神经网络:
您的大脑实时收集的所有感官数据都是通过这些神经网络处理的。 它们在系统中有一个起点。 当它们被初始神经元处理时,从一个神经元出来的电信号的处理形式成为另一个神经元的输入。 每一层神经元的这种微信息处理使这个网络变得高效高效。 通过在整个神经网络中复制处理数据这一反复出现的主题,人工神经网络能够产生出色的输出。
在 ANN 中,一切都旨在复制这个过程。 不要担心数学方程式。 这不是现在要理解的关键思想。 在系统中输入带有标签“X”的所有数据的权重为“W”以生成加权信号。 这复制了突触信号强度在大脑中的作用。 附加偏差变量以控制函数输出的结果。
因此,所有这些数据都在函数中处理,最终得到输出。 这就是单层神经网络或感知器的样子。 人工神经网络的想法围绕着连接这些人工神经元的几种组合以获得更有效的输出。 这就是为什么典型的人工神经网络的概念框架看起来很像这样的原因:
随着我们深入研究人工神经网络的功能,我们很快就会定义隐藏层。 但就对人工神经网络的基本理解而言,您现在已经了解了首要原理。
该机制用于破译大型数据集。 输出通常倾向于建立作为可用于预测的输入的变量之间的因果关系。 现在您已经了解了流程,您可以充分理解这里的技术定义:
“一个仿照人脑的网络,通过模式识别计算机算法创建人工神经系统,从感觉数据中学习、解释和分类。”
人工神经网络如何工作和学习?
振作起来,这里的事情即将变得有趣。 别担心——你现在不需要做大量的数学运算。
魔法首先发生在激活函数上。 激活函数进行初始处理以确定神经元是否将被激活。 如果神经元没有被激活,它的输出将和它的输入一样。 然后什么也没有发生。 这在神经网络中至关重要,否则,系统将被迫处理大量对输出没有影响的信息。 你看,大脑的容量有限,但它已经过优化以充分利用它。
所有人工神经网络共有的一个核心属性是非线性的概念。 所研究的大多数变量在现实生活中都具有非线性关系。
以巧克力的价格和巧克力的数量为例。 假设一块巧克力的价格为 1 美元。 100块巧克力要多少钱? 大概100美元吧。 10,000 块巧克力要多少钱? 不是 10,000 美元; 因为要么卖家会增加使用额外包装将所有巧克力放在一起的成本,要么她会降低成本,因为你一次性将她的大量库存从她手中转移出去。 这就是非线性的概念。
激活函数将使用基本的数学原理来确定是否要处理信息。 最常见的激活函数形式是二元阶跃函数、逻辑函数、双曲正切函数和整流线性单元。 以下是每一项的基本定义:
- 二元阶跃函数:此函数基于阈值激活神经元。 如果函数的最终结果高于或低于基准值,则激活神经元。
- 逻辑函数:此函数具有“S”曲线形状的数学最终结果,当概率是确定神经元是否应该被激活的关键标准时使用。 所以,在任何时候,你都可以计算出这条曲线的斜率。 此函数的值介于 0 和 1 之间。
使用微分函数计算斜率。 当两个变量没有线性关系时使用该概念。 斜率是在非线性开始的确切点接触曲线的切线值。逻辑函数的问题在于它不适合处理具有负值的信息。 - 双曲正切函数:它与逻辑函数非常相似,只是它的值介于 -1 和 +1 之间。 因此,网络中未处理负值的问题就消失了。
- 整流线性单位 (ReLu):此函数的值介于 0 和正无穷大之间。 ReLu 简化了一些事情——如果输入是正数,它将给出“x”的值。 对于所有其他输入,该值将为“0”。 您可以使用具有负无穷和正无穷之间的值的 Leaky ReLu。 当正在处理的变量之间的关系非常弱并且可能被激活函数完全忽略时,使用它。
现在您可以参考感知器和神经网络的相同两张图。 除了神经元的数量之外,还有什么区别? 关键区别在于隐藏层。 隐藏层位于神经网络中的输入层和输出层之间。 隐藏层的工作是细化处理并消除不会对输出产生强烈影响的变量。
如果数据集中的实例数量,其中输入变量的值变化对输出变量的影响是显着的,则隐藏层将显示这种关系。 隐藏层使 ANN 可以轻松地向下一层处理发出更强的信号。
即使在完成了所有这些数学运算并了解了隐藏层的运作方式之后,您可能想知道人工神经网络实际上是如何学习的? 让我们从什么是学习的基本问题开始。 用最简单的术语来说,学习就是在两件事(活动、过程、变量等)之间建立因果关系。 当您“学习”如何投掷曲线球时,您就是在以某种方式投球的物理动作和让球的轨迹以某种方式弯曲之间建立因果关系。

现在,这种因果关系很难建立。 还记得相关不等于因果的说法吗? 确定两个变量何时向同一方向移动相当容易。 很难绝对肯定地说哪个变量导致了哪个变量的运动。 显然,我们通常能够直观地建立这一点; 但是你如何让算法理解直觉呢?
您使用成本函数。 在数学上,它是数据集的实际值与数据集的输出值之间的平方差。 您还可以考虑错误的程度。 我们将其平方是因为有时差异可能是负数。
您可以使用成本函数标记输入到输出处理的每个周期。 您和人工神经网络的工作是将成本函数最小化到可能的最低值。 您可以通过调整 ANN 中的权重来实现。 (还记得突触关系,也就是权重吗?这就是我们所说的)。 有几种方法可以做到这一点,但就你理解的原理而言,你只是使用不同的工具来执行它。
对于每个周期,我们的目标是最小化成本函数。 从输入到输出的过程称为前向传播。 而利用输出数据通过从最后一个隐藏层到输入层逆序调整权重来最小化代价函数的过程称为反向传播。
您可以使用蛮力方法(当数据集太大时会导致效率低下)或批量梯度下降法(一种优化算法)继续调整这些权重。 现在您对人工神经网络的学习方式有了直观的了解。
循环神经网络 (RNN) 与卷积神经网络 (CNN)
了解这两种形式的神经网络也可以让您了解人工智能应用的两个不同方面——计算机视觉和自然语言处理。 以最简单的形式,这两个 AI 分支帮助机器直观地识别对象并理解语言数据的上下文。 可以想象,这些分支已经在自动驾驶汽车和 Siri 等虚拟助手中使用过。
现在,这些分支中的每一个都有自己建立的神经网络。 NLP 高度依赖循环神经网络。 RNN 和 ANN 的区别在于,在 ANN 中,每个输入信号都被认为与下一个输入信号无关。 因此,存在于两个节点之间的输入数据本身没有任何关系。
实际上,情况并非如此。 当我们进行交流时,每个单词都会为下一个单词清除上下文方式。 因此,语言的基本性质是它在较早输入的信息和较晚输入的信息之间建立了相互依赖关系。 RNN 对此很敏感,通过运行一个并行内存来建立这些输入之间的关系以清除上下文。
卷积神经网络非常适合用于计算机视觉。 除了常用的激活函数外,它们还添加了池化函数和卷积函数。 用更简单的术语来说,卷积函数将显示一个图像的输入和第二个图像的输入(过滤器)将如何产生第三个图像(结果)。 您可以通过将其可视化为位于输入图像(原始像素值集)之上的过滤图像(一组新的像素值)来获得结果图像(更改的像素值)来想象这一点。
池化函数将取最大值或最小值,具体取决于添加的函数,以简化对这组信息的处理。 以下是可视化它们的方法:


池化函数
5 人工神经网络的应用
到目前为止,我们所谈论的一切都在幕后进行。 现在我们可以放大并查看这些 ANN 的运行情况,以充分了解它们与我们不断发展的世界的联系:
1. 电商平台个性化推荐
ANN 最早的应用之一是为每个用户提供个性化的电子商务平台体验。 你还记得 Netflix 上真正有效的推荐吗? 还是恰到好处的产品推荐亚马逊? 它们是人工神经网络的结果。
这里使用了大量数据:您过去的购买、人口统计数据、地理数据,以及显示购买相同产品的人接下来会购买什么的数据。 所有这些都作为输入来确定什么可能对您有用。 同时,你真正购买的东西有助于算法得到优化。 每次购买,您都在丰富公司和授权 ANN 的算法。 同时,平台上的每一次新购买也将提高算法向您推荐合适产品的能力。
2.利用自然语言处理会话聊天机器人
不久前,聊天框开始在网站上流行起来。 代理会坐在一边,帮助您解决在框中输入的查询。 然后,一种称为自然语言处理 (NLP) 的现象被引入聊天机器人,一切都发生了变化。
NLP 通常使用统计规则来复制人类语言能力,并且与其他 ANN 应用程序一样,随着时间的推移会变得更好。 你的标点、语调和发音、语法选择、句法选择、单词和句子顺序,甚至选择的语言都可以作为训练 NLP 算法的输入。
聊天机器人通过使用这些输入来理解您的查询上下文并以最适合您的风格的方式制定答案,从而变得对话。 同样的 NLP 也被用于音乐和安全验证目的的音频编辑。
3. 预测高调事件的结果
我们中的大多数人都遵循人工智能算法在总统选举和国际足联世界杯期间做出的结果预测。 由于这两个事件都是分阶段进行的,因此它可以帮助算法快速了解其功效,并在团队和候选人被淘汰时最小化成本函数。 在这种情况下,真正的挑战是输入变量的程度。 从候选人到球员统计数据到人口统计数据再到解剖能力——一切都必须结合起来。
在股票市场中,使用人工神经网络的预测算法已经存在了一段时间。 新闻更新和财务指标是使用的关键输入变量。 正因为如此,大多数交易所和银行都能够轻松地以远远超过人类能力的速度在高频交易计划下交易资产。
股市的问题在于数据总是嘈杂的。 随机性非常高,因为可以影响证券价格的主观判断程度非常高。 然而,如今,每一家领先的银行都在使用人工神经网络进行做市活动。
4. 信用制裁
精算表已被用于确定与每位投保人相关的风险因素。 ANN 将所有这些数据都提高了一个档次。
所有贷方都可以使用系统中强大的权重来处理他们拥有的数十年数据,并使用您的信息作为输入来确定与您的贷款申请相关的适当风险状况。 您的年龄、性别、居住城市、毕业学校、从事的行业、工资和储蓄率,都被用作确定您的信用风险评分的输入。
以前严重依赖个人信用评分的东西现在已成为一个更全面的机制。 这就是为什么一些私人金融科技公司已经跳入个人贷款领域,运行相同的人工神经网络,并借给银行认为风险太大的人。
5.自动驾驶汽车
Tesla、Waymo 和 Uber 一直在使用类似的 ANN。 投入和产品工程可能有所不同,但他们正在部署复杂的视觉计算来使自动驾驶汽车成为现实。
大部分自动驾驶都与处理来自现实世界的信息有关,这些信息以附近车辆、路标、自然和人造光、行人、建筑物等的形式出现。 显然,为这些自动驾驶汽车提供动力的神经网络比我们在这里讨论的更复杂,但它们的运行原理与我们阐述的相同。
结论
人工神经网络日益复杂。 NLP 现在正在帮助早期的心理健康问题诊断,计算机视觉被用于医学成像,而人工神经网络正在为无人机交付提供动力。 随着人工神经网络变得更加复杂和分层,该系统对人类智能的需求将会减少。 甚至像设计这样的领域也开始使用衍生式设计部署人工智能解决方案。
所有人工神经网络的最终演变将是通用智能——一种如此复杂的智能形式,它可以学习和感知人类已知和未知的所有信息。 虽然这是一个非常遥远的现实,但如果可能的话,由于人工神经网络的广泛采用,它已成为一个可以想象的概念。