Artificial Intelligence 简明教程

Artificial Intelligence - Neural Networks

人工智能中的另一个研究领域神经网络,其灵感源自人体神经系统的自然神经网络。

What are Artificial Neural Networks (ANNs)?

首台神经计算机的发明者罗伯特·海希特-尼尔森博士将神经网络定义为 −

Basic Structure of ANNs

人工神经网络的想法基于这样的信念:通过建立正确的连接,可以用硅和电线来模仿人脑的工作方式,就像活动中的 neuronsdendrites 一样。

人脑由 860 亿个被称为 neurons. 的神经细胞组成。它们通过 Axons. 与其他数千个细胞相连。来自外部环境的刺激或来自感觉器官的输入被树突接受。这些输入会产生电脉冲,这些脉冲会迅速通过神经网络传播。然后神经元可以将消息发送到其他神经元来处理问题,或者不将其转发。

neuron

人工神经网络由多个 nodes 组成,它们模仿人脑的生物 neurons 。神经元通过链接相互连接,并相互交互。节点可以获取输入数据并在数据上执行简单运算。这些运算的结果会传递给其他神经元。每个节点的输出被称为它的 activationnode value.

每个链接都与 weight. 相关联,人工神经网络具有学习能力,这种学习能力可以通过改变权重值来实现。下图显示了一个简单的人工神经网络 −

atypical ann

Types of Artificial Neural Networks

有两种人工神经网络拓扑 − FeedForwardFeedback.

FeedForward ANN

在此人工神经网络中,信息流是单向的。一个单元向另一个单元发送信息,而它不会从该单元接收任何信息。没有反馈环路。它们用于模式生成/识别/分类。它们的输入和输出是固定的。

feed forward ann

FeedBack ANN

在此处,允许使用反馈环路。它们用于内容可寻址内存。

feedback ann

Working of ANNs

在所示拓扑图中,每个箭头表示两个神经元之间的连接,并指示信息的流动路径。每个连接都有一个权重,这是一个整数,用于控制两个神经元之间的信号。

如果网络生成“良好或理想”的输出,则无需调整权重。但是,如果网络生成“不良或不理想”的输出或错误,则系统将为了改进后续结果而改变权重。

Machine Learning in ANNs

人工神经网络能够学习并且需要进行训练。有几种学习策略 -

  1. Supervised Learning - 涉及到一个比人工神经网络本身更博学的老师。例如,老师提供一些示例数据,而老师已经知道答案。例如,模式识别。人工神经网络在识别的过程中不断猜测。然后老师向人工神经网络提供答案。然后网络将猜测与老师的“正确”答案进行比较,并根据错误进行调整。

  2. Unsupervised Learning - 当没有包含已知答案的示例数据集时需要。例如,搜索隐藏模式。在这种情况下,群集即根据一些未知模式将一组元素划分为组,是基于现有的数据集进行的。

  3. Reinforcement Learning - 此策略建立在观察之上。人工神经网络通过观察其环境来做出决策。如果观察结果是否定的,则网络调整其权重,以便下次能够做出不同的所需决策。

Back Propagation Algorithm

这是训练或学习算法。它通过示例进行学习。如果您向算法提交网络将要执行操作的示例,它将更改网络的权重,以便在完成训练后针对特定的输入生成所需的输出。

反向传播网络非常适合简单的模式识别和映射任务。

Bayesian Networks (BN)

这些是用于表示一组随机变量之间的概率关系的图形结构。贝叶斯网络也称为 Belief NetworksBayes Nets. BNs 推理不确定的域。

在这些网络中,每个节点表示具有特定命题的随机变量。例如,在医学诊断域中,节点“癌症”表示患者患有癌症的命题。

连接节点的边表示这些随机变量之间的概率依赖性。如果两个节点中有一个正在影响另一个,则必须按照效果的方向直接连接它们。变量之间的关系强度由与每个节点关联的概率来量化。

BN 中的弧上只有一个约束,即您不能仅仅通过遵循有向弧而返回到一个节点。因此,BN 被称为有向无环图 (DAG)。

BN 能够同时处理多值变量。BN 变量由两个维度组成 -

  1. Range of prepositions

  2. 分配给每个命题的概率。

考虑离散随机变量的有限集 X = {X1, X2, …,Xn},其中每个变量 Xi 可以从有限集 Val(Xi) 中取值。如果从变量 Xi 到变量 Xj 有一个有向链接,则变量 Xi 将成为变量 Xj 的父节点,显示变量之间的直接依赖性。

BN 的结构非常适合于结合先验知识和观察到的数据。BN 可用于学习因果关系并了解各种问题域,以及预测未来事件,即使在数据缺失的情况下也是如此。

Building a Bayesian Network

知识工程师可以构建贝叶斯网络。知识工程师在构建它时需要采取一些步骤。

Example problem - 肺癌。一名患者一直患有呼吸急促。他去看医生,怀疑自己患有肺癌。医生知道,除了肺癌之外,患者还有可能患上多种其他疾病,例如结核病和支气管炎。

Gather Relevant Information of Problem

  1. 患者是否吸烟?如果是的,则患癌症和支气管炎的可能性很高。

  2. 患者是否接触空气污染?如果是,是哪种空气污染?

  3. 进行 X 射线透视,透视结果为正,表示该患者患有肺结核或肺癌。

Identify Interesting Variables

知识工程师试图回答以下问题:

  1. Which nodes to represent?

  2. 这些变量可以取什么值?它可以处于哪些状态?

现在,让我们考虑仅具有离散值的节点。此变量一次必须采用其中一个值。

Common types of discrete nodes are

  1. Boolean nodes − 它们表示命题,取二进制值真 (T) 和假 (F)。

  2. Ordered values − 一个节点 Pollution(污染)表示并取值 {low, medium, high},描述患者的污染暴露程度。

  3. Integral values − 一个名为 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

Create Arcs between Nodes

网络拓扑应捕获变量之间的定性关系。

例如,什么导致患者患有肺癌?- 污染和吸烟。然后从节点 Pollution 和节点 Smoker 添加指向节点 Lung-Cancer 的弧线。

类似的,如果患者患有肺癌,那么 X 射线结果将为正。然后从节点 Lung-Cancer 添加弧线,指向节点 X-Ray。

bn node arc creation

Specify Topology

根据惯例,BN 的布局使得弧线从上向下指向。节点 X 的父节点集合由 Parents(X) 给出。

节点 Lung-Cancer 具有两个父节点(原因或起因):Pollution 和 Smoker,而 Smoker 节点是 X-Ray 节点的 ancestor 。类似地,X-Ray 是节点 Lung-Cancer 的子节点(后果或影响),以及节点 Smoker 和 Pollution 的 successor

Conditional Probabilities

现在量化相连节点之间的关系:此过程通过为每个节点指定一个条件概率分布来完成。由于此处仅考虑离散变量,因此采用 Conditional Probability Table (CPT). 形式

首先,对于每个节点,我们需要查看父节点值的各种可能组合。这种组合被称为父集的 instantiation 。对于父节点值的每个不同实例,我们需要指定子节点将采用的概率。

例如,肺癌节点的父节点是污染和吸烟。它们采用可能的取值 = {(H,T),(H,F),(L,T),(L,F)}。CPT 指定对于这四个案例中的每一个案例,癌症的概率分别为 <0.05,0.02,0.03,0.001>。

每个节点都将具有如下关联的条件概率 −

probabilities

Applications of Neural Networks

它们可以执行对于人类来说很容易但对于机器来说很难的任务 −

  1. Aerospace − 飞机自动驾驶,飞机故障检测。

  2. Automotive − 汽车引导系统。

  3. Military − 武器定位和操纵、目标跟踪、物体分类、面部识别、信号/图像识别。

  4. Electronics − 代码序列预测、集成电路芯片布局、芯片故障分析、机器视觉、语音合成。

  5. Financial − 房地产评估、贷款顾问、抵押筛查、公司债券评级、投资组合交易计划、公司财务分析、货币价值预测、文档阅读器、信贷申请评估器。

  6. Industrial − 制造过程控制、产品设计和分析、质量检测系统、焊缝质量分析、纸张质量预测、化学产品设计分析、化学工艺系统的动态建模、机器维护分析、项目投标、规划和管理。

  7. Medical − 癌细胞分析、脑电图和心电图分析、假肢设计、移植时间优化器。

  8. Speech − 语音识别、语音分类、文本到语音转换。

  9. Telecommunications − 图像和数据压缩、自动信息服务、实时口语翻译。

  10. Transportation − 卡车制动系统诊断、车辆调度、路径系统。

  11. Software − 面部识别的模式识别、光学字符识别等。

  12. Time Series Prediction − ANN 用于对股票和自然灾害进行预测。

  13. Signal Processing − 神经网络可以接受训练来处理音频信号,并在助听器中对其进行适当地过滤。

  14. Control − ANN 通常用于对物理车辆进行转向决策。

  15. Anomaly Detection − 由于 ANN 精于识别模式,因此还可以对 ANN 进行训练以在出现不符合模式的异常时生成输出。