购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 神经网络

2.2.1 神经元

1981年的诺贝尔生理学或医学奖颁发给了David Hubel、TorstenWiesel和Roger Sperry。该奖项一个重要的成果是“发现了视觉系统的信息处理”,即可视皮层是分级的 [2] ,如图2.1所示。

人类的逻辑思维经常使用高度抽象的概念。例如,从原始信号摄入开始(瞳孔像素pixels),接着进行初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象处理(如大脑判断出边缘组成的部分是圆形的),最后进一步抽象处理(大脑进一步判断该物体的类别)。这个生理学的发现,促成了计算机人工智能在40年后的突破性发展。总体来说,人的视觉系统的信息处理是分级的。从低级的V1区域提取边缘特征,再到V2区域的形状或目标特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或意图。而抽象层面越高,存在的可能猜测就越少,就越利于识别。

人工神经网络是在现在神经科学的基础上提出和发展起来的,旨在反映人脑结构及其功能的一种抽象数学模型。自1943年美国心理学家W.McCulloch和数学家W.A Pitts提出形式神经元的抽象数学模型——MP [3] 模型以来,人工神经网络理论技术经过了50年的曲折发展。特别是20世纪80年代,人工神经网络的研究取得了重大进展,有关的理论和方法已经发展成一门介于物理学、数学、计算机科学和神经生物学之间的交叉学科。它在模式识别、图像处理、智能控制、组合优化、金融预测与管理、通信、机器人及专家系统等领域得到广泛的应用,有40多种神经网络模型被提出,其中比较著名的有感知机 [4] 、Hopfield网络 [5] 、Boltzmann机器 [6] 及反向传播网络(BP) [7] 等。

图2.1 分级的视觉系统

人工神经网络由神经元构成,一个神经元可以有一个或多个输入。神经元对这些输入进行加权求和,以及使用激活函数进行激活,所得结果作为该神经元的输出,如图2.2所示。假设某神经元有 n 个输入,将其表示为( x 1 x 2 ,…, x n ),那么该神经元的输出计算过程为

式中, w i 为输入 x i 对应的权重; b 为该神经元的偏置值; f (·)为激活函数,用来增加神经元的非线性,使其更能具有模拟真实人脑神经元的信息表达能力。

如果将多个神经元组合在一起,则能够构成一个包含输入层、隐藏层及输出层的神经网络模型。若使用指定的训练样本对其进行训练,则可以实现对该数据分布下样本的模拟,完成特定的功能。图2.3所示为由图2.2中三个神经元模型构成的神经网络模型,该模型的最终输出是所有神经元共同作用的结果。

然而,上述神经网络模型的各个神经元都是通过全连接的方式进行组合的,如果实际应用中需要多个神经元参与模型的构建,那么会导致模型训练过程中需要学习的参数数量非常多。一般情况下,在图像领域中图像的像素量都很多,这会导致计算量爆炸。例如,如果输入是一幅分辨率为10 3 像素×10 3 像素的图像,则每个神经元的权重系数的个数将达到10 3 ×10 3 。此外,若使用全连接层来对图像中的特征进行提取,那么图像中的结构特征很可能会被忽略,进而对模型的性能产生影响。

图2.2 神经元结构模型图

图2.3 神经网络模型

2.2.2 感知机

由ROSENBLATT F等人 [8] 提出的单层感知机(Perceptron)是人工神经网络研究领域的开山之作,其基本结构由输入层和输出层构成,输入层接收输入数据,输出层给出预测结果。计算过程如式(2.1)所示,具体而言,给定一组输入数据,如一组变量的输入数据 x =[ x 1 x 2 ,…, x n b ] T ,输入经过对应的一组神经元 w =[ w 1 w 2 ,…, w n ,1] T 处理并加入激活函数 f )之后获得对应的输出。

式中, w 为神经元对应的权重; x 为输入; b 为在输入之外额外添加了一个偏置项,偏置项是一个预先设置的常数,用来给予神经网络一个基础的激活量级。单层感知机实现了决策边界的非线性化,可以将线性不可分的数据进行分类。单层感知机示意图如图2.4所示。

图2.4 单层感知机示意图

单层感知机的不足是它只能解决线性可分问题,而无法处理线性不可分问题。这导致了它在实际应用中受限,因此后来的研究者们致力于发展更加复杂的神经网络结构,如全连接神经网络(Fully Connected Neural Network,FCNN),以解决这一问题 [8]

全连接神经网络是最简单的人工神经网络之一,也被称为多层感知机(MLP),神经元及全连接神经网络示意图如图2.5所示。全连接神经网络的基本结构神经元类似单层感知机,多个神经元组成一个全连接层,多个全连接层组成一个全连接神经网络。

全连接神经网络的核心思想是通过增加隐藏层的数量和神经元的数量来增加网络的深度和宽度,从而提高网络的表达能力和学习能力。全连接神经网络的优点是结构简单,易于实现,可以适用于多种类型的数据和任务。然而,全连接神经网络存在两个主要问题:参数数量巨大、计算复杂度高,导致训练时间长、容易过拟合。为了解决这些问题,卷积神经网络应运而生。卷积神经网络采用局部连接、权值共享和池化等技术,使得网络参数数量大幅度减少,计算复杂度降低,同时能更好地处理图像和视频等数据。

图2.5 神经元及全连接神经网络示意图

2.2.3 BP网络与反向传播算法

2.2.3.1 BP网络

BP(Back Propagation)网络是以Rinehart和McClelland [7] 为首的科学家小组于1986年提出的,是一种按照反向传播算法训练的多层网络,是目前应用最广泛的人工神经网络之一。BP网络能学习和储存大量的输入-输出模式映射关系,而不需要提前揭示映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权重和阈值,使网络的误差平方最小。BP网络模型拓扑结构包括输入层(Input layer)、隐藏层(Hide layer)和输出层(Output layer),如图2.6所示。其中,第一层区域相当于外界的刺激,是刺激的来源并且将刺激传递给神经元,因此命名为输入层。第二层区域表示神经元相互之间传递刺激,相当于人脑里面,因此命名为隐藏层。第三层区域表示神经元经过多层次相互传递后对外界的反应,因此命名为输出层。

图2.6 BP网络模型拓扑结构

简单的描述就是,输入层将刺激传递给隐藏层,隐藏层通过神经元之间联系的强度(权重)和传递规则(激活函数)将刺激传递给输出层,输出层整理隐藏层处理后的刺激产生最终结果。若有正确的结果,则将正确的结果和产生的结果进行比较,得到误差,再逆推对神经网络中的连接权重进行反馈修正,从而完成学习的过程,即运用向后反馈的学习机制,来修正神经网络中的权重,最终达到输出正确结果的目的。

2.2.3.2 反向传播算法

反向传播算法由数据流的前向计算(正向传播)和反向传播两个过程构成。正向传播时,传播方向为输入层-隐藏层-输出层,每层的神经元状态只能影响下一层神经元。正向传播的输出层得到最终的输出后,转向误差的反向传播计算。通过这两个过程的交替进行,在权重空间执行梯度下降策略,动态迭代搜索一组权重,使网络误差达到最小值,从而完成网络的训练过程。本节以图2.6所示的BP网络反向传播为例,介绍反向传播算法是如何进行参数优化的。

设输入层第 i 个神经元的输出为 o i ,则对于隐藏层第 j 个神经元来说,可将其输入表示为

隐藏层第 j 个神经元的输出为

对于输出层中的第 k 个神经元来说,其输入表示为

相应的输出为

式中, g =1/[1 + exp(- x+θ )]表示Sigmoid函数,且 θ 为阈值或偏置值。

BP网络的学习过程中误差反向传播是通过使一个目标函数(实际输出与希望输出之间的误差平方和)最小化来完成的,可以利用梯度下降法导出公式。接下来考虑BP网络的学习过程,用 t pk 表示第 k 个输出神经元的输出,用 o pk 表示实际的网络输出,那么可以得到的系统平均误差为

实际中为了便于计算略去下标 p ,因此上式可简化为

根据梯度下降法,权重的变化项Δ w kj ∂E / ∂w kj 之间满足正比关系,这里将其表示为

由式(2.7)和式(2.9)可知:

对于隐藏层神经元,上式表示为

这里,我们记

然而,不能直接对 的值进行相关计算,只能将它用参数的形式表示。具体表示为

因此,可以将各个权重系数调整量表示如下:

式中, δ k =( t k -o k o k (1- o k ); η 为学习率(或称为学习步长)。

在BP网络反向传播学习过程中,通过这种前向计算输出、反向传播误差的躲避迭代过程,可以使网络实际输出与训练样本所期望的输出之间的误差随着迭代次数的增加而减小,最终使该过程收敛到一组稳定的权重值。

在实际应用过程中,参数 η 的选取是影响算法收敛性质的一个重要因素。通常情况下,如果学习率 η 取值太大,权重的变化也会过大,算法的收敛速度会在一开始比较快,但可能会导致算法出现振荡,从而出现不能收敛或收敛很慢的情况。为了在增大学习率的同时不至于出现振荡,可以对权重更新法则进行优化,也就是在其右侧加入动量项,可表示为

式中, n +1代表第 n +1次迭代, n 是一个比例常数。该式说明在第 n +1次迭代中 w ji 的变化有部分类似于第 n 次迭代中的变化,也就是对其设置了一些惯性。动量项的设置可以抑制振荡的发生,但使学习率相应地降低。 bR+RQPXVkd3Z4jZP7fysPPADmzIRmVEamBRlr7/A9ronwNcxqe5iDcLqFr27ArWg

点击中间区域
呼出菜单
上一章
目录
下一章
×