人工智能 - 神经网络
人工智能的另一个研究领域是神经网络,其灵感来自人类神经系统的自然神经网络。
什么是人工神经网络 (ANN)?
第一台神经计算机的发明者 Robert Hecht-Nielsen 博士将神经网络定义为 −
"...由许多简单、高度互连的处理元件组成的计算系统,这些处理元件通过对外部输入的动态响应来处理信息。"
ANN 的基本结构
ANN 的理念基于这样的信念:通过建立正确的连接,人类大脑的工作可以通过使用硅和电线作为活的神经元和树突来模仿。
人类大脑由 860 亿个称为神经元的神经细胞组成。它们是通过轴突与其他数千个细胞相连。来自外部环境的刺激或来自感觉器官的输入被树突接受。这些输入产生电脉冲,电脉冲快速通过神经网络。然后,神经元可以将信息发送给其他神经元来处理问题,或者不发送信息。
ANN 由多个节点组成,模仿人类大脑的生物神经元。神经元通过链接连接并相互作用。节点可以获取输入数据并对数据执行简单操作。这些操作的结果传递给其他神经元。每个节点的输出称为其激活或节点值
每个链接都与权重相关联。ANN 能够通过改变权重值进行学习。下图显示了一个简单的 ANN −
人工神经网络的类型
人工神经网络拓扑有两种 − 前馈 和 反馈
前馈 ANN
在此 ANN 中,信息流是单向的。一个单元将信息发送到它不从其接收任何信息的其他单元。没有反馈回路。它们用于 模式生成/识别/分类。它们具有固定的输入和输出。
FeedBack ANN
这里允许使用反馈回路。它们用于内容可寻址存储器。
ANN 的工作原理
在所示的拓扑图中,每个箭头代表两个神经元之间的连接,并指示信息流的路径。每个连接都有一个权重,即一个整数,用于控制两个神经元之间的信号。
如果网络生成"良好或期望的"输出,则无需调整权重。但是,如果网络生成"不良或不期望的"输出或错误,则系统会改变权重以改善后续结果。
ANN 中的机器学习
ANN 具有学习能力,需要进行训练。有几种学习策略 −
监督学习 −它涉及一个比 ANN 本身更像学者的老师。例如,老师会提供一些老师已经知道答案的示例数据。
例如,模式识别。ANN 在识别时会做出猜测。然后老师为 ANN 提供答案。然后,网络将其猜测与老师的"正确"答案进行比较,并根据错误进行调整。
无监督学习 − 当没有已知答案的示例数据集时,就需要它。例如,搜索隐藏的模式。在这种情况下,基于现有的数据集进行聚类,即根据某些未知模式将一组元素分成组。
强化学习 − 这种策略建立在观察的基础上。ANN 通过观察其环境做出决策。如果观察结果为负面,网络将调整其权重,以便下次做出不同的必要决策。
反向传播算法
它是一种训练或学习算法。它通过示例进行学习。如果您向算法提交您希望网络执行的操作的示例,它会更改网络的权重,以便在完成训练后可以为特定输入产生所需的输出。
反向传播网络非常适合简单的模式识别和映射任务。
贝叶斯网络 (BN)
这些是用于表示一组随机变量之间的概率关系的图形结构。贝叶斯网络也称为信念网络或贝叶斯网络。BN 推理不确定的领域。
在这些网络中,每个节点代表具有特定命题的随机变量。例如,在医学诊断领域,节点"癌症"表示患者患有癌症这一命题。
连接节点的边表示这些随机变量之间的概率依赖关系。如果两个节点中,一个节点影响另一个节点,那么它们必须在影响方向上直接连接。变量之间关系的强度由与每个节点相关的概率量化。
BN 中的弧只有一个约束,即您不能仅通过跟随有向弧返回到节点。因此,BN 被称为有向无环图 (DAG)。
BN 能够同时处理多值变量。BN 变量由两个维度组成 −
- 介词范围
- 分配给每个介词的概率。
考虑一个离散随机变量的有限集 X = {X1, X2, …,Xn},其中每个变量 Xi 可以从有限集中取值,用 Val(Xi) 表示。如果从变量 Xi 到变量 Xj 存在有向链接,则变量 Xi 将是变量 Xj 的父级,表明变量之间有直接依赖关系。
BN 的结构非常适合结合先验知识和观察到的数据。 BN 可用于学习因果关系、理解各种问题领域并预测未来事件,即使在缺失数据的情况下也是如此。
构建贝叶斯网络
知识工程师可以构建贝叶斯网络。构建时,知识工程师需要采取许多步骤。
示例问题 − 肺癌。 一名患者一直呼吸困难。他去看医生,怀疑自己得了肺癌。医生知道,除了肺癌外,患者还可能患有其他各种疾病,如肺结核和支气管炎。
收集问题的相关信息
- 患者是吸烟者吗?如果是,那么患癌症和支气管炎的可能性很高。
- 患者是否暴露在空气污染中?如果是,是哪种空气污染?
- 拍 X 光片,X 光片呈阳性则表明患有肺结核或肺癌。
识别有趣的变量
知识工程师试图回答问题 −
- 要表示哪些节点?
- 它们可以采用什么值?它们可以处于哪种状态?
现在让我们考虑只有离散值的节点。变量必须一次只采用其中一个值。
常见的离散节点类型是 −
布尔节点 − 它们表示命题,采用二进制值 TRUE (T) 和 FALSE (F)。
有序值 −节点 Pollution 可能表示并取值 {低、中、高},描述患者接触污染的程度。
整数值 − 节点 Age 可能表示患者的年龄,可能值为 1 到 120。即使在这个早期阶段,也正在做出建模选择。
肺癌示例的可能节点和值 −
Node Name | Type | Value | Nodes Creation |
---|---|---|---|
Polution | Binary | {LOW, HIGH, MEDIUM} | |
Smoker | Boolean | {TRUE, FASLE} | |
Lung-Cancer | Boolean | {TRUE, FASLE} | |
X-Ray | Binary | {Positive, Negative} |
在节点之间创建弧
网络拓扑应捕获变量之间的定性关系。
例如,是什么原因导致患者患上肺癌? - 污染和吸烟。然后从节点污染和节点吸烟者向节点肺癌添加弧。
同样,如果患者患有肺癌,则X光检查结果将为阳性。然后从节点肺癌向节点X光添加弧。
指定拓扑
传统上,BN 的布局使得弧从上到下指向。节点 X 的父节点集由 Parents(X) 给出。
Lung-Cancer 节点有两个父节点(原因或起因):Pollution 和 Smoker,而节点 Smoker 是节点 X-Ray 的 祖先。类似地,X-Ray 是节点 Lung-Cancer 的子节点(结果或影响),也是节点 Smoker 和 Pollution 的 后继。
条件概率
现在量化连接节点之间的关系:这是通过为每个节点指定条件概率分布来完成的。由于这里只考虑离散变量,因此采用条件概率表 (CPT)
的形式。首先,对于每个节点,我们需要查看这些父节点值的所有可能组合。每个这样的组合称为父集的实例。对于父节点值的每个不同实例,我们需要指定子节点将采用的概率。
例如,肺癌节点的父节点是污染和吸烟。它们采用可能的值 = { (H,T), ( H,F), (L,T), (L,F)}。CPT 分别将每种情况的癌症概率指定为 <0.05、0.02、0.03、0.001>。
每个节点将具有以下条件概率 −
神经网络的应用
它们可以执行对人类来说很容易但对机器来说很难的任务 −
航空航天 − 自动驾驶飞机、飞机故障检测。
汽车 − 汽车制导系统。
军事 − 武器定位和转向、目标跟踪、物体识别、面部识别、信号/图像识别。
电子 − 代码序列预测、IC 芯片布局、芯片故障分析、机器视觉、语音合成。
金融 − 房地产评估、贷款顾问、抵押筛选、公司债券评级、投资组合交易程序、公司财务分析、货币价值预测、文档阅读器、信贷申请评估员。
工业 − 制造过程控制、产品设计和分析、质量检验系统、焊接质量分析、纸张质量预测、化学产品设计分析、化学过程系统的动态建模、机器维护分析、项目招标、规划和管理。
医疗 − 癌细胞分析、EEG 和 ECG 分析、假肢设计、移植时间优化器。
语音 − 语音识别、语音分类、文本到语音转换。
电信 − 图像和数据压缩、自动化信息服务、实时口语翻译。
运输 − 卡车制动系统诊断、车辆调度、路线系统。
软件 − 面部识别、光学字符识别等模式识别。
时间序列预测 − ANN 用于对股票和自然灾害进行预测。
信号处理 −神经网络可以经过训练来处理音频信号并在助听器中对其进行适当过滤。
控制 − ANN 通常用于做出实体车辆的转向决策。
异常检测 − 由于 ANN 擅长识别模式,因此当发生与模式不符的异常情况时,它们也可以经过训练来生成输出。