什么是神经网络?
在信息技术(IT)中,人工神经网络(ANN)是模仿人脑中神经元操作的硬件和/或软件系统。人工神经网络,也简称为神经网络,是多种多样的深度学习技术,也属于人工智能,或者AI。
这些技术的商业应用通常集中在解决复杂的信号处理或者模式识别问题。自2000年以来,重要的商业应用包括支票处理的手写识别、语音到文本的转换、石油勘探数据分析、天气预报和面部识别.
人工神经网络的历史可以追溯到计算的早期。1943年,数学家沃伦麦卡洛克和沃尔特皮茨建立了一个电路系统,旨在模拟人脑运行简单算法的功能。
直到2010年左右,这一研究才再次兴起。这大数据趋势,公司积累大量的数据,并行计算给了数据科学家运行复杂的人工神经网络所需的训练数据和计算资源。2012年,作为ImageNet竞赛的一部分,神经网络能够在图像识别任务中击败人类。从那以后,人们对人工神经网络的兴趣高涨,技术也在不断改进。
人工神经网络如何工作
一个人工神经网络通常包括大量的处理器运行于平行的并按层排列。第一层接收原始输入信息,类似于人类视觉处理中的视神经。每一个连续的层接收来自前一层的输出,而不是原始输入——同样,远离视神经的神经元接收来自靠近视神经的神经元的信号。最后一层产生系统的输出。
每次处理结节有它自己的小知识范围,包括它所看到的和它最初为自己编程或开发的任何规则。这些层高度互连,这意味着层中的每个节点n将连接到层中的许多节点n-1-它的输入-并且在层中n+1,它为这些节点提供输入数据。输出层可能有一个或多个节点,从中可以读出它产生的答案。
人工神经网络值得注意的是适应的,这意味着它们在从初始训练中学习时会修改自己,随后的运行会提供关于世界的更多信息。最基本的学习模型以加权输入流为中心,这是每个节点如何加权来自其每个前任的输入数据的重要性。有助于获得正确答案的输入权重较高。
神经网络如何学习
通常,人工神经网络最初被训练或输入大量数据。训练包括提供输入和告诉网络输出应该是什么。例如,为了建立一个识别演员面部的网络,最初的训练可能是一系列图片,包括演员、非演员、面具、雕像和动物的面部。每个输入都伴随着匹配的标识,例如演员的名字或“非演员”或“非人类”信息。提供答案允许模型调整其内部权重,以学习如何更好地完成工作。
例如,如果节点David、Dianne和Dakota告诉节点Ernie当前的输入图像是Brad Pitt的照片,但是节点Durango说它是贝蒂·怀特,并且训练程序确认它是Pitt,Ernie将减少它分配给Durango的输入的权重,并且增加它给予David、Dianne和Dakota的权重。
在定义规则和做出决定(即每个节点根据来自前一层的输入决定将什么发送到下一层)时,神经网络使用几个原则。这些包括基于梯度的训练,模糊逻辑、遗传算法和贝叶斯方法。可以给他们一些关于被建模的数据中的对象关系的基本规则。
例如,面部识别系统可能被指示“眉毛在眼睛上方”,或者“胡子在鼻子下方”。小胡子长在嘴的上方和/或旁边预加载规则可以让训练更快,让模型更快更强大。但它也建立在对问题本质的假设上,这些假设可能被证明是不相关的和无益的,或者是不正确的和适得其反的,这使得决定建立什么规则(如果有的话)变得非常重要。
此外,人们在训练算法时做出的假设会导致神经网络放大文化偏见。在通过识别数据模式自行寻找答案的训练系统中,有偏见的数据集是一个持续的挑战。如果提供给算法的数据不是中性的——几乎没有数据是中性的——机器就会传播偏见。
神经网络的类型
神经网络有时根据其深度来描述,包括它们在输入和输出之间有多少层,或者模型的所谓隐藏层。这就是为什么这个术语神经网络几乎与深度学习同义。它们也可以用模型中隐藏节点的数量来描述,或者用每个节点有多少输入和输出来描述。经典神经网络设计的变体允许各层之间信息的各种形式的向前和向后传播。
特定类型的人工神经网络包括:
- 前馈神经网络:神经网络最简单的变体之一。它们通过不同的输入节点单向传递信息,直到信息到达输出节点。网络可能有也可能没有隐藏的节点层,使它们的功能更容易理解。它准备处理大量的噪音。这种类型的人工神经网络计算模型用于诸如面部识别和计算机视觉.
- 递归神经网络:更复杂。它们保存处理节点的输出,并将结果反馈给模型。据说模型就是这样学会预测层的结果的。RNN模型中的每个节点充当一个存储单元,继续运算的计算和实现。这种神经网络以与前馈网络相同的前向传播开始,但随后会记住所有处理过的信息,以便在将来重用。如果网络的预测不正确,则系统自学习并在反向传播期间继续朝着正确的预测努力。这种类型的人工神经网络常用于文本到语音的转换。
- 卷积神经网络:当今最受欢迎的型号之一。这种神经网络计算模型使用多层的变体感知器并且包含一个或多个可以完全连接或汇集的卷积层。这些卷积层创建特征图,记录图像的一个区域,该区域最终被分成矩形并被发送出去非线性的CNN模型在图像识别领域特别流行;它已被用于许多最先进的人工智能应用,包括面部识别,文本数字化和自然语言处理。其他用途包括释义检测、信号处理和图像分类。
- 去进化神经网络:利用反向CNN模型过程。他们的目标是找到丢失的特征或信号,这些特征或信号最初可能被认为对CNN系统的任务不重要。该网络模型可用于图像合成和分析。
- 模块化神经网络:包含多个独立工作的神经网络。在计算过程中,网络不会相互通信或干扰彼此的活动。因此,复杂或大型计算过程可以更有效地执行。
人工神经网络的优势
人工神经网络的优点包括:
- 并行处理能力意味着网络可以同时执行多项任务。
- 信息存储在整个网络上,而不仅仅是数据库。
- 学习和模拟非线性复杂关系的能力有助于模拟输入和输出之间的真实关系。
- 容错意味着ANN的一个或多个单元的损坏不会停止输出的产生。
- 逐渐损坏意味着网络会随着时间慢慢退化,而不是某个问题会立即摧毁网络。
- 在知识不完整的情况下产生输出的能力,性能损失取决于丢失信息的重要性。
- 对输入变量没有任何限制,比如它们应该如何分布。
- 机器学习意味着人工神经网络可以从事件中学习,并根据观察结果做出决策。
- 在没有任何固定关系的情况下学习数据中隐藏关系的能力意味着人工神经网络可以更好地模拟高度不稳定的数据和非恒定的变化。
- 根据看不见的数据归纳和推断看不见的关系的能力意味着人工神经网络可以预测看不见的数据的输出。
人工神经网络的缺点
人工神经网络的缺点包括:
- 缺少确定适当网络结构的规则意味着只能通过反复试验和经验来找到适当的人工神经网络结构。
- 对具有并行处理能力的处理器的要求使得神经网络依赖于硬件。
- 网络处理数字信息,因此所有问题在提交给人工神经网络之前都必须转换成数值。
- 探索解决方案背后缺乏解释是人工神经网络最大的缺点之一。无法解释解决方案背后的原因或方式会导致对网络缺乏信任。
人工神经网络的应用
图像识别是神经网络最先成功应用的领域之一,但该技术的应用已扩展到更多领域,包括:
- 聊天机器人
- 自然语言处理、翻译和语言生成
- 股票市场预测
- 送货司机路线规划和优化
- 药物发现和开发
这些只是目前神经网络应用的几个具体领域。主要用途包括任何根据严格的规则或模式运行并拥有大量数据的流程。如果涉及的数据太大,人类无法在合理的时间内理解,这个过程很可能是通过人工神经网络实现自动化的主要候选对象。