Python人工智能
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 人工神经网络的概念

人工神经网络是一种进行分布式并行信息处理的算法数学模型,模仿动物神经网络行为特征。这种网络通过调整内部大量节点之间相互连接的关系,达到处理信息的目的,系统的复杂程度非常高。人工神经网络是由大量处理单元互联组成的非线性、自适应的信息处理系统。它是在现代神经科学研究成果的基础上被提出来的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。

3.1.1 神经元

神经网络由神经处理单元(Neural Processing Unit)组成,这些单元通过一种层级结构互相连接。这些神经处理单元被称为人工神经元(Artificial Neuron),它们像人类大脑的轴突一样工作。

生物神经元通常由以下几个部分组成:细胞核、细胞体、树突、轴突、突触和轴突末梢。一个神经元通常具有多个树突,主要用来接收信息;而轴突只有一条,轴突尾端有许多轴突末梢,可以给其他神经元传递信息,如图3-1所示。

图3-1 生物神经元

人工神经元在工作原理上与生物神经元拥有基本相同的逻辑,它从周围神经元接收输入信号,输入信号根据与神经元的输入连接关系按比例叠加在一起。最终,叠加的输入信号被传递给一个激活函数,而激活函数的输出则被传递至下一层的神经元,人工神经元的结构如图3-2所示。

图3-2 人工神经元的结构

下面我们来看一下人工神经网络的结构,如图3-3所示。

图3-3 人工神经网络的结构

输入穿过以分层方式排列的多层连续的神经元。每层的每个神经元从前一层的神经元接收输入,并根据它们之间连接的权重衰减或放大信号。权值对应第l层第i个神经元与第l+1层第j个神经元的连接权重。而且,每个神经元i在第l层都有一个对应的偏置(Bias),即。这个神经网络针对输入,预测输出。如果数据的实际标签是y(标记输出),那么神经网络通过最小化预测误差来学习权重和偏置。当然,误差应该是针对所有标签数据点的最小化:

如果将权重和偏置用一个共同的向量W表示,且预测的总误差用C表示,那么在这个训练的过程中,估计值可用下面的公式表示。

同理,预测输出可通过输入x的权重向量W组成的函数表示。

像这样预测连续数值输出的公式被称为回归问题。

对于一个包含两个类别的二元分类,通常会最小化交叉熵损失,而不是平方差损失,并且网络输出的是正确类别的概率。交叉熵损失函数为

在此,给定输入xpi是输出类别的预测概率,而且可以由输入x和权值向量组成的函数来表示。

总而言之,对于多个类别的分类问题,交叉熵损失函数为

此处,是第i个数据的第j个类别的输出标签。

3.1.2 人工神经网络的基本特征

人工神经网络具有4个基本特征:非线性、非常定性、非凸性、非局限性。

(1)非线性是自然界的普遍特性。大脑的智慧就是非线性的。人工神经元处于激活或抑制两种不同的状态,在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。

(2)非常定性就是人工神经网络具有自适应、自组织、自学习的能力。不但神经网络处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化之中,经常采用迭代过程描写动力系统的演化过程。

(3)非凸性就是一个系统的演化方向,其在一定条件下取决于某个特定的状态函数。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化具有多样性。这种特性让人工智能更加丰富。

(4)非局限性是指一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能由单元之间的相互作用、相互联系所决定。通过单元之间的大量连接模拟大脑的非局限性。

在人工智能中,人工神经网络采用的是并行分布式系统,同时也采用了与传统人工智能和信息处理技术完全不同的机理,并且具有自适应、自组织和实时学习的特点。认识和了解这些内容,可以使我们建立更加完整的机器学习体系。